Ketan wrote:
Hello
I get a similar output even with the beanshell processors. Workflow
attached.
The inputs are list with depth one.
You are feeding lists into services that expect single values. What
happens is that Taverna, by default, performs a cross product. If you
give your service, image_crop, two inputs [1,2,3,4], [x,y,z] then the
service is called twelve times with 1 and x, 1 and y, 1 and z, 2 and x,
2 and y, 2 and z etc.
The outputs will be lists of depth 2, corresponding to the results for
the inputs [[1&x, 1&y, 1&z], [2&x,2&y,2&z], [3&x,3&y,3&z], [4&x,4&y,4&z]].
You are then feeding the lists of depth 2 into interpolation that
expects single values. Because of the cross product, the outputs are
lists of depth 4.
And so on, deeper into the workflow.
You need to think about whether you really mean to do cross-product.
The alternative is dot product where given two lists, [1,2,3] and
[x,y,z], the service will be called with [1&x, 2&y, 3&z] i.e. the
elements of the lists are matched up. Note that dot product only works
when the lists are the same length.
If you want dot product, click on a service, look in the contextual view
(bottom left hand side), click on "List Handling" and then "Configure
list handling". A new configuration panel will pop-up.
Click on Cross Product in the tree like form. Then click "Change to Dot
Product" on the top. (You may need to expand the window to see it.)
Click OK.
You will need to do this for all the services where you don't want
cross-product. Once this is done, the outputs will be lists of depth 1.
I've attached the beanshell workflow with the list handling changed, so
you can see the effect.
Regards
Ketan
Alan
<workflow xmlns="http://taverna.sf.net/2008/xml/t2flow" version="1"><dataflow
id="1c7e9e01-7130-49e6-abf5-43c1a087e159"
role="top"><name>dataflow0</name><inputPorts><port><name>Patient_Data</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>Config</name><depth>1</depth><granularDepth>1</granularDepth></port></inputPorts><outputPorts><port><name>Results</name></port></outputPorts><processors><processor><name>Image_Crop</name><inputPorts><port><name>DataIn</name><depth>0</depth></port><port><name>ConfigIn</name><depth>0</depth></port></inputPorts><outputPorts><port><name>DataOut</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>ConfigOut</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations
/><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map
from="DataIn" to="DataIn" /><map from="ConfigIn" to="ConfigIn"
/></inputMap><outputMap><map from="ConfigOut" to="ConfigOut" /><map
from="DataOut" to="DataOut" /></outputMap><configBean
encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean
xmlns="">
<script>print(DataIn);
print(configIn);</script>
<dependencies />
<classLoaderSharing>workflow</classLoaderSharing>
<localDependencies />
<artifactDependencies />
<inputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<handledReferenceSchemes />
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
<name>DataIn</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<handledReferenceSchemes />
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
<name>ConfigIn</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
</inputs>
<outputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<granularDepth>0</granularDepth>
<name>DataOut</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<granularDepth>0</granularDepth>
<name>ConfigOut</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
</outputs>
</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations
/></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig
xmlns="">
<maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig
xmlns="">
<backoffFactor>1.0</backoffFactor>
<initialDelay>1000</initialDelay>
<maxDelay>5000</maxDelay>
<maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><dot><port
name="DataIn" depth="0" /><port name="ConfigIn" depth="0"
/></dot></strategy></iteration></iterationStrategyStack></processor><processor><name>Interpolation</name><inputPorts><port><name>DataIn</name><depth>0</depth></port><port><name>ConfigIn</name><depth>0</depth></port></inputPorts><outputPorts><port><name>DataOut</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>ConfigOut</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations
/><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map
from="DataIn" to="DataIn" /><map from="ConfigIn" to="ConfigIn"
/></inputMap><outputMap><map from="ConfigOut" to="ConfigOut" /><map
from="DataOut" to="DataOut" /></outputMap><configBean
encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean
xmlns="">
<script />
<dependencies />
<classLoaderSharing>workflow</classLoaderSharing>
<localDependencies />
<artifactDependencies />
<inputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<handledReferenceSchemes />
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
<name>DataIn</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<handledReferenceSchemes />
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
<name>ConfigIn</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
</inputs>
<outputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<granularDepth>0</granularDepth>
<name>DataOut</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<granularDepth>0</granularDepth>
<name>ConfigOut</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
</outputs>
</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations
/></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig
xmlns="">
<maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig
xmlns="">
<backoffFactor>1.0</backoffFactor>
<initialDelay>1000</initialDelay>
<maxDelay>5000</maxDelay>
<maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><dot><port
name="DataIn" depth="0" /><port name="ConfigIn" depth="0"
/></dot></strategy></iteration></iterationStrategyStack></processor><processor><name>Image_Pyramid_Decomposition</name><inputPorts><port><name>DataIn</name><depth>0</depth></port><port><name>ConfigIn</name><depth>0</depth></port></inputPorts><outputPorts><port><name>ConfigOut</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>DataOut</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations
/><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map
from="DataIn" to="DataIn" /><map from="ConfigIn" to="ConfigIn"
/></inputMap><outputMap><map from="ConfigOut" to="ConfigOut" /><map
from="DataOut" to="DataOut" /></outputMap><configBean
encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean
xmlns="">
<script />
<dependencies />
<classLoaderSharing>workflow</classLoaderSharing>
<localDependencies />
<artifactDependencies />
<inputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<handledReferenceSchemes />
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
<name>DataIn</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<handledReferenceSchemes />
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
<name>ConfigIn</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
</inputs>
<outputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<granularDepth>0</granularDepth>
<name>DataOut</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<granularDepth>0</granularDepth>
<name>ConfigOut</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
</outputs>
</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations
/></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig
xmlns="">
<maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig
xmlns="">
<backoffFactor>1.0</backoffFactor>
<initialDelay>1000</initialDelay>
<maxDelay>5000</maxDelay>
<maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><dot><port
name="DataIn" depth="0" /><port name="ConfigIn" depth="0"
/></dot></strategy></iteration></iterationStrategyStack></processor><processor><name>Gradient_Computing</name><inputPorts><port><name>ConfigIn</name><depth>0</depth></port><port><name>DataIn</name><depth>0</depth></port></inputPorts><outputPorts><port><name>DataOut</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>ConfigOut</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations
/><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map
from="DataIn" to="DataIn" /><map from="ConfigIn" to="ConfigIn"
/></inputMap><outputMap><map from="ConfigOut" to="ConfigOut" /><map
from="DataOut" to="DataOut" /></outputMap><configBean
encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean
xmlns="">
<script />
<dependencies />
<classLoaderSharing>workflow</classLoaderSharing>
<localDependencies />
<artifactDependencies />
<inputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<handledReferenceSchemes />
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
<name>ConfigIn</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<handledReferenceSchemes />
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
<name>DataIn</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
</inputs>
<outputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<granularDepth>0</granularDepth>
<name>ConfigOut</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<granularDepth>0</granularDepth>
<name>DataOut</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
</outputs>
</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations
/></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig
xmlns="">
<maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig
xmlns="">
<backoffFactor>1.0</backoffFactor>
<initialDelay>1000</initialDelay>
<maxDelay>5000</maxDelay>
<maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><dot><port
name="ConfigIn" depth="0" /><port name="DataIn" depth="0"
/></dot></strategy></iteration></iterationStrategyStack></processor><processor><name>Border_Detection</name><inputPorts><port><name>ConfigIn</name><depth>0</depth></port><port><name>DataIn</name><depth>0</depth></port></inputPorts><outputPorts><port><name>ConfigOut</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>DataOut</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations
/><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map
from="DataIn" to="DataIn" /><map from="ConfigIn" to="ConfigIn"
/></inputMap><outputMap><map from="ConfigOut" to="ConfigOut" /><map
from="DataOut" to="DataOut" /></outputMap><configBean
encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean
xmlns="">
<script />
<dependencies />
<classLoaderSharing>workflow</classLoaderSharing>
<localDependencies />
<artifactDependencies />
<inputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<handledReferenceSchemes />
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
<name>DataIn</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<handledReferenceSchemes />
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
<name>ConfigIn</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
</inputs>
<outputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<granularDepth>0</granularDepth>
<name>DataOut</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<granularDepth>0</granularDepth>
<name>ConfigOut</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
</outputs>
</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations
/></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig
xmlns="">
<maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig
xmlns="">
<backoffFactor>1.0</backoffFactor>
<initialDelay>1000</initialDelay>
<maxDelay>5000</maxDelay>
<maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><dot><port
name="ConfigIn" depth="0" /><port name="DataIn" depth="0"
/></dot></strategy></iteration></iterationStrategyStack></processor><processor><name>Motion_Estimation</name><inputPorts><port><name>DataFromGC</name><depth>0</depth></port><port><name>ConfigFromGC</name><depth>0</depth></port><port><name>ConfigFromBD</name><depth>0</depth></port><port><name>DataFromBD</name><depth>0</depth></port></inputPorts><outputPorts><port><name>DataOut</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations
/><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map
from="DataFromGC" to="DataFromGC" /><map from="ConfigFromBD" to="ConfigFromBD"
/><map from="DataFromBD" to="DataFromBD" /><map from="ConfigFromGC"
to="ConfigFromGC" /></inputMap><outputMap><map from="DataOut" to="DataOut"
/></outputMap><configBean
encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean
xmlns="">
<script />
<dependencies />
<classLoaderSharing>workflow</classLoaderSharing>
<localDependencies />
<artifactDependencies />
<inputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<handledReferenceSchemes />
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
<name>DataFromGC</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<handledReferenceSchemes />
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
<name>DataFromBD</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<handledReferenceSchemes />
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
<name>ConfigFromGC</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<handledReferenceSchemes />
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
<name>ConfigFromBD</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
</inputs>
<outputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<granularDepth>0</granularDepth>
<name>DataOut</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
</outputs>
</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations
/></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig
xmlns="">
<maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig
xmlns="">
<backoffFactor>1.0</backoffFactor>
<initialDelay>1000</initialDelay>
<maxDelay>5000</maxDelay>
<maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean
encoding="xstream"><null xmlns=""
/></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><dot><port
name="DataFromGC" depth="0" /><port name="ConfigFromGC" depth="0" /><port
name="ConfigFromBD" depth="0" /><port name="DataFromBD" depth="0"
/></dot></strategy></iteration></iterationStrategyStack></processor></processors><conditions
/><datalinks><datalink><sink
type="processor"><processor>Image_Crop</processor><port>DataIn</port></sink><source
type="dataflow"><port>Patient_Data</port></source></datalink><datalink><sink
type="processor"><processor>Image_Crop</processor><port>ConfigIn</port></sink><source
type="dataflow"><port>Config</port></source></datalink><datalink><sink
type="processor"><processor>Interpolation</processor><port>DataIn</port></sink><source
type="processor"><processor>Image_Crop</processor><port>DataOut</port></source></datalink><datalink><sink
type="processor"><processor>Interpolation</processor><port>ConfigIn</port></sink><source
type="processor"><processor>Image_Crop</processor><port>ConfigOut</port></source></datalink><datalink><sink
type="processor"><processor>Image_Pyramid_Decomposition</processor><port>DataIn</port></sink><source
type="processor"><processor>Interpolation</processor><port>DataOut</port></source></datalink><datalink><sink
type="processor"><processor>Image_Pyramid_Decomposition</processor><port>ConfigIn</port></sink><source
type="processor"><processor>Interpolation</processor><port>ConfigOut</port></source></datalink><datalink><sink
type="processor"><processor>Gradient_Computing</processor><port>ConfigIn</port></sink><source
type="processor"><processor>Image_Pyramid_Decomposition</processor><port>ConfigOut</port></source></datalink><datalink><sink
type="processor"><processor>Gradient_Computing</processor><port>DataIn</port></sink><source
type="processor"><processor>Image_Pyramid_Decomposition</processor><port>DataOut</port></source></datalink><datalink><sink
type="processor"><processor>Border_Detection</processor><port>ConfigIn</port></sink><source
type="processor"><processor>Image_Pyramid_Decomposition</processor><port>ConfigOut</port></source></datalink><datalink><sink
type="processor"><processor>Border_Detection</processor><port>DataIn</port></sink><source
type="processor"><processor>Image_Pyramid_Decomposition</processor><port>DataOut</port></source></datalink><datalink><sink
type="processor"><processor>Motion_Estimation</processor><port>DataFromGC</port></sink><source
type="processor"><processor>Gradient_Computing</processor><port>DataOut</port></source></datalink><datalink><sink
type="processor"><processor>Motion_Estimation</processor><port>ConfigFromGC</port></sink><source
type="processor"><processor>Gradient_Computing</processor><port>ConfigOut</port></source></datalink><datalink><sink
type="processor"><processor>Motion_Estimation</processor><port>ConfigFromBD</port></sink><source
type="processor"><processor>Border_Detection</processor><port>ConfigOut</port></source></datalink><datalink><sink
type="processor"><processor>Motion_Estimation</processor><port>DataFromBD</port></sink><source
type="processor"><processor>Border_Detection</processor><port>DataOut</port></source></datalink><datalink><sink
type="dataflow"><port>Results</port></sink><source
type="processor"><processor>Motion_Estimation</processor><port>DataOut</port></source></datalink></datalinks><annotations
/></dataflow></workflow>------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
taverna-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/taverna-users
Documentation: http://www.mygrid.org.uk/usermanual1.7/
FAQ: http://www.mygrid.org.uk/wiki/Mygrid/TavernaFaq
Biological Services: http://www.mygrid.org.uk/wiki/Mygrid/BiologicalWebServices