Code Monkey home page Code Monkey logo

Comments (7)

cpinter avatar cpinter commented on June 22, 2024

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

  1. 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).
  2. 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.

cpinter avatar cpinter commented on June 22, 2024

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.

cpinter avatar cpinter commented on June 22, 2024

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.

cpinter avatar cpinter commented on June 22, 2024

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.

cpinter avatar cpinter commented on June 22, 2024

cae80e5
SlicerIGT/SlicerIGT@258d197
lassoan/SlicerElastix@9b0a159

from slicerrt.

cpinter avatar cpinter commented on June 22, 2024

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.

cpinter avatar cpinter commented on June 22, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.