I am trying to load images in nifti format in to Slicer and then export them into DICOM format. I could export images with DICOM module. However, after reloading the exported images back to Slicer, it seems that some bright regions in the original images are now displayed as dark (see below). How could this be fixed? Thanks!
These are original nifiti images and the display info shown in the volume module:
These are the exported dicom images (reloaded back to Slicer) and the display info shown in the volume module:
It could be that during the conversion (load NIFTI images and export with DICOM module), the UNSIGNED 16-bit pixels in NIFTI were interpreted as SIGNED 16-bit pixels in DICOM output.
Is there a way in 3D Slicer this property can be specified during exporting with DICOM module?
Probably the image export fails because the range is larger than 32767. Probably up to 65535 could be supported, but since scalar value range in medical images is usually a couple of thousand and not tens of thousands, this has not come up before. How this nifti image was generated? Probably you can just rescale its intensity range to a more sensible value, but if you have time then it would be nice if you could track down where the 32767 limit comes from.
Thanks, Andras, for the comments.
The images were from the Dixon sequence of a MRI scan for research purposes. As you hinted, I scaled the intensity range from the original Single 32-bit (but the actual intensity is in the range of about 0~65535) to Un-signed Integer 8-bit in Matlab, which seems to solve the problem (see below). However, the exported DICOM images are still in Signed 16-bit, which may have caused the issue I posted.
Is there a way to rescale the intensity range in Slicer?
You can use Simple Filters module’s RescaleIntensityImageFilter or IntensityWindowingImageFilter to rescale intensity range of an image.