In the Rhino FCP, a Code Object is the basic computational building block of a project. A Code Object can be as simple as a single line of Python code intended to run on a single input Dataset, and as arbitrarily complex as a fully custom pipeline for federated training across multiple sites.
Key Use-Cases for Code Objects on the FCP
-
Data Transformation: This is the most common use for Code Objects in the FCP—as a tool for pre-processing and harmonization of distributed datasets.
- Federated Training: Once your data is harmonized, you can use NVIDIA's FLARE framework to train ML models with federated training across the distributed data in your project.
-
Application of 3rd party software: Open-source tools that can be containerized can be run securely on the FCP as a Code Object, which can be especially useful for very specific uses (e.g., image annotation with 3D Slicer or QuPath, direct interaction with data via Jupyter Notebook, and others).
Note: This capability requires permission to directly access case-level data. This is only possible for data belonging to your workgroup and Secure Access Lists shared with you by your collaborators.
What are the different Code Object types, and which should I use?
When defining your Code Object, you will need to select a Code Object type based on the code you will be running:
- For running Python code, use the Python Code option (See more details here).
- For code that utilizes a pre-built container image with non-interactive code, use the Generalized Compute Code Object type (See more details here)
- To run a pre-built container image that provides an interactive interface, use the Interactive Container option (See more details here).
- For federated training, use the NVIDIA FLARE option (See more details here).
Learn more:
- Create a New Code Object Version
- View a Code Object's Configuration
- Trigger a Code Run
- Remove a Code Object Version