BMMR2: Breast Multiparametric MRI for prediction of NAC Response Forum

Go back to competition Back to thread list Post in this thread

> segmentation/masks slices vs DWI slices


I've noticed that the segmentations and masks are not aligned with DWI -
I checked a few cases manually and saw that the number of segmentation/mask slices is lower than the number of DWI slices, e.g. case 179639.

How do I align them together? Should I use the "Image Position (Patient)" tag?

Thank you

Posted by: mayagilad @ July 18, 2021, 10:02 a.m.

Hi Maya:
We do not store completely blank slices for the segmentations (unless they are “embedded” between non-blank slices) since that seems a waste of space.
The 3D SEG objects should be encoded so a reading program applies them on the correct slice(s) – but I must admit that we generate these objects, I believe per the correct DICOM rules, but we don’t actually use them in our research. So I can’t help a lot with them. The slices that are included in these objects are described in the “PerFrameFunctionalGroupsSequence”:
(5200,9230) SQ (Sequence with explicit length #=2) # 348, 1 PerFrameFunctionalGroupsSequence

For each slice in the 3D SEG object that includes the position reference in “PlanePositionSequence” which has the image position:
(0020,9113) SQ (Sequence with explicit length #=1) # 62, 1 PlanePositionSequence
(0020,0032) DS [-161.7107961178\-145.9660787582\-21.8136749268] # 46, 3 ImagePositionPatient

Since all images are axial you should be able to match the 3rd number with the image positions in the original images.

It may be easier to use the masks stored in the x9000 series (the SEG objects are in x9001). These masks are just stored as normal 2D MRI image objects. so the image position;

(0020,0032) DS [-161.7107961178\-145.9660787582\-21.8136749268] # 46, 3 ImagePositionPatient

should match that in any of the other original or derived images from the DWI series.

Note you can NOT use the DICOM SliceLocation tag (0020,1041) since this is reset to an arbitrary reference position with each series. Sorry about that!

Finally – there is the InstanceNumber field:
(0020,0013) IS [14] # 2, 1 InstanceNumber
I _think_ this matches up with the appropriate slice image from the ADC map or the 1st volume (b=0) of the trace or original series images.

Hope this is helpful. Let me know if you have any more questions.

best regards,

Posted by: Newitt @ Aug. 2, 2021, 6:16 p.m.

This question and answer is helpful for us too: thank you both!

We also work in Matlab so the mask series for DWI is easier than reading in a DSO. Based on this answer and looking at what loads into Osirix, is it correct to guess that there is only a binary mask for the manually segmented DWI ROI? In other words- there is no mask (or DSO) for the functional-generated DCE-MRI segmentation, would an equivalent mask contain all the non-zero voxels in the SER maps, including those that make the threshold well outside the DWI segmented ROI?


Posted by: jcdicarlo @ Aug. 10, 2021, 7:44 p.m.

Hi Julie:
There is no 0/1 mask segmentation for the DCE. If you generate an (SER > 0.0) mask it will be defined on the whole image - so that still doesn't correspond to the FTV (functional tumor volume) which is our primary endpoint, you need to limit it to the manually defined VOI. the coordinates for that 3D rectangle are in the headers, both in patient coordinates and pixel coordinates. If using the latter make sure to be careful to check that the slice direction is not swapped.
The segmentation we do provide is the "Analysis mask" in the series ending 1900. This is.a 3D SEG object which encodes all the filtering steps that lead to the FTV. If you take all points where this mask is 0 you get the FTV segmentation. This is described on the wiki page under "Detailed Description":
There is also a document you can download there describing the analysis mask use.

Hope that is helpful. Sorry we didn't provide the full mask; things just got too big!

Posted by: Newitt @ Aug. 10, 2021, 11:17 p.m.

Hi David, Got it, thank you! I appreciate your quick reply: this is really helpful. I did find the Analysis mask files; I realized that Osirix just skips the SEG files when loading. Thanks for pointing me to the 1900 analysis mask; this makes a lot of sense now! And I can understand how it all got too big from the loading we've done so far. :)
Best regards, Julie

Posted by: jcdicarlo @ Aug. 11, 2021, 12:20 a.m.
Post in this thread