05-08-2013 08:44 AM
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
05-10-2013 05:00 AM
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
05-27-2013 03:07 AM
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
05-27-2013 03:19 AM
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
05-27-2013 08:06 AM
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
06-04-2013 01:07 AM
Hi ZJ,
could you download the whole stack data?
Regards
Pete
06-04-2013 01:42 AM
Hi Pete,
Yes, I can. Thanks very much. We are looking into the performance issue.
ZJ Gu
06-04-2013 06:44 AM
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
08-07-2013 09:08 AM
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
08-07-2013 10:40 AM
hi where can i download biomedical toolkit 2013 ? thanks