Comments (7)
2014-12-02 17:39
Csaba Pinter
@WangK
The DICOM export branches have been integrated. You can see that the modules DicomRtImport and DicomRtExport have been merged to one called DicomRtImportExport, and the two logic classes were also merged quite simply. Can you please do the same for SRO imort/export too? Thanks!
2014-12-11 14:49
Csaba Pinter
Assigned to set to Kevin Wang
Status changed from New to Accepted
Implementation in two phases
1A. Select one study that contains the transform and two volumes. The SRO export plugin identifies the moving image because its parent is the transform, and the other volume will be the fixed image. Problem: a temporary study needs to be created just for export
1B. Select only the transform. The SRO plugin identifies the moving image because its parent is the transform, and pops up a dialog with a short message and single combobox to select the fixed image.
2. Multi-select nodes by checkboxes (or multi-select): Select the transform and two volumes. The SRO plugin does the same as in 1A, but the tree doesn't have to be reorganized. Problem: Checkboxes and multi-selection is not implemented.
I suggest doing 1A or 1B first (1B is probably better), then once I implemented the multi-selection or the checkboxes, go with option 2.
Export volumes from SRO plugin:
As one plugin needs to export all the objects that reference each other (so that the UIDs can be connected), the SRO plugin has to claim the volume nodes too for export, with a reasonable confidence (so that the SRO plugin has the higher combined confidence with a transform and two volumes, but ScalarVolume has higher confidence when choosing volumes only). So the SRO plugin has to export these volumes in one way or the other
- Call ScalarVolumePlugin::export() Any DICOM plugin can be accessed from python by its name, which is known. Problem: Need to know the series instance UIDs of the expored volumes (read the file back maybe? Not quite elegant).
- Call the Plastimatch exporter just as the RT plugin does.
2014-12-11 15:16
Kevin Wang
I think the current dicom export plugin mechanism needs a bit improvement. this dicom plugin framework works fine for import but not for export as during export all the UIDs have to be created using different plugins and exchanged to other plugins for reference.
I propose to have a more feature-rich dicom export module, in which the patient, study and series dicom modules can be created and all the UIDs are stored centrally. on the other side, we will have much leaner export plugin which takes the patient, study and series meta data generated by dicom export module and write out the specific dicom files.
I think it would be good to discuss this with @gregsharp and @pieper.
from slicerrt.
Questions:
- How does the exporter know which is the moving and which is fixed volume?
- It is also possible that the two are in separate studies, so finding the fixed volume could be hard without user intervention (which is problematic in the current DICOM export function)
- Do we export a relative transform between the two volumes?
from slicerrt.
To identify the volumes related to the registration, it would be needed to update the registration modules to add node references from the transform to the fixed and moving volumes. This involves adding CLI features so that BRAINSFit can do this as well.
from slicerrt.
For reference, related PRs:
Slicer/SlicerExecutionModel#109
Slicer/Slicer#1120
BRAINSia/BRAINSTools#426
Slicer commits:
Slicer/Slicer@4ad9ed1
Slicer/Slicer@62a9f9a
Slicer/Slicer@8301c8c
Slicer/Slicer@fea81f7
More commits to come in Elastix, SlicerIGT and SlicerRT.
from slicerrt.
cae80e5
SlicerIGT/SlicerIGT@258d197
lassoan/SlicerElastix@9b0a159
from slicerrt.
Information about SRO export of commercial software by Greg:
"In both Eclipse and MIM, the Registered RCS (i.e. Frame of Reference of the registration object) is set to the Frame of Reference of one of the images.
In the case of Eclipse, they require the Source RCS to have a different frame of reference from the Registered RCS. The Referenced Image Sequence attribute is omitted.
In MIM it is allowed for the Source RCS and Registered RCS to be the same. The Referenced Image Sequence attribute is used to identify which image objects within the Source RCS are being registered. This allows to register between images which belong to different series within the same frame of reference (e.g. 4D CT)."
from slicerrt.
DICOM export plugin is now added for SROs. The last missing piece is deformable SRO export, which will be addressed in #41
from slicerrt.
Related Issues (20)
- Fix Isodose module crash by using color legend instead of scalar bars HOT 1
- slicer RT make radiotherapy plan HOT 6
- Plastimatch failing to build with Cxx17
- Plastimatch changes for C++17 compilation under Linux and Mac HOT 4
- Update ExternalBeamPlanning module to use markup ROI instead of annotation ROI
- Allow loading user defined treatment machines in Room's Eye View HOT 41
- Compilation error in plastimatch because of redefinition of DirectionType HOT 2
- Isodose calculation replaces previously created isodose HOT 6
- Isodose model generation fails due to non-default FeatureAngle value HOT 9
- Non standard characters lost transferring to DICOM database
- RTSTRUCT not loaded Slicer5.2.2, SlicertRT from 02/22/23 HOT 2
- Set required DICOM reference between dose and CT HOT 2
- Fix patient support rotation angle to fixed reference HOT 1
- TROTS dataset HOT 11
- Resolving SlicerRT Module Issues HOT 4
- Fix Vff file loading with latest scanners
- SlicerRT Slicer extension is not working on mac HOT 13
- Axis scaling on DVH, or Dose step during DVH export HOT 4
- Images in Contributors page on Homepage are not showing HOT 1
- Add option in Room's Eye view for camera staying in the fixed system
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from slicerrt.