SlicerRt / SlicerRT

Open-source toolkit for radiation therapy research, an extension of 3D Slicer. Features include DICOM-RT import/export, dose volume histogram, dose accumulation, external beam planning (TPS), structure comparison and morphology, isodose line/surface generation, etc.
https://slicerrt.org
128 stars 60 forks source link

LANDWARP should export TPS as native transform #38

Open cpinter opened 7 years ago

cpinter commented 7 years ago

Currently the TPS (thin plate spline) transform is exported as a GridTransform. It could be instead exported as an ITK TPS, without rasterizing into a grid transform.

Migrated from https://app.assembla.com/spaces/slicerrt/tickets/779-landwarp-should-export-tps-as-native-transform/details

cpinter commented 7 years ago

Information from Andras:

You can pass any transform type if you don't specify the type attribute in the XML.

If you implement your transforms as VTK transforms then we can use them in Slicer (real time apply to any nodes, field visualization, inversion, etc). To be able to use ITK transform reader/writer for new transform types you don't have to implement the transform computation in ITK, just add a transform class derived from a similar transform (and - if you have additional parameters - override the get/set parameters methods). Everything else will work automatically, transform IO classes will read/write all the transform parameters and use your custom class name to identify the ITK object that has to be instantiated. Of course, it's even nicer if you implement computation methods in the ITK class, too.