On Mon, 21 Jan 2013, Alexey Ryabukhin wrote:
Here is a Java part:
public double[][] getArrayPixels()
{
double array[][] = new double[nx][ny];
int k = 0;
for(int j = 0; j < ny; j++)
{
for(int i = 0; i < nx; i++)
array[i][j] = pixels[k++];
}
return array;
}
public void putArrayPixels(double array[][])
{
int bx = array.length;
int by = array[0].length;
int k = 0;
for(int j = 0; j < by; j++)
{
for(int i = 0; i < bx; i++)
pixels[k++] = array[i][j];
}
}
Python part:
a = p.ImageAccess(5, 5).getArrayPixels()
print a
JArray<object>[<Object: [D@14efcb0>, <Object: [D@af8eaa>, <Object:
[D@1bf4061>, <Object: [D@11ba64d>, <Object: [D@432685>]
This part works fine, I can cast each object as JArray double
ijresize.ImageAccess(5, 5).putArrayPixels(a)
Produces error:
p.InvalidArgsError: (<type 'ImageAccess'>, 'putArrayPixels',
JArray<object>[<Object: [D@af8eaa>, <Object: [D@1bf4061>, <Object:
[D@11ba64d>, <Object: [D@432685>, <Object: [D@9609cc>])
The code parsing python parameter tuples didn't allow for nested arrays.
I added code to bypass array element checking when the array is in fact a
nested array and treat it as an array of java.lang.Object.
This is checked into rev 1437761 of pylucene trunk.
I modified your code to actually build and was able to pass a nested array
back and forth and examine its contents in both the Java and Python sides.
Andi..
2013/1/21 Andi Vajda <va...@apache.org>:
On Mon, 21 Jan 2013, Alexey Ryabukhin wrote:
I have a function in java code that returns double array[][].
In python I have this:
JArray<object>[<Object: [D@11ba64d>, <Object: [D@14efcb0>, <Object:
[D@432685>, <Object: [D@9609cc>, <Object: [D@5d62a4>]
Works fine.
But when I put it back to java it shows error:
self.putArrayPixels(self.getArrayPixels())
ijresize.InvalidArgsError: (<class '__main__.ia'>, 'putArrayPixels',
JArray<object>[<Object: [D@1869971>, <Object: [D@1c3cd93>, <Object:
[D@1ed790e>, <Object: [D@1a6bc76>, <Object: [D@19f1b1d>])
Is it possible somehow to do this?
I'm not sure I know what you mean. Could you please include a small Java
class + Python program that reproduces the problem ?
Thanks !
Andi..