output-ss-img file format
Hi all,
I want to use the functionality written at convert:
plastimatch convert
--input structures.dcm
--output-ss-img outfile.nrrd
--output-ss-list outfile.txt
--referenced-ct ../image-directory
So raster all the structures for the given CT, decoding each structure as a bit in a '32 bit space'. I tried several formats for the output image. Most end up with several planes (of uint8's). The help page to convert states it will make a uint32 image. Now, I can deal with the planes (in simpleitk), but not easy. Reading image, convert to numpy arrays, adding the planes, multiplying with 256, 65536, etc. Make an (sitk) image again, and correct grid info. Maybe this can be done simpler.
I also dug into the plastimatch code:
void Segmentation::save_ss_image (const std::string& ss_img_fn)
{
if (!d_ptr->m_ss_img) {
print_and_exit (
"Error: save_ss_image() tried to write a non-existant ss_img\n");
}
if (d_ptr->m_ss_img->m_type == PLM_IMG_TYPE_GPUIT_UCHAR_VEC
|| d_ptr->m_ss_img->m_type == PLM_IMG_TYPE_ITK_UCHAR_VEC)
{
/* Image type must be uchar vector */
d_ptr->m_ss_img->convert (PLM_IMG_TYPE_ITK_UCHAR_VEC);
}
else {
/* Image type must be uint32_t */
d_ptr->m_ss_img->convert (PLM_IMG_TYPE_ITK_ULONG);
}
d_ptr->m_ss_img->save_image (ss_img_fn);
}
There it discriminates whether to save to uchar vector or uint32. How can I persuade plastimatch to save in uint32?
Another question: Can I raster only on the given dicom ct, or can I also resample to a new grid at the same time (making e.g. a 1x1x1mm grid)
Thanks for your cooperation!