Posted by
周鑫 on
Jun 29, 2015; 2:41pm
URL: http://imagej.273.s1.nabble.com/what-s-the-best-way-to-process-3D-image-data-in-ImageJ-tp5013349.html
Hi all,
I wonder what is the best way to process 3D image data in ImageJ.
More and more medical images are produced in 3D, such as CT, MRI series....
In imageJ, the commonly used way is ImageStack (I guess).
But after reading the StackProcessor and StackConverter, I have some questions:
1: it is important to switch the data between sagittal plane, coronal plane and transverse plane.
I know that "stacks -> orthogonal views" can show three views at the same time.
But from data processing point of view, sometimes we need to switch the whole stack from transverse view to sagittal views.
I means, in matlab, we can use "permute" or "shiftdim" to just change the order of dimensions.
In stackProcessor or stackConverter, I didn't find similar functions.
2: it is also important to do normalization of resolution.
For example, a commonly used function is to normalize the stack to be 1x1x1mm voxel.
In stackProcessor, there are "scale" and "resize", but non of them do z-axis interpolation. (They are just a loop of 2D resize)
So my question is: what's the difference between "scale" and "resize" ?
and what's the best way of doing normalization of resolution?
3: in 2D processing,we can use getFloatArray() to get the image in form of float[][]
in 3D prcessing, can we use getVoxels to get the image in form of float[][][] ?
Sorry if these questions are too basic.
Best regards, Zhou Xin
--
ImageJ mailing list:
http://imagej.nih.gov/ij/list.html