What is Rodan?

Rodan is a workflow manager with various OMR and analysis jobs. It can be used to run individual stages of the OMR process and automated combinations thereof. There are two main parts to it: the backend that runs the jobs and the client that the user interacts with. As a user of Rodan, the most important aspect is the client, however there are parts of the backend that are useful to understand to help make using Rodan easier.

Basic Concepts

  • Resource - A resource is a file (image, classification model, MEI file, etc.) with an associated file type and possibly associated tags. The resource file may already exist or be a placeholder for a resource that will be created by the job.
  • Project - A project in Rodan is a named group of resources, workflows, workflow runs, and run jobs on the Rodan server.
  • Job - A job represents a Rodan job or task that takes resources as inputs and produces resources as outputs. It may or may not be interactive (requiring user input).
    • Note that a run job is an instance of a job with specific assigned inputs, outputs, and settings.
  • Workflow - A workflow is a directed acyclic graph describing a sequence of jobs as nodes and resources passed between them from output to input ports as edges.
    • A workflow run is an instance of a workflow with assigned resources to input ports

Normal Steps to Use Rodan

  1. Upload starting resources. Ensure that the correct file type is detected for each resource (this is important!).
  2. Tag resources if you want.
  3. Create a workflow. Make sure to add/remove ports as necessary and update job settings. Give the workflow a useful name.
  4. Assign resources to input ports. Use the filters to find specific resources.
    • If more than one resource is assigned to one input port, then the workflow will run twice, one run with each input.
    • If more than one resource is assigned to many input ports, then the workflow will run multiple times using the nth input in the list for each input port.
  5. Start the workflow.
  6. Provide user input for interactive jobs. This is necessary when a run job’s status is “waiting for user input.”
  7. Check and download output resources.

Extra Notes on Rodan Usage

Running the Same Workflow with Different Resources

Often a user will want to run the same jobs in the same order, but on different resources. Typically this would come when all the resources needed to run the OMR process exist and many pages of a manuscript need to be encoded. There are two different ways to start multiple instances of the same workflow with different resources:

  1. If only one input port’s resource changes between runs, multiple resources can be assigned to it. Workflow runs will be spawned with each of the different resources assigned to that input port.
  2. If multiple input ports’ resources change between runs, then the resources for each run must be assigned to the input ports. The same number of resources must be assigned to each input port that has more than one resource assigned and the nth resource of each port will be in the same workflow run.
    • For resources that should be kept the same between jobs, just assign one resource to the input port. It will be used in all the workflow runs generated.

Deleting Resources Generated by Rodan

Resources generated by rodan (these are, resources associated to a workflow run) can only be deleted by first deleting the workflow run and then proceeding to delete the associated resources.