Login  Register

Re: what's the best way to process 3D image data in ImageJ

Posted by Thomas Boudier-3 on Jul 01, 2015; 3:15am
URL: http://imagej.273.s1.nabble.com/what-s-the-best-way-to-process-3D-image-data-in-ImageJ-tp5013349p5013373.html

Dear Shameem,

In my plugin ellipsoid fitting there is angles calculation, I did not
test it much but should work.

http://imagejdocu.tudor.lu/doku.php?id=plugin:analysis:3d_analysis:start

Best

Thomas

On 30/06/15 19:53, Shameem Sampath wrote:

> 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

--
   /***************************************************************/
      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