Slicer3:Pipeline Integration

From NAMIC Wiki
Revision as of 13:42, 18 December 2006 by Andy (talk | contribs) (Update from Wiki)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Home < Slicer3:Pipeline Integration
  1. The main features of the project
    1. http://pipeline.loni.ucla.edu
  2. The main outstanding questions that must be answered before you can complete the project (or even start)
    1. Pipeline -> Slicer3
      1. Once the API for submission to Slicer3 is released, we can integrate it into the Pipeline.
    2. Slicer3 -> Pipeline
      1. Current Status
        1. We have some code that allows any external application to start an instance of Pipeline and submit workflows.
        2. Implement a JSON Interface to the pipeline that allows external applications to get a JSON parametric-description of submitted pipelines
        3. Example usage: java -jar pipeline.jar -json MultiModalityRigidRegistration.module - The list of parameters in JSON format -
                   {"parameters":[
                                  {
                                   "phantom":"false",
                                   "optional":"false",
                                   "connection-type":"",
                                   "class-type":"Command Line Option",
                                   "name":"ResolutionLevel"
                                  },
                                  {
                                   "phantom":"false",
                                   "optional":"false",
                                   "connection-type":"",
                                   "class-type":"Command Line Option",
                                   "name":"QualityLevel"
                                  },
                                  {
                                   "phantom":"false",
                                   "optional":"false",
                                   "connection-type":"input",
                                   "class-type":"File",
                                   "name":"FixedImage"
                                  },
                                  {
                                   "phantom":"false",
                                   "optional":"false",
                                   "connection-type":"output",
                                   "class-type":"File",
                                   "name":"OutputTransform"
                                  },
                                  {
                                   "phantom":"false",
                                   "optional":"false",
                                   "connection-type":"input",
                                   "class-type":"File",
                                   "name":"MovingImage"
                                  },
                                  {
                                   "phantom":"false",
                                   "optional":"false",
                                   "connection-type":"input",
                                   "class-type":"File",
                                   "name":"InputTransform"
                                  }
                                 ]
                   }
  1. This JSON description can be then used to bind values to parameters and then submit the pipeline for

execution -

  1. The XML representation is given below:


<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#">
  <owl:Ontology>
    <owl:versionInfo><![CDATA[20050412]]></owl:versionInfo>
    <rdfs:label locale="en" />
    <rdfs:comment locale="en" />
  </owl:Ontology>
  <FunctionPipeline rdf:ID="1118265959469">
    <rdfs:label locale="en"><![CDATA[MultiModalityRigidRegistration pipeline function]]></rdfs:label>
    <rdfs:comment locale="en"><![CDATA[MultiModalityRigidRegistration (Programmers Week)]]></rdfs:comment>
    <Assign rdf:ID="11182659594690">
      <owl:allValuesFrom rdf:resource="1118265959620" />
      <rdfs:label locale="en"><![CDATA[11182659594690]]></rdfs:label>
    </Assign>
    <GUI>
      <rdfs:label locale="en" />
      <rdfs:comment locale="en" />
    </GUI>
  </FunctionPipeline>
  <Module rdf:ID="1118265959469:1118265959586" rdf:resource="1118265959469">
    <rdfs:label locale="en"><![CDATA[MultiModalityRigidRegistration pipeline]]></rdfs:label>
    <rdfs:comment locale="en"><![CDATA[MultiModalityRigidRegistration (Programmers Week)]]></rdfs:comment>
    <Module rdf:ID="1118265959620:1118265959625" rdf:resource="11182659594690">
      <rdfs:label locale="en"><![CDATA[MultiModalityRigidRegistration]]></rdfs:label>
      <rdfs:comment locale="en"><![CDATA[MultiModalityRigidRegistration (Programmers Week)]]></rdfs:comment>
      <GUI x="196" y="171">
        <rdfs:label locale="en" />
        <rdfs:comment locale="en" />
      </GUI>
      <Assign rdf:resource="Parameter1118266141102">
        <owl:allValuesFrom rdf:resource="File:1118266118686" />
        <rdfs:label locale="en" />
      </Assign>
      <Assign rdf:resource="Parameter1118266282720">
        <owl:allValuesFrom rdf:resource="File:1118266266201" />
        <rdfs:label locale="en" />
      </Assign>
      <Assign rdf:resource="Parameter1118266397117">
        <owl:allValuesFrom rdf:resource="File:1118266372629" />
        <rdfs:label locale="en" />
      </Assign>
      <Assign rdf:resource="Parameter1118266521616">
        <owl:allValuesFrom rdf:resource="CommandLineOption:1118266435955" />
        <rdfs:label locale="en" />
      </Assign>
      <Assign rdf:resource="Parameter1118266541544">
        <owl:allValuesFrom rdf:resource="CommandLineOption:1118266461834" />
        <rdfs:label locale="en" />
      </Assign>
      <Assign rdf:resource="Parameter1118266740529">
        <owl:allValuesFrom rdf:resource="File:1118266713458" />
        <rdfs:label locale="en" />
      </Assign>
    </Module>
  </Module>
  <ExecutableFile rdf:ID="1118265959620" url="pipeline://localhost//home/jrajendi/ProgrammersWeek/ItkGridPipeline/testdir/grid-reg/MultiModalityRigidRegistration">
    <rdfs:label locale="en"><![CDATA[MultiModalityRigidRegistration function]]></rdfs:label>
    <rdfs:comment locale="en"><![CDATA[MultiModalityRigidRegistration (Programmers Week)]]></rdfs:comment>
    <GUI>
      <rdfs:label locale="en" />
      <rdfs:comment locale="en" />
    </GUI>
    <Parameter rdf:ID="Parameter1118266141102" connectionType="input">
      <rdfs:label locale="en"><![CDATA[FixedImage]]></rdfs:label>
      <rdfs:comment locale="en"><![CDATA[Fixed Image parameter]]></rdfs:comment>
      <rdf:type rdf:resource="File" />
    </Parameter>
    <Parameter rdf:ID="Parameter1118266282720" connectionType="input">
      <rdfs:label locale="en"><![CDATA[MovingImage]]></rdfs:label>
      <rdfs:comment locale="en"><![CDATA[moving image parameter]]></rdfs:comment>
      <rdf:type rdf:resource="File" />
    </Parameter>
    <Parameter rdf:ID="Parameter1118266397117" connectionType="input">
      <rdfs:label locale="en"><![CDATA[InputTransform]]></rdfs:label>
      <rdfs:comment locale="en"><![CDATA[input transform parameter]]></rdfs:comment>
      <rdf:type rdf:resource="File" />
    </Parameter>
    <Parameter rdf:ID="Parameter1118266521616" connectionType="">
      <rdfs:label locale="en"><![CDATA[ResolutionLevel]]></rdfs:label>
      <rdfs:comment locale="en"><![CDATA[resolutionlevel parameter]]></rdfs:comment>
      <rdf:type rdf:resource="CommandLineOption" />
    </Parameter>
    <Parameter rdf:ID="Parameter1118266541544" connectionType="">
      <rdfs:label locale="en"><![CDATA[QualityLevel]]></rdfs:label>
      <rdfs:comment locale="en"><![CDATA[Quality level]]></rdfs:comment>
      <rdf:type rdf:resource="CommandLineOption" />
    </Parameter>
    <Parameter rdf:ID="Parameter1118266740529" connectionType="output">
      <rdfs:label locale="en"><![CDATA[OutputTransform]]></rdfs:label>
      <rdfs:comment locale="en"><![CDATA[output transform file]]></rdfs:comment>
      <rdf:type rdf:resource="File" />
    </Parameter>
  </ExecutableFile>
  <CommandLineOption rdf:ID="CommandLineOption:1118266044377">
    <Values>
      <Value>
        <string><![CDATA[pipeline://localhost//home/jrajendi/ProgrammersWeek/ItkGridPipeline/testdir/grid-reg/]]></string>
      </Value>
    </Values>
    <rdfs:label locale="en"><![CDATA[Input Directory]]></rdfs:label>
    <rdfs:comment locale="en"><![CDATA[input directory for images and input configuration files]]></rdfs:comment>
  </CommandLineOption>
  <CommandLineOption rdf:ID="CommandLineOption:1118266073584">
    <Values>
      <Value>
        <string><![CDATA[reg.nhdr]]></string>
      </Value>
    </Values>
    <rdfs:label locale="en"><![CDATA[Fixed Image Filename]]></rdfs:label>
    <rdfs:comment locale="en"><![CDATA[reg.nhdr filename]]></rdfs:comment>
  </CommandLineOption>
  <File rdf:ID="File:1118266118686">
    <Values>
      <Value>
        <string rdf:resource="CommandLineOption:1118266044377" />
        <string rdf:resource="CommandLineOption:1118266073584" />
      </Value>
    </Values>
    <rdfs:label locale="en"><![CDATA[FixedImage]]></rdfs:label>
    <rdfs:comment locale="en"><![CDATA[fixed image variable]]></rdfs:comment>
  </File>
  <CommandLineOption rdf:ID="CommandLineOption:1118266234482">
    <Values>
      <Value>
        <string><![CDATA[mrt.nhdr]]></string>
      </Value>
    </Values>
    <rdfs:label locale="en"><![CDATA[Moving Image Filename]]></rdfs:label>
    <rdfs:comment locale="en"><![CDATA[filename for moving image input]]></rdfs:comment>
  </CommandLineOption>
  <File rdf:ID="File:1118266266201">
    <Values>
      <Value>
        <string rdf:resource="CommandLineOption:1118266044377" />
        <string rdf:resource="CommandLineOption:1118266234482" />
      </Value>
    </Values>
    <rdfs:label locale="en"><![CDATA[MovingImage]]></rdfs:label>
    <rdfs:comment locale="en"><![CDATA[Moving image variable]]></rdfs:comment>
  </File>
  <CommandLineOption rdf:ID="CommandLineOption:1118266341295">
    <Values>
      <Value>
        <string><![CDATA[xformIN]]></string>
      </Value>
    </Values>
    <rdfs:label locale="en"><![CDATA[InputTransform Filename]]></rdfs:label>
    <rdfs:comment locale="en"><![CDATA[Input Transformation Filename]]></rdfs:comment>
  </CommandLineOption>
  <File rdf:ID="File:1118266372629">
    <Values>
      <Value>
        <string rdf:resource="CommandLineOption:1118266044377" />
        <string rdf:resource="CommandLineOption:1118266341295" />
      </Value>
    </Values>
    <rdfs:label locale="en"><![CDATA[InputTransform]]></rdfs:label>
    <rdfs:comment locale="en"><![CDATA[input transformation variable]]></rdfs:comment>
  </File>
  <CommandLineOption rdf:ID="CommandLineOption:1118266435955">
    <Values>
      <Value>
        <string><![CDATA[2]]></string>
      </Value>
    </Values>
    <rdfs:label locale="en"><![CDATA[ResolutionLevel]]></rdfs:label>
    <rdfs:comment locale="en"><![CDATA[resolution levels {1, 2, 3}]]></rdfs:comment>
  </CommandLineOption>
  <CommandLineOption rdf:ID="CommandLineOption:1118266461834">
    <Values>
      <Value>
        <string><![CDATA[1]]></string>
      </Value>
    </Values>
    <rdfs:label locale="en"><![CDATA[QualityLevel]]></rdfs:label>
    <rdfs:comment locale="en"><![CDATA[quality levels {1,2}]]></rdfs:comment>
  </CommandLineOption>
  <CommandLineOption rdf:ID="CommandLineOption:1118266576527">
    <Values>
      <Value>
        <string><![CDATA[xformOUT]]></string>
      </Value>
    </Values>
    <rdfs:label locale="en"><![CDATA[OuputTransform Filename]]></rdfs:label>
    <rdfs:comment locale="en"><![CDATA[output transform filename]]></rdfs:comment>
  </CommandLineOption>
  <CommandLineOption rdf:ID="CommandLineOption:1118266669340">
    <Values>
      <Value>
        <string><![CDATA[pipeline://localhost//home/jrajendi/ProgrammersWeek/ItkGridPipeline/testdir/grid-reg/refinedmodule/]]></string>
      </Value>
    </Values>
    <rdfs:label locale="en"><![CDATA[Output Directory]]></rdfs:label>
    <rdfs:comment locale="en"><![CDATA[output directory for outputTransformfile]]></rdfs:comment>
  </CommandLineOption>
  <File rdf:ID="File:1118266713458">
    <Values>
      <Value>
        <string rdf:resource="CommandLineOption:1118266669340" />
        <string rdf:resource="CommandLineOption:1118266576527" />
      </Value>
    </Values>
    <rdfs:label locale="en"><![CDATA[OutputTransform]]></rdfs:label>
    <rdfs:comment locale="en"><![CDATA[output transform file]]></rdfs:comment>
  </File>
</rdf:RDF>


  1. To start a pipeline on the commandline with parameters:

java -jar pipeline.client.jar -batch -module=MultiModalityRigidRegistration.module -parameter:Paramter_1=Value_1 -parameter:Parameter_2=Value_2

Team Members:

  • Michael Pan - UCLA
  • Jagadeeswaran Rajendiran - UCLA