Open Inventor can load DICOM data files directly. But it can be useful to convert the data to LDM format. LDM is Open Inventor's native file format for multi-resolution tiled image and volume data.
Open Inventor automatically manages image/volume data as tiles (blocks of data). This allows your application to display and interact with volume data even when there is not enough CPU or GPU memory to hold the complete full resolution volume. Other libraries may down-sample the data to make it fit in memory, but then always display the down sampled version of the data. Open Inventor creates a multi-resolution hierarchy of tiles. Full resolution data is always displayed if there is sufficient memory. But if the available memory is too small, Open Inventor will always display the highest resolution data possible and eventually will display the full resolution data when the user zooms in on a portion of the volume. (Tiles outside the view volume do not need to be retained in memory.) Open Inventor can automatically switch to lower resolution rendering while the user is interacting (for example moving the camera) in order to maintain interactive frame rate.
When DICOM (or other format) data is loaded directly, Open Inventor creates tiles "on the fly". One advantage of using the LDM file format is that all the tiles (full resolution and lower resolution) have been pre-created and can be loaded very quickly from the LDM data file. Another advantage of using the LDM file format is that, no matter how large the total data set is, a low resolution image can be displayed almost immediately. This gives the user of the application a much better experience because the application is always responsive instead of displaying a "loading" message. Another advantage of using the LDM file format is that the LDM header (an XML format file) stores useful information about the data set, for example the min/max values and the histogram, that is time consuming to recompute from the raw data.
This program is similar to the LDM converter examples in the standard Open Inventor SDK but customized for the DICOM file format. Differences include:
Usage:
Parameters:
syntax : medicalDICOM2LDM mydcmlist.lst -t <tilesize> -c <compressiontype> -l <compressionlevel> -s <averagesize> -o <outputldmfilename>
Example: medicalDICOM2LDM.exe OIVHOME%\src\Medical\data\dicomSample\listOfDicomFiles.dcm -s 8 -c gzip -l 5 -m 4096 -t 128 -o testLDM_128_gzip.ldm
Execute this program without any parameters to show the full help text.
Also see the documentation page for class SoConverter for more explanation.