Slicer3:Pipeline Integration
From NAMIC Wiki
Home < Slicer3:Pipeline Integration
- The main features of the project
- The main outstanding questions that must be answered before you can complete the project (or even start)
- Pipeline -> Slicer3
- Once the API for submission to Slicer3 is released, we can integrate it into the Pipeline.
- Slicer3 -> Pipeline
- Current Status
- We have some code that allows any external application to start an instance of Pipeline and submit workflows.
- Implement a JSON Interface to the pipeline that allows external applications to get a JSON parametric-description of submitted pipelines
- Example usage: java -jar pipeline.jar -json MultiModalityRigidRegistration.module - The list of parameters in JSON format -
- Current Status
- Pipeline -> Slicer3
{"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" } ] }
- This JSON description can be then used to bind values to parameters and then submit the pipeline for
execution -
- 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>
- 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