I’m trying to translate further, the “bfopen” which opens reader and then makes calls to “bfGetPlane”.

in “bfopen” I was able to get XYZCT dims of the data, which is encouraging:

```
sizeX = jcall(r, "getSizeX", jint, ())
sizeY = jcall(r, "getSizeY", jint, ())
sizeZ = jcall(r, "getSizeZ", jint, ())
sizeC = jcall(r, "getSizeC", jint, ())
sizeT = jcall(r, "getSizeT", jint, ())
```

but now stuck on functions with >2 input parameters in this block from “bfGetPlane” (tried to queue more parameters but that didn’t work):

```
% convert byte array to MATLAB image
if sgn
# % can get the data directly to a matrix
I = loci.common.DataTools.makeDataArray2D(plane, ...
bpp, fp, little, ip.Results.height);
else
# % get the data as a vector, either because makeDataArray2D
# % is not available, or we need a vector for typecast
I = loci.common.DataTools.makeDataArray(plane, ...
bpp, fp, little);
end
```

the stuff just before this excerpt looks OK:

```
pixelType = jcall(r, "getPixelType", jint, ())
bpp = jcall(JFormatTools,"getBytesPerPixel",jint, (jint,), pixelType)
fp = jcall(JFormatTools,"isFloatingPoint",jboolean, (jint,), pixelType)
sgn = jcall(JFormatTools,"isSigned",jboolean, (jint,), pixelType)
little = jcall(r, "isLittleEndian", jboolean, ())
plane = jcall(r, "openBytes", Array{jbyte, 1}, (jint,), iPlane)
```

hope it is all reconcilable.

…