Skip to content
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

CCHMC Ped Abd CT Seg Example App #525

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

bluna301
Copy link
Contributor

@bluna301 bluna301 commented Feb 10, 2025

This MAP pipeline is based on the CCHMC Pediatric Abdominal CT Segmentation MONAI Bundle.

Some unique features of this MAP pipeline include:

  • Custom Inference Operator: custom AbdomenSegOperator enables either PyTorch or TorchScript model loading
  • DICOM Secondary Capture Output: custom DICOMSecondaryCaptureWriterOperator writes a DICOM SC with organ contours
  • Output Filtering: model produces Liver-Spleen-Pancreas segmentations, but seg visibility in the outputs (DICOM SEG, SC, SR) can be controlled in app.py
  • MONAI Deploy Express MongoDB Write: custom operators (MongoDBEntryCreatorOperator and MongoDBWriterOperator) allow for writing to the MongoDB database associated with MONAI Deploy Express

As described in the README.md, when executing the pipeline pythonically, a .env file that contains the relevant MongoDB connection information is recommended. However, I am unsure of the best way to implement this sensitive information into the MAP without hardcoding.

@bluna301 bluna301 changed the title CCHMC Ped Abd CT Seg Example App [WIP] CCHMC Ped Abd CT Seg Example App Feb 10, 2025
@bluna301 bluna301 changed the title [WIP] CCHMC Ped Abd CT Seg Example App CCHMC Ped Abd CT Seg Example App Feb 11, 2025
@bluna301 bluna301 requested review from MMelQin and vikashg February 11, 2025 04:50
@vikashg
Copy link
Collaborator

vikashg commented Feb 11, 2025

HI @bluna301, Thanks for the pull request. I will review it by the end of the week.

@bluna301
Copy link
Contributor Author

HI @bluna301, Thanks for the pull request. I will review it by the end of the week.

Thanks Vikash!

Signed-off-by: bluna301 <[email protected]>
"Modality": "(?i)CT",
"ImageType": ["PRIMARY", "ORIGINAL", "AXIAL"],
"SeriesDescription": "(?i)^(?!.*(cor|sag)).*$",
"SliceThickness": [3, 5]
Copy link
Collaborator

@MMelQin MMelQin Feb 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This range support looks good once we publish the next version of MD SDK package (as your PR had already been merged). In the meantime, the editable SDK with the recent code will be needed. Planning to do the next release of MD App SDK later in the month and bumping the version to 3.0, following the release of holoscan v3.0, but we can discuss if a minor 2.x version needs to be squeezed in.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great point Ming, I was weighing the same considerations when I was drafting the PR. If it's fine with you, I'm fine with waiting to merge this PR until App SDK V3.0.0 is released, so that we don't have to include most recent Series Selector Operator updates as a Python file within this example app. Let me know what you think.

@MMelQin
Copy link
Collaborator

MMelQin commented Feb 13, 2025

Another thing worth mentioning is that there are more advanced operator execution conditions and soon dynamic workflow support in the SDK, which can be used for conditional inclusion and execution of some branches of the workflow, e.g. the Mongo DB integration. Examples of their use are not in the repo yet, and we can think about adding such in the next version of this app.

@bluna301
Copy link
Contributor Author

@MMelQin thanks for your review. Your latest PR with the typo, formatting, and other fixes has been pulled in. I have addressed the spelling and dependency concerns you highlighted in your code review in my latest commit.

I am fine with waiting to merge this PR until after v3.0.0 of App SDK is released so that users will have access to the updated DICOM Series Selector range matching. Also happy to explore implementing the dynamic workflow support for the MongoDB write in a future version of this example app after holoscan v3.0.0 is available.

Signed-off-by: bluna301 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants