Biomedical User Group Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

3D Reconstruction of DICOM Images

The 3D reconstruction of large data sets (in this case 287 CT Slices, 512*512 Voxels, Slice Thickness 1.5 mm, 16 bit unsigned) is not possible with 3D Image Reconstructor (Part of the Biomedical Workbench). The maximum number of CT Slices I could load is 80. I f I try to load more than 80 Slices, 3D Image Reconstructor  stops with a memory error (loadmemoryerror.png).

As you could see in "loadmemoryerror.png" the grayscale values of the DICOM image are also misinterpreted!

After I have loaded 50 slices and try to add Isosurface Plot 3D Image Reconstructor also stops with an error (error.png).

With LabVIEW and Vision tools I have developed a software (Maluna) for analysis of our Lung CT images (maluna.png). With the BMT VIs I wanted to add 3D capabilities to Maluna, but unfortunately it dont work.

May be its possible to work with 3rd party libraries in LabVIEW?

A very cool free Open Source software is 3DimViewer (3dimviewer.png). It loads the 287 CT slices in about several seconds and creates a very impressive 3D reconstruction of all the slices! Its really great! How is it possible that the 3DimViewer (or also other open source tools like Inversalius) could so fast reconstruct the 3D data from more than 250 2D slices?

Maybe the creation of the 3D Dataset is also processed with OpenGL directly on the GPU?

3DimViewer is also based on 3rd party libraries. i.e.:

- DCMTk Toolkit: Very huge Open Source Dicom library (C++) with tons of functions. http://dicom.offis.de/dcmtk

- OpenMesh. http://www.openmesh.org

- The OpenGL Extension Wrangler Library. http://glew.sourceforge.net

Does anyone has experiences in the integration of C ++ source code like DCMTk Toolkit in LabVIEW?

Best regards

Pete


0 Kudos
Message 1 of 12
(17,596 Views)

Hi Pete,

Thanks for letting us know this! Could you please share the test data with us? We could look into it.

Currently the 3D reconstruction algorithm is written in pure LabVIEW codes. It may have some underlying memery/performance issues. We are improving it continuously.

You could try to downsample your data if you are eager to use with 3D reconstructor.  In the config dialog, we have a control to downsample by 2/4/8.

For those third party libraries, you could load them into LabVIEW using Call Library Node.

Thanks again!

ZJ Gu

0 Kudos
Message 2 of 12
(9,232 Views)

Hi ZJ,

Here you will find some sample data:

https://decibel.ni.com/content/docs/DOC-29714

If I try to downsample the data by 4 or 8, this is of course possible, but the 3D image then has a poor resolution.

You write that "... currently the 3D reconstruction algorithm is written in pure LabVIEW codes!" ..."

Would it not be easier to use an open source library in LabVIEW. Particularly in the case of 3D reconstruction, these are standard libraries. Almost everyone uses this code. And they are especially free. What do you think? Otherwise you're going to reinvent the wheel, right?

The same applies to the import of different DICOM file formats. The DICOM Toolkit (DCMTK-Offis Institute of Oldenburg) is also open source and absolutely free even in commercial applications! DCMTK supports all DICOM formats and all DIMSE DICOM network services. Also a lot of commercial PACS and Dicom Viewer software uses this code. I think this is also interesting for the Biomedical Toolkit.

For me, its not easy to load these 3rd party libraries in LabVIEW, because they are very large and I have not a lot experience in calling shared libraries and working with CINs. But I think for the excellent programmers at National Instruments, it is easy to integrate these external libraries. Am I right?

Thanks and best Regards

Pete

0 Kudos
Message 3 of 12
(9,232 Views)

Hi Pete,

Thanks for your sampe data.  I notice it is several single slice instead of the whole stack. Is it possible for us to test the whole stack? That will give us direct feeling about the performance issue and facilitate debugging.

We are writing in G in order to show how to program in LabVIEW purely to implement image visualization. This is an example to LabVIEW learner/user. And we are sure LabVIEW could achieve acceptable performance after code improvement.

I agree that using these third party libraries would be faster in development. In the future release of Biomedical Toolkit, we may consider to integrate those third party and our own codes.

Thanks for your suggestions! We need customers like you .

ZJ Gu

Message 4 of 12
(9,232 Views)

Hi ZJ,

thanks!!

Here is a download link for the whole stack data:

http://www.mediafire.com/download/46gv14arakxwvzv/wholestack.zip

I hope it helps.

Pete

0 Kudos
Message 5 of 12
(9,232 Views)

Hi ZJ,

could you download the whole stack data?

Regards
Pete

0 Kudos
Message 6 of 12
(9,232 Views)

Hi Pete,

Yes, I can. Thanks very much. We are looking into the performance issue.

ZJ Gu

0 Kudos
Message 7 of 12
(9,232 Views)

Hi ZJ -

I would like to second PietH's suggestions.  It will be critical to utilize the best (speed and memory-optimized) tools available within the toolkit environment for the CT Data Visualizations as the size of data stacks routinely moves into the Gigabyte world, and as you develop the 64-bit version of the biomedical toolkit.  I am regularly working with 20 gigabyte CT stacks now.

Sincerely,

Don

Message 8 of 12
(9,232 Views)

Hi ZJ,

congratulations for the new BMT 2013! Now its possible to load also some compressed DICOM files and Multiframe Images. Great!

I have attached some DICOM images (2 US images, singleframe & multiframe, 1x CT and 1x PET image) which I could read with a Dicom toolkit but not with BMT.

Maybe its interesting for you.

http://www.mediafire.com/download/9h5af86dlebjsmw/DICOM-CompressedImageDATA.zip

Bestr regards

Peter

0 Kudos
Message 9 of 12
(9,232 Views)

hi  where can i download biomedical toolkit 2013 ? thanks

0 Kudos
Message 10 of 12
(9,232 Views)