-
Notifications
You must be signed in to change notification settings - Fork 53
DICOMSeriesSelectorOperator Improvements #542
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
DICOMSeriesSelectorOperator Improvements #542
Conversation
Signed-off-by: bluna301 <luna.bryanr@gmail.com>
Signed-off-by: bluna301 <luna.bryanr@gmail.com>
As discussed during MONAI Deploy App SDK meetings, it is possible that the value of the Production CT and MRI cases at CCHMC were investigated from the past year; very few cases (<1%) had alternate orientations. These orientations ( This PR was updated to explicitly define the supported One note - when testing CCHMC scans, there were a few series whose orientation was misidentified due to the presence of a Scout/Localizer image at the beginning of the series that was in a different orientation compared to the rest of the series. This is a limitation of this operator's code - because it is using a single SOP instance of the DICOM Series to extract the |
Signed-off-by: bluna301 <luna.bryanr@gmail.com>
|
Exclusion matching added for set types - For example, the following rules will select series that contain "PRIMARY" and not "SECONDARY" in the {
"name": "CT Series 5",
"conditions": {
"StudyDescription": "(.*?)",
"Modality": "(?i)CT",
"ImageType": ["PRIMARY", "!SECONDARY"]
}
} |
I checked out Review of Changes in Branch
|
Cursor also suggested the following improvements to address the new magic strings, but I think
3. Magic Numbers & Constants# Current:
tolerance = 1e-4
# Better:
class Constants:
GEOMETRIC_TOLERANCE = 1e-4
SUPPORTED_PATIENT_POSITIONS = ("HFP", "HFS", "HFDL", "HFDR", "FFP", "FFS", "FFDL", "FFDR")
ALLOWED_ORIENTATIONS = {"Axial", "Coronal", "Sagittal"} |
Following some requests from clinicians at CCHMC with regards to series selection, the following updates have been made to the
DICOMSeriesSelectorOperator
:ImageOrientationPatient
tag; the row and column cosines are used to compute the image orientation, which can be matched as Axial, Coronal, or Sagittal; logic is contained in the_match_image_orientation
helper method>
,>=
,<
,<=
,!=
) matching for numerical DICOM tags; previously, the only relational operator supported was for exact matching (==
)Additionally, the following cleanup was performed:
_match_numeric_condition
helper method