Provenance Challenge 1 workflow -- mockup version
Created: 2010-05-28 07:14:35
simulates the image processing for the PC1 workflow using beanshell that simply track test strings
an image is a pair (header, image) specified as a list of depth 1: [header,image]
so each processor with image input takes an input list.
Note that the processors are designed to operate on single images (except softmean that operates on a list of images), but because the initial input is a list of images, all are processed by implicit iteration.
Preview
Run
Run this Workflow in the Taverna Workbench...
Workflow Components
Authors (1)
Titles (1)
Provenance Challenge 1 workflow -- mockup version |
Descriptions (1)
simulates the image processing for the PC1 workflow using beanshell that simply track test strings
an image is a pair (header, image) specified as a list of depth 1: [header,image]
so each processor with image input takes an input list.
Note that the processors are designed to operate on single images (except softmean that operates on a list of images), but because the initial input is a list of images, all are processed by implicit iteration. |
Dependencies (0)
Inputs (1)
Name |
Description |
AnatomyInput |
inner list: a pair (image, header)
outer list: a list of such pairs
|
Processors (8)
Name |
Type |
Description |
ReferenceImage |
stringconstant |
ValueReferenceImage_value |
ReferenceHeader |
stringconstant |
ValueReferenceHeader_value |
align_warp |
beanshell |
Script// align warp shell wrapper
// mockup: creates output string based in input string values
String header = AnatomyInput.get(0);
String image = AnatomyInput.get(1);
WarpParameters = "warp("+header+","+image+")";
|
reslice |
beanshell |
Script// reslice based on calculated warp parameters
List resliced = new ArrayList();
resliced.add("reslice("+warpParameters+".H");
resliced.add("reslice("+warpParameters+".I");
|
softmean |
beanshell |
Script// softmean
// combines list of pairs (header, image) into an average (header, image)
// it naively concats the headers together and the images together just to trace its input values
List atlasAverage = new ArrayList();
String averageHeader = "softmean(";
String averageImage = "softmean(";
for (List reslicedEntry: resliced) {
averageHeader = averageHeader+reslicedEntry.get(0)+"/";
averageImage = averageImage+reslicedEntry.get(1)+"/";
}
atlasAverage.add(averageHeader.substring(0,averageHeader.length()-1)+")");
atlasAverage.add(averageImage.substring(0,averageImage.length()-1)+")");
|
slicer |
beanshell |
Script// slicer
// takes a pair [header, image] and an axis
// and slices the image along that axis
atlasSlice = new ArrayList();
atlasSlice.add(axis+"-slice("+atlasAverage.get(0)+")");
atlasSlice.add(axis+"-slice("+atlasAverage.get(1)+")");
|
converter |
beanshell |
Script// converter (header, image) -> (header, image)
List atlasGraphic = new ArrayList();
atlasGraphic.add("convert("+atlasSlice.get(0)+")");
atlasGraphic.add("convert("+atlasSlice.get(1)+")");
|
makeAxes |
beanshell |
Scriptaxes = new ArrayList();
axes.add("x");
axes.add("y");
axes.add("z");
|
Beanshells (6)
Name |
Description |
Inputs |
Outputs |
align_warp |
|
ReferenceImage
ReferenceHeader
AnatomyInput
|
WarpParameters
|
reslice |
|
warpParameters
|
resliced
|
softmean |
|
resliced
|
atlasAverage
|
slicer |
|
atlasAverage
axis
|
atlasSlice
|
converter |
|
atlasSlice
|
atlasGraphic
|
makeAxes |
|
|
axes
|
Outputs (1)
Name |
Description |
atlasGraphic |
|
Datalinks (9)
Source |
Sink |
ReferenceHeader:value |
align_warp:ReferenceHeader |
ReferenceImage:value |
align_warp:ReferenceImage |
AnatomyInput |
align_warp:AnatomyInput |
align_warp:WarpParameters |
reslice:warpParameters |
reslice:resliced |
softmean:resliced |
makeAxes:axes |
slicer:axis |
softmean:atlasAverage |
slicer:atlasAverage |
slicer:atlasSlice |
converter:atlasSlice |
converter:atlasGraphic |
atlasGraphic |
Uploader
License
All versions of this Workflow are
licensed under:
Version 1
(of 1)
Credits (1)
(People/Groups)
Attributions (0)
(Workflows/Files)
None
Shared with Groups (0)
None
Featured In Packs (1)
Log in to add to one of your Packs
Attributed By (0)
(Workflows/Files)
None
Favourited By (0)
No one
Statistics
Other workflows that use similar services
(0)
There are no workflows in myExperiment that use similar services to this Workflow.
Comments (0)
No comments yet
Log in to make a comment