Project-MONAI / monai-deploy

MONAI Deploy aims to become the de-facto standard for developing, packaging, testing, deploying and running medical AI applications in clinical production.
Apache License 2.0
97 stars 22 forks source link

Create MONAI Application SDK #12

Closed ristoh closed 3 years ago

ristoh commented 3 years ago

Data scientists and developers should have an easy way to develop, debug and optimize Monai Applications easily from pytorch/MONAI models.

hshuaib90 commented 3 years ago

We should also capture a list of basic services/functions that the SDK/Server should provide e.g.:

ristoh commented 3 years ago

There's few components here:

  1. MONAI App SDK with the main goal of creating MAPs (MONAI Application Packages) and it gets run locally on a workstation environent
  2. MONAI App SDK should have the facilities to take valid DICOM (and other formats tbd cc @MMelQin ) as INPUT and produce valid DICOM as OUTPUT. FHIR and HL7 sounds like they're requirements, but should probably be out of scope from first version
  3. Monai App Server should be a completely different piece that serves those applications in staging or production and is connected to a PACS / DICOM system

@rahul-imaging @hshuaib90 comments?

hshuaib90 commented 3 years ago

There's few components here:

  1. MONAI App SDK with the main goal of creating MAPs (MONAI Application Packages) and it gets run locally on a workstation environent

Just for my clarity, is the purpose of this to enable local development and, as well, local execution e.g. for research?

  1. MONAI App SDK should have the facilities to take valid DICOM (and other formats tbd cc @MMelQin ) as INPUT and produce valid DICOM as OUTPUT. FHIR and HL7 sounds like they're requirements, but should probably be out of scope from first version

Agreed.

  1. Monai App Server should be a completely different piece that serves those applications in staging or production and is connected to a PACS / DICOM system

@rahul-imaging @hshuaib90 comments?

Agreed, although want to check this with @whoisj as I asked a similar question here: https://github.com/Project-MONAI/monai-deploy-experimental/pull/9#issuecomment-867194878

MMelQin commented 3 years ago

There's few components here:

  1. MONAI App SDK with the main goal of creating MAPs (MONAI Application Packages) and it gets run locally on a workstation environent

Just for my clarity, is the purpose of this to enable local development and, as well, local execution e.g. for research?

  1. MONAI App SDK should have the facilities to take valid DICOM (and other formats tbd cc @MMelQin ) as INPUT and produce valid DICOM as OUTPUT. FHIR and HL7 sounds like they're requirements, but should probably be out of scope from first version

Agreed.

  1. Monai App Server should be a completely different piece that serves those applications in staging or production and is connected to a PACS / DICOM system

@rahul-imaging @hshuaib90 comments?

Agreed, although want to check this with @whoisj as I asked a similar question here: #9 (comment)

Would definitely like to hear more about what the 'research' use case would be. We have considered the use cases for composing/building/testing/analyzing the apps (AI deploy app or traditional image processing) in local dev environment, and if the persona wants to run the as-built app to research/try out new algorithms, it is supported. If the persona wants to test out model training, then it could be something we'd want to further discuss.

hshuaib90 commented 3 years ago

Would definitely like to hear more about what the 'research' use case would be. We have considered the use cases for composing/building/testing/analyzing the apps (AI deploy app or traditional image processing) in local dev environment, and if the persona wants to run the as-built app to research/try out new algorithms, it is supported. If the persona wants to test out model training, then it could be something we'd want to further discuss.

I was just guessing that, potentially, users would want to share MAPs for the purpose of external validation. So I create a MAP and I want my colleague in a different institution to test it against data that they have. Because I've sent my model as a MAP it should make the whole process very straightforward.

whoisj commented 3 years ago

I was just guessing that, potentially, users would want to share MAPs for the purpose of external validation. So I create a MAP and I want my colleague in a different institution to test it against data that they have. Because I've sent my model as a MAP it should make the whole process very straightforward.

Given that a MAP is intended to be a single artifact and self-describing, I believe this should be as straight forward as pushing the MAP's container image to a repository you and your colleague can both access.

ristoh commented 3 years ago

Given that https://github.com/Project-MONAI/monai-deploy-app-sdk exists now, @hshuaib90 @whoisj are you ok if we close this ticket now?