<protocol VERSION="4">
<blocks>
<workflow ID="1495901114" blockType="plugins.adufour.blocks.lang.SequenceFileBatch" className="plugins.adufour.blocks.lang.SequenceFileBatch" collapsed="false" definedName="Sequence file batch" height="903" keepsResults="true" width="1236" xLocation="0" yLocation="0">
<blocks>
<block ID="200987151" blockType="plugins.adufour.hierarchicalkmeans.HierarchicalKMeans" className="plugins.adufour.hierarchicalkmeans.HierarchicalKMeans" collapsed="false" definedName="HK-Means" height="297" keepsResults="true" width="320" xLocation="110" yLocation="150">
<variables>
<input>
<variable ID="Input" name="Input" runtime="false" visible="true"/>
<variable ID="Gaussian pre-filter" name="Gaussian pre-filter" runtime="false" value="1.0" visible="true"/>
<variable ID="Frame" name="Frame" runtime="false" value="0" visible="true"/>
<variable ID="Number of classes" name="Intensity classes" runtime="false" value="20" visible="true"/>
<variable ID="Min size (px)" name="Min object size (px)" runtime="false" value="100" visible="true"/>
<variable ID="Max size (px)" name="Max object size (px)" runtime="false" value="4000" visible="true"/>
<variable ID="Final threshold" name="Min object intensity" runtime="false" value="0.0" visible="true"/>
</input>
<output>
<variable ID="binary sequence" name="binary sequence" runtime="false" visible="true"/>
<variable ID="output regions" name="list of ROI" runtime="false" visible="true"/>
</output>
</variables>
</block>
<block ID="1446212814" blockType="plugins.tprovoost.scripteditor.scriptblock.Javascript" className="plugins.tprovoost.scripteditor.scriptblock.Javascript" collapsed="false" definedName="Javascript" height="303" keepsResults="true" width="366" xLocation="107" yLocation="529">
<variables>
<input>
<variable ID="Script" name="" runtime="false" value="// Click on the button&#10;// to edit in a frame.&#10;&#10;rois = input0&#10;output0 = []&#10;&#10;off = 0&#10;for(i = 0; i &lt; rois.length; i++)&#10;{&#10;&#9;r1 = rois[i];&#10;&#9;b1 = r1.getBounds5D();&#10;&#9;add = true&#10;&#9;&#10;&#9;for(j = 0; j &lt; rois.length; j++)&#10;&#9;{&#10;&#9;&#9;if (i == j) continue;&#10;&#9;&#9;&#10;&#9;&#9;r2 = rois[j];&#10;&#9;&#9;b2 = r2.getBounds5D();&#10;&#10;&#9;&#9;if (b2.contains(b1))&#10;&#9;&#9;{&#10;&#9;&#9;&#9;add = false&#10;&#9;&#9;&#9;break;&#10;&#9;&#9;}&#10;&#9;}&#10;&#10;&#9;if (add) output0[off++] = r1&#10;}" visible="true"/>
<variable ID="Add Input" name="Add Input" runtime="false" value="0" visible="true"/>
<variable ID="Add output" name="Add output" runtime="false" value="0" visible="true"/>
<variable ID="input0" name="input0" runtime="false" type="[Licy.roi.ROI;" visible="true"/>
</input>
<output>
<variable ID="output0" name="output0" runtime="false" type="[Licy.roi.ROI;" visible="true"/>
</output>
</variables>
</block>
<block ID="967549216" blockType="plugins.adufour.activecontours.ActiveContours" className="plugins.adufour.activecontours.ActiveContours" collapsed="false" definedName="Active Contours" height="565" keepsResults="true" width="311" xLocation="556" yLocation="224">
<variables>
<input>
<variable ID="input sequence" name="Input" runtime="false" visible="true"/>
<variable ID="Input ROI" name="input ROI" runtime="false" visible="true"/>
<variable ID="regularization: weight" name="Contour smoothness" runtime="false" value="0.05" visible="false"/>
<variable ID="edge: weight" name="Edge weight" runtime="false" value="1.0" visible="false"/>
<variable ID="edge: channel" name="Find edges in channel" runtime="false" value="0" visible="false"/>
<variable ID="region: weight" name="Region weight" runtime="false" value="0.0" visible="false"/>
<variable ID="region: sensitivity" name="Region sensitivity" runtime="false" value="1.0" visible="false"/>
<variable ID="region: channel" name="Find regions in channel" runtime="false" value="0" visible="false"/>
<variable ID="balloon: weight" name="Contour inflation" runtime="false" value="-0.01" visible="false"/>
<variable ID="contour resolution" name="Contour sampling" runtime="false" value="2.0" visible="true"/>
<variable ID="region bounds" name="Bound field to ROI of" runtime="false" value="No Sequence" visible="true"/>
<variable ID="time step" name="Evolution time step" runtime="false" value="0.2" visible="true"/>
<variable ID="convergence value" name="Convergence criterion" runtime="false" value="0.001" visible="true"/>
<variable ID="max. iterations" name="Max. iterations" runtime="false" value="100000" visible="true"/>
<variable ID="type of ROI output" name="Type of ROI" runtime="false" value="AREA" visible="true"/>
<variable ID="tracking" name="Track objects over time" runtime="false" value="false" visible="true"/>
<variable ID="division sensitivity" name="Division sensitivity" runtime="false" value="0.0" visible="true"/>
<variable ID="axis constraint" name="Axis constraint" runtime="false" value="0.0" visible="true"/>
<variable ID="volume constraint" name="Volume constraint" runtime="false" value="false" visible="true"/>
<variable ID="watch entering objects" name="Watch entering objects" runtime="false" value="false" visible="true"/>
</input>
<output>
<variable ID="Regions of interest" name="Regions of interest" runtime="false" visible="true"/>
<variable ID="Tracks" name="Tracks" runtime="false" visible="true"/>
<variable ID="Labels" name="Labels" runtime="false" visible="true"/>
</output>
</variables>
</block>
<block ID="1841461426" blockType="plugins.stef.roi.bloc.op.FilterROI" className="plugins.stef.roi.bloc.RoiBlocks" collapsed="false" definedName="Filter ROI" height="174" keepsResults="true" width="374" xLocation="505" yLocation="10">
<variables>
<input>
<variable ID="roi" name="ROI(s)" runtime="false" visible="true"/>
<variable ID="sequence" name="Sequence" runtime="false" visible="true"/>
<variable ID="descriptors" name="Filter on" runtime="false" value="Sphericity" visible="true"/>
<variable ID="operator" name="Accept if" runtime="false" value="GREATER" visible="true"/>
<variable ID="value" name="Value" runtime="false" value="90.0" visible="true"/>
</input>
<output>
<variable ID="out" name="Filtered ROI(s)" runtime="false" visible="true"/>
</output>
</variables>
</block>
<block ID="1791436406" blockType="plugins.adufour.blocks.tools.roi.AddROIToSequence" className="plugins.adufour.blocks.tools.roi.AddROIToSequence" collapsed="false" definedName="Add ROI to sequence" height="119" keepsResults="true" width="244" xLocation="933" yLocation="43">
<variables>
<input>
<variable ID="target sequence" name="Source" runtime="false" visible="true"/>
<variable ID="input rois" name="ROI to add" runtime="false" visible="true"/>
<variable ID="replace existing" name="Overwrite" runtime="false" value="true" visible="true"/>
</input>
<output/>
</variables>
</block>
<block ID="1092087347" blockType="plugins.adufour.roi.ROIMeasures" className="plugins.adufour.roi.ROIMeasures" collapsed="false" definedName="ROI Statistics" height="128" keepsResults="true" width="286" xLocation="934" yLocation="211">
<variables>
<input>
<variable ID="measures" name="Select features..." runtime="false" value="4" visible="true"/>
<variable ID="Regions of interest" name="Regions of interest" runtime="false" visible="true"/>
<variable ID="Sequence" name="Sequence" runtime="false" visible="true"/>
</input>
<output>
<variable ID="Workbook" name="Workbook" runtime="false" visible="true"/>
</output>
</variables>
</block>
<block ID="1233496803" blockType="plugins.adufour.blocks.tools.io.WorkbookToFile" className="plugins.adufour.blocks.tools.io.WorkbookToFile" collapsed="false" definedName="Workbook to file" height="207" keepsResults="true" width="253" xLocation="921" yLocation="375">
<variables>
<input>
<variable ID="workbook" name="workbook" runtime="false" visible="true"/>
<variable ID="file format" name="file format" runtime="false" value="Spreadsheet" visible="true"/>
<variable ID="output file" name="output file" runtime="false" value="" visible="true"/>
<variable ID="If file exists" name="If file exists" runtime="false" value="Merge_sheets___excluding_first_row" visible="true"/>
</input>
<output/>
</variables>
</block>
</blocks>
<links>
<link dstBlockID="200987151" dstVarID="Input" srcBlockID="1495901114" srcVarID="Sequence"/>
<link dstBlockID="1446212814" dstVarID="input0" srcBlockID="200987151" srcVarID="output regions"/>
<link dstBlockID="967549216" dstVarID="input sequence" srcBlockID="200987151" srcVarID="Input"/>
<link dstBlockID="1841461426" dstVarID="sequence" srcBlockID="200987151" srcVarID="Input"/>
<link dstBlockID="967549216" dstVarID="Input ROI" srcBlockID="1446212814" srcVarID="output0" srcVarType="[Licy.roi.ROI;"/>
<link dstBlockID="1841461426" dstVarID="roi" srcBlockID="967549216" srcVarID="Regions of interest"/>
<link dstBlockID="1791436406" dstVarID="target sequence" srcBlockID="1841461426" srcVarID="sequence"/>
<link dstBlockID="1791436406" dstVarID="input rois" srcBlockID="1841461426" srcVarID="out"/>
<link dstBlockID="1092087347" dstVarID="Sequence" srcBlockID="1791436406" srcVarID="target sequence"/>
<link dstBlockID="1092087347" dstVarID="Regions of interest" srcBlockID="1791436406" srcVarID="input rois"/>
<link dstBlockID="1233496803" dstVarID="workbook" srcBlockID="1092087347" srcVarID="Workbook"/>
</links>
<variables>
<input>
<variable ID="folder" blockID="1495901114" value="" visible="true"/>
<variable ID="extension" blockID="1495901114" value="jpg" visible="true"/>
<variable ID="Include sub-folders" blockID="1495901114" value="true" visible="true"/>
<variable ID="200987151:Input" blockID="200987151" value="Active Sequence" visible="false"/>
<variable ID="200987151:Gaussian pre-filter" blockID="200987151" value="1.0" visible="false"/>
<variable ID="200987151:Frame" blockID="200987151" value="0" visible="false"/>
<variable ID="200987151:Number of classes" blockID="200987151" value="20" visible="false"/>
<variable ID="200987151:Min size (px)" blockID="200987151" value="100" visible="false"/>
<variable ID="200987151:Max size (px)" blockID="200987151" value="4000" visible="false"/>
<variable ID="200987151:Final threshold" blockID="200987151" value="0.0" visible="false"/>
<variable ID="1446212814:Script" blockID="1446212814" value="// Click on the button&#10;// to edit in a frame.&#10;&#10;rois = input0&#10;output0 = []&#10;&#10;off = 0&#10;for(i = 0; i &lt; rois.length; i++)&#10;{&#10;&#9;r1 = rois[i];&#10;&#9;b1 = r1.getBounds5D();&#10;&#9;add = true&#10;&#9;&#10;&#9;for(j = 0; j &lt; rois.length; j++)&#10;&#9;{&#10;&#9;&#9;if (i == j) continue;&#10;&#9;&#9;&#10;&#9;&#9;r2 = rois[j];&#10;&#9;&#9;b2 = r2.getBounds5D();&#10;&#10;&#9;&#9;if (b2.contains(b1))&#10;&#9;&#9;{&#10;&#9;&#9;&#9;add = false&#10;&#9;&#9;&#9;break;&#10;&#9;&#9;}&#10;&#9;}&#10;&#10;&#9;if (add) output0[off++] = r1&#10;}" visible="false"/>
<variable ID="1446212814:Add Input" blockID="1446212814" value="0" visible="false"/>
<variable ID="1446212814:Add output" blockID="1446212814" value="0" visible="false"/>
<variable ID="1446212814:input0" blockID="1446212814" value="" visible="false"/>
<variable ID="967549216:input sequence" blockID="967549216" value="Active Sequence" visible="false"/>
<variable ID="967549216:Input ROI" blockID="967549216" value="No ROI" visible="false"/>
<variable ID="967549216:regularization: weight" blockID="967549216" value="0.05" visible="false"/>
<variable ID="967549216:edge: weight" blockID="967549216" value="1.0" visible="false"/>
<variable ID="967549216:edge: channel" blockID="967549216" value="0" visible="false"/>
<variable ID="967549216:region: weight" blockID="967549216" value="0.0" visible="false"/>
<variable ID="967549216:region: sensitivity" blockID="967549216" value="1.0" visible="false"/>
<variable ID="967549216:region: channel" blockID="967549216" value="0" visible="false"/>
<variable ID="967549216:balloon: weight" blockID="967549216" value="-0.01" visible="false"/>
<variable ID="967549216:contour resolution" blockID="967549216" value="2.0" visible="false"/>
<variable ID="967549216:region bounds" blockID="967549216" value="No Sequence" visible="false"/>
<variable ID="967549216:time step" blockID="967549216" value="0.2" visible="false"/>
<variable ID="967549216:convergence value" blockID="967549216" value="0.001" visible="false"/>
<variable ID="967549216:max. iterations" blockID="967549216" value="100000" visible="false"/>
<variable ID="967549216:type of ROI output" blockID="967549216" value="AREA" visible="false"/>
<variable ID="967549216:tracking" blockID="967549216" value="false" visible="false"/>
<variable ID="967549216:division sensitivity" blockID="967549216" value="0.0" visible="false"/>
<variable ID="967549216:axis constraint" blockID="967549216" value="0.0" visible="false"/>
<variable ID="967549216:volume constraint" blockID="967549216" value="false" visible="false"/>
<variable ID="967549216:watch entering objects" blockID="967549216" value="false" visible="false"/>
<variable ID="1841461426:roi" blockID="1841461426" value="No ROI" visible="false"/>
<variable ID="1841461426:sequence" blockID="1841461426" value="Active Sequence" visible="false"/>
<variable ID="1841461426:descriptors" blockID="1841461426" value="Sphericity" visible="false"/>
<variable ID="1841461426:operator" blockID="1841461426" value="GREATER" visible="false"/>
<variable ID="1841461426:value" blockID="1841461426" value="90.0" visible="false"/>
<variable ID="1791436406:target sequence" blockID="1791436406" value="Active Sequence" visible="false"/>
<variable ID="1791436406:input rois" blockID="1791436406" value="No ROI" visible="false"/>
<variable ID="1791436406:replace existing" blockID="1791436406" value="true" visible="false"/>
<variable ID="1092087347:measures" blockID="1092087347" value="4" visible="false"/>
<variable ID="1092087347:Regions of interest" blockID="1092087347" value="No ROI" visible="false"/>
<variable ID="1092087347:Sequence" blockID="1092087347" value="Active Sequence" visible="false"/>
<variable ID="1233496803:workbook" blockID="1233496803" value="" visible="false"/>
<variable ID="1233496803:file format" blockID="1233496803" value="Spreadsheet" visible="false"/>
<variable ID="1233496803:output file" blockID="1233496803" value="" visible="false"/>
<variable ID="1233496803:If file exists" blockID="1233496803" value="Merge_sheets___excluding_first_row" visible="false"/>
</input>
<output>
<variable ID="iteration" blockID="1495901114" visible="true"/>
<variable ID="Sequence" blockID="1495901114" visible="true"/>
<variable ID="200987151:binary sequence" blockID="200987151" visible="false"/>
<variable ID="200987151:output regions" blockID="200987151" visible="false"/>
<variable ID="1446212814:output0" blockID="1446212814" visible="false"/>
<variable ID="967549216:Regions of interest" blockID="967549216" visible="false"/>
<variable ID="967549216:Tracks" blockID="967549216" visible="false"/>
<variable ID="967549216:Labels" blockID="967549216" visible="false"/>
<variable ID="1841461426:out" blockID="1841461426" visible="false"/>
<variable ID="1092087347:Workbook" blockID="1092087347" visible="false"/>
</output>
</variables>
</workflow>
</blocks>
<links/>
</protocol>
