http://imagej.273.s1.nabble.com/what-s-the-best-way-to-process-3D-image-data-in-ImageJ-tp5013349p5013358.html
Coincidentally, I have a related query regarding analysing CAT scan Dicom images of knees in ImageJ.
> On 30 Jun 2015, at 04:52, Thomas Boudier <
[hidden email]> wrote:
>
> Dear Zhou Xin,
>
> Yes ImageJ is not very developer-friendly for 3D processing. I released a basic tutorial for 3D in ImageJ years ago, it may be a bit outdated but give basic notions :
>
>
http://imagejdocu.tudor.lu/doku.php?id=tutorial:working:3d_image_processing_and_analysis_with_imagej>
> The guys from ImageJ2 did a great job in redesigning image format for multidimensional images, in the imglib2 library :
>
>
http://fiji.sc/ImgLib2>
> I did not have the time to dig into this library, because I use my own library ;)
>
>
http://imagejdocu.tudor.lu/doku.php?id=plugin:stacks:3d_ij_suite:start>
> In ImageJ there is the function getVoxels from ImageStack, it is noted "experimental" but works well I think.
>
> Here some information, hope this helps.
>
> Best
>
> Thomas
>
>
>> On 29/06/15 22:41, 周鑫 wrote:
>> 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>>
>> --
>> /***************************************************************/
>> Thomas Boudier, Associate Professor, UPMC,
>> Université Pierre et Marie Curie, Paris, France.
>> BioInformatics Institute (BII)/IPAL, Singapore.
>> /**************************************************************/
>
> --
> ImageJ mailing list:
http://imagej.nih.gov/ij/list.html