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>])

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..

Reply via email to