Creating ROI from Structure

I want to use Registration QA to find Inverce consistency and Jacobian.
I wanted to set the RTstructure to ROI, but I could not.
When I set the segment to model, I could set the model to ROI. (Fig1) However, when I change the ROI, the value is the same. (Fig2.3)
If there is a way to create an ROI from a RTstructure, please let me know.

I’m not sure if RegistrationQA developers read the Slicer forum. If you don’t get answer here then you can post an issue to the extension’s repository.

1 Like

Thank you for your answer.
I’ve posted to the SlicerRT Git you gave me.
I have looked at various posts about ROI and I was wondering if it is possible to create ROIs from contours or complex ROIs like contours. In my current situation, I can only create a rectangular ROI.

You can create arbitrary shaped “region of interest” using Segment Editor.

I would like to ask a question again.
I created an ROI using the Segment Editor, but it could not be used as an ROI in RegistrationQA, which I consulted before. So I tried to create a complex ROI like the red segment using Fig’s ROI tool and MarkupsCurve, but it did not work. Is it possible to create complex shapes with these tools?

Developer of this extension is not active anymore here or on github, so most likely he will not be able to help you.

However, I’ve just tried the latest Slicer Preview Release and you can choose to compute statistics in an arbitrary segment, by right-clicking on the segmentation node and choosing Registration QA → Assign node to → Contour → Reference phase or Moving phase.

Thank you for your answer. In addition, I would like to ask you questions.
・If Stable Release will be released soon, I would like to use Stable Release instead of Preview Release, does the next Stable Release correspond to Preview Release(version4.13.0)?
・In Preview Release (version 4.13.0), were you able to specify any segment in the Reference phase or Moving phase without specifying an ROI, and calculate each indicator (Inverse consistency, Jacobian determinant) in that segment?
I’m sorry for my poor English. It would be great if you could answer.

A new Slicer Stable Release was created 2 weeks ago. It has the same features as the Slicer preview release (in these 2 weeks we made some internal infrastructure changes and minor fixes and improvements).

RegistrationQA works exactly the same way in both the stable and preview releases. You can either specify a ROI (box shaped region) or a segment (arbitrary shape region) to compute the statistics.

You can also use Inverse consistency and Jacobian determinant modules to get the metric values as 3D volume then use Segment Statistics module to get statistics per segment.

Thank you for your answer.
I am using the version of the slicer that was released on Feb. 26 for windows.
When I specified the segments as you taught me before (Fig1), all segments took the same value.
Fig2 shows the table.

When I click on “Create ROI around segments” to specify the segments, the ROI is created, but it is a rectangle. (Fig3)

If there is anything wrong with my procedure, please let me know.

As far as I remember, I’ve read in the module documentation that only one segment is supported. If you want to analyze multiple segments at once, you can compute the metric for the complete volume using RegistrationQA and then use Segment Statistics module to get average metric value in each segment.

In Slicer terms, ROI is a box-shaped region.

Thank you for your answer.
I am going to use the segment statics module to find Inverse Consistency, etc. as you suggested.
I have created a Displacement Field using Registration Quality Assurance and moved it to Segment Statics. However, when I used the segment statics module, the result was as shown in Fig. 1, and the value could not be obtained. I selected Scalar Volume Statics because Scalar Volume Statics had the average of the values and so on, but I could only get the values for the closed surface statics.

Is there any reason for the failure?

Statistics can be only computed for scalar volume, not for vector volume. Instead of computing statistics for the displacement field, compute statistics for the metrics (inverse consistency, Jacobian determinant, etc.).

Thank you for your answer.
I checked the data, and both Displacement Field-invConsist and Displacement Field-jacobian are scalar volumes.However, statistics could not be obtained.

They need to be single-component scalar volumes. If they are then scalar volume statistics work. If not, then you can save the scene as .mrb, upload to somewhere (dropbox, onedrive, google drive, …), post the link here, and we’ll have a look.

Here is a link to Dropbox. Please check it out. mrb files contain data other than scalar volumes, but please be patient.

(scalar volume)

I’ll add a note.
I also tried another method.
I tried to create a vector field using Registration>Quality Assurance>Inverse Consistency, Jacobian Filter, convert the created vector field to a scalar volume using the Vector to Scalar Volume module, and then calculate the statistics using Segment Statistics.
However the result was as shown in the image and could not be calculated.