XNAT-OHIF: importing ROI from other scans

139 views
Skip to first unread message

Sara

unread,
Nov 30, 2020, 3:34:29 AM11/30/20
to xnat_discussion
Hi all,

Hope you are doing great!
We would like to use our XNAT instance and in particular the XNAT-OHIF plugin to draw ROIs and do some simple statistics.
We have drawn multiple ROIs on a single scan.
We would like to use the same ROIs in other scans of the same subject.
Is there a way to import the ROIs drawn on scan number 3 to the scan number 4?

Thanks!
Best,
Sara

Simon Doran

unread,
Nov 30, 2020, 6:40:20 PM11/30/20
to xnat_discussion
Hi Sarah,

  This is something that the team developing the OHIF viewer integration within XNAT is currently working on. This functionality might not make it into the next release - which is now in beta - but should make it into an update relatively soon after that if all goes well.

  Best wishes,

Simon

Sara

unread,
Dec 1, 2020, 4:17:42 AM12/1/20
to xnat_discussion
Hi Simon,

thank you for your quick reply.
That's a good news!
I would like to ask you some related questions.
How the ROI is linked to the scan number?
As a workaround solution, would it be reasonable to replace this entry in the AIM XML file - I assume?
I am wondering whether it is possibile to create a pipeline that can duplicate the ROI drawn on scan 3 and copy it on scan 4, for instance.
Do you think it is a feasible solution?

Many thanks,
Best,
S

James d'Arcy

unread,
Dec 1, 2020, 11:12:07 AM12/1/20
to xnat_discussion
Hi Sara

The ROIs aren't linked to the scan number directly as the scan, like the session, is an XNAT concept not a DICOM concept. They're linked to the images they refer to by the DICOM study, series and SOP instance UIDs of those images. The viewer matches ROIs to scans by the series UID of the scan and to the images by their SOP instance UID.

Creating a new ROI collection is perfectly possible but could be far from simple. Scan 3 and scan 4 could have different image matrices, Image Position Patient, Image Orientation Patient, Pixel Spacing, Slice Thickness or some combination of all these. Assuming you were able to correctly account for all these and get the contours in the correct place in 3D space and referencing the correct images, you would need to create a completely new AIM XML file or RT-STRUCT file as both of these have UIDs of their own (and other internal details) that must be set appropriately. Finally you would need to upload the new ROI collection via the plugin's REST API rather than directly manipulating the filesystem as the ROI collection metadata needs to be properly inserted into the database. It is not a find-and-replace operation in the AIM XML. If it was, it would be implemented already!

I don't know enough about pipelines to say if this is feasible or not.

ttfn

James

Reply all
Reply to author
Forward
0 new messages