To run interactive container code, you'll need to go to the Code Objects page, then fill out the run details.
Prerequisites
Create an Interactive Container code object before you complete these steps. See this article for more details: Creating New Interactive Container Code Object.
Running Interactive Container Container Code
To do this, complete the following steps.
- Go to the main project's page and select your project.
- Select Code from the menu on the left to open the Code Objects page.
- Select the Run button for the code object you'd like to run.
- In the Run Settings page, do the following.
- Specify the Input Dataset(s). This is one or more Datasets to be used as input to your Code Run. If multiple Datasets are selected, each will be run separately. If a Dataset happens to be a collaborator's Dataset, the code will be run on that collaborator's Rhino Client. In other words, the data never moves outside your collaborator's Rhino Client. Note that Interactive containers require Secure Access to be enabled on the input dataset. For more information about Secure Access, please refer to What is Secure Access?
- Add the Output Dataset Name Suffix. A suffix that is appended to the name of each input Dataset to define the name of the output Dataset that will be created during your Code Run.
- Indicate the Timeout in Seconds. The number of seconds that must elapse before a Code Run is automatically killed. This is to avoid zombie tasks that run perpetually within a Rhino client.
-
Specify the Run Parameters (Optional). Here you can paste a JSON object that defines additional parameters to be provided to your Code Run. This can be used for specifying hyper-parameters for model validation or any parameter provided to the code. Run parameters are made available to the container code in a file located at
/input/run_params.json
.
When you have completed adding all your Interactive Container Code Run details, click the Run button to run your code.
Running an iGC (Interactive Container)
Interactive Containers allow you to run entire containerized applications such as Jupyter Notebook (and not just containerized code) remotely and interact with them.
You can use Jupyter Notebook, QuPath, 3D Slider, R Studio and LibreOffice. R Studio and LibreOffice require more custom setup information: if you choose to use them, please contact us for help.
This is similar to connecting to a remote desktop, but you do not have the ability to exfiltrate any data. (This is governed by permissions policies, requires approval from the data owner, and is logged and auditable.)
To run an iGC, complete the following steps.
- In the Code Runs page, select a code run that has the row of type "iGC" and shows a status of "Running".
- Connect to the active session by clicking the icon.
- A new tab opens with the interactive session. This tab runs your Interactive Container on the remote client.
- Then click the desktop icon and interact with the application as you would normally. The following shows a single input, single output example, but if you want to include more inputs and outputs, see: How to access inputs/outputs in FCP?
-
- Save any files you wish to import back into the FCP under /output:
- If you wish to import a tabular file, save it as /output/dataset.csv
- If you wish to import file data, save your files under /output/file_data/. After you have saved all your files, click the desktop icon named Create Output Dataset. This will run a local script that looks for files under /output/file_data/ and populates a new /output/dataset.csv file with the file names so they can be imported as a Dataset.
- When you terminate the interactive session, the FCP will attempt to import the output Dataset defined in the /output/dataset.csv file. If you did not create this file, the Code Run will show an “Error: failure to import dataset” message.
Getting Help
If you have received an error or run into any issues throughout the process, please reach out to support@rhinohealth.com for more assistance.