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

Add option in Room's Eye view for camera staying in the fixed system #246

Closed cpinter closed 1 week ago

cpinter commented 4 months ago

In SlicerRT, the reference coordinate system is the patient instead of the fixed system that the IEC standard defines. This results in the linac body moving when we change table top parameters, instead of the table moving. This is fine in Slicer, because the center of any workflow is the patient. However, it would be useful to add a mode in which the camera is moved dynamically in a way that the Fixed system stays still when such transformations are applied that move it.

MichaelColonel commented 2 months ago

It should be a fixed camera, or user can change position and orientation of camera in FixedReference frame?

cpinter commented 2 months ago

Sorry I don't understand the question. In any case this was the key point in my suggestion: "add a mode in which the camera is moved dynamically in a way that the Fixed system stays still when such transformations are applied that move it"

MichaelColonel commented 2 months ago

Of course camera position will observe (or follow) fixed system transform in order to update camera orientation so it will stay still within fixed system. I mean it should be a one camera within fixed system (predefined), or user will define initial position of the camera?

cpinter commented 1 month ago

I don't think any definition is needed, the current camera, whatever it is, can be used. When the user changes the patient support rotation angle, for example, the REV module should rotate the camera accordingly.

ferdymercury commented 1 week ago

This is awesome, thanks @MichaelColonel for the implementation. I guess this issue can now be closed?