-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add ability to retrieve ROI names in a case insensitive way #47
base: main
Are you sure you want to change the base?
add ability to retrieve ROI names in a case insensitive way #47
Conversation
issue targeted by the PR: link |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this @raffaelespinoni!
@asim-shrestha this LGTM! I added a couple tests for this, one of which is currently failing until my comment below is resolved (NPE issue).
rt_utils/rtstruct.py
Outdated
@@ -106,7 +106,7 @@ def get_roi_mask_by_name(self, name) -> np.ndarray: | |||
""" | |||
|
|||
for structure_roi in self.ds.StructureSetROISequence: | |||
if structure_roi.ROIName == name: | |||
if structure_roi.ROIName.casefold() == name.casefold(): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
def get_roi_mask_by_name(self, name: str) -> np.ndarray:
"""
Returns the 3D binary mask of the ROI with the given input name
"""
name = name.casefold() if type(name) is str else name
for structure_roi in self.ds.StructureSetROISequence:
if structure_roi.ROIName.casefold() == name:
contour_sequence = ds_helper.get_contour_sequence_by_roi_number(
self.ds, structure_roi.ROINumber
)
return image_helper.create_series_mask_from_contour_sequence(
self.series_data, contour_sequence
)
raise RTStruct.ROIException(f"ROI of name `{name}` does not exist in RTStruct")
It may be safer to check that name
is not none before calling .casefold()
as shown above.
We should make this an optional function in get_roi instead of the default. I imagine there may be other existing rt_structs that are sensitive in regards to naming. Do we know if thats allowed by the dicom standards? |
@asim-shrestha thoughts on either merging this or closing? |
No description provided.