http://imagej.273.s1.nabble.com/what-s-the-best-way-to-process-3D-image-data-in-ImageJ-tp5013349p5013373.html
test it much but should work.
> Hi List,
> Coincidentally, I have a related query regarding analysing CAT scan Dicom images of knees in ImageJ.
> Is there a way to measure trabecular orientation in the xyz planes?
> Regards,
> Shameem Sampath
> The Bluespot Knee Clinic
>
>
>> 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> --
> ImageJ mailing list:
http://imagej.nih.gov/ij/list.html Université Pierre et Marie Curie, Paris, France.
BioInformatics Institute (BII)/IPAL, Singapore.