Skip to content
Snippets Groups Projects
Commit 239b1d3e authored by Stéphane  DALLONGEVILLE's avatar Stéphane DALLONGEVILLE
Browse files

Added new Get/Set Property blocks

parent 7ee11f1f
No related branches found
No related tags found
No related merge requests found
......@@ -7,15 +7,21 @@
<parent>
<groupId>org.bioimageanalysis.icy</groupId>
<artifactId>parent-pom-plugin</artifactId>
<version>1.0.3</version>
<version>1.0.4</version>
</parent>
<artifactId>sequence-blocks</artifactId>
<version>2.0.16</version>
<version>2.1.0</version>
<name>SequenceBlocks</name>
<dependencies>
<dependency>
<groupId>org.bioimageanalysis.icy</groupId>
<artifactId>icy-kernel</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>org.bioimageanalysis.icy</groupId>
<artifactId>blocks</artifactId>
......
package plugins.tprovoost.sequenceblocks.infos;
import icy.plugin.abstract_.Plugin;
import icy.plugin.interface_.PluginBundled;
import icy.plugin.interface_.PluginLibrary;
import icy.sequence.Sequence;
import plugins.adufour.blocks.tools.sequence.SequenceBlock;
import plugins.adufour.blocks.util.VarList;
import plugins.adufour.vars.lang.VarSequence;
import plugins.adufour.vars.lang.VarString;
import plugins.tprovoost.sequenceblocks.SequenceBlocks;
/**
* Block to retrieve value (in String format) of a Sequence property (name, pixel size, custom...)<br>
* Default metadata information can be retrieved using specific property name:<br>
* <ul>
* <li><i>id</i> = sequence internal Id</li>
* <li><i>name</i> = sequence name</li>
* <li><i>positionX</i> = absolute position X of the image (in um)</li>
* <li><i>positionY</i> = absolute position Y of the image (in um)</li>
* <li><i>positionZ</i> = absolute position Z of the image (in um)</li>
* <li><i>positionT</i> = acquisition date time</li>
* <li><i>positionTOffset</i> = not available for property;</li>
* <li><i>pixelSizeX</i> = pixel size X (in um)</li>
* <li><i>pixelSizeY</i> = pixel size Y (in um)</li>
* <li><i>pixelSizeZ</i> = pixel size Z (in um)</li>
* <li><i>timeInterval</i> = time interval between each image (in second)</li>
* <li><i>channelName</i> = not available for property</li>
* <li><i>userName</i> = user who generated / acquired the dataset</li>
* <li><i>virtual</i> = virtual mode enabled on the dataset</li>
* </ul>
*
* @author Stephane
*/
public class GetSequenceProperty extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled
{
protected VarSequence sequence = new VarSequence("Sequence", null);
protected VarString propertyName = new VarString("Property", "name");
protected VarString value = new VarString("Value", "");
@Override
public void run()
{
final Sequence seq = sequence.getValue();
if (seq != null)
value.setValue(seq.getProperty(propertyName.getValue()));
}
@Override
public void declareInput(VarList inputMap)
{
inputMap.add("sequence", sequence);
inputMap.add("property", propertyName);
}
@Override
public void declareOutput(VarList outputMap)
{
outputMap.add("value", value);
}
@Override
public String getMainPluginClassName()
{
return SequenceBlocks.class.getName();
}
}
package plugins.tprovoost.sequenceblocks.infos;
import icy.plugin.abstract_.Plugin;
import icy.plugin.interface_.PluginBundled;
import icy.plugin.interface_.PluginLibrary;
import icy.sequence.Sequence;
import plugins.adufour.blocks.tools.sequence.SequenceBlock;
import plugins.adufour.blocks.util.VarList;
import plugins.adufour.vars.lang.VarSequence;
import plugins.adufour.vars.lang.VarString;
import plugins.tprovoost.sequenceblocks.SequenceBlocks;
/**
* Block to set value (in String format) of a Sequence property (name, pixel size, custom...)<br>
* Default metadata information can be set using specific property name:<br>
* <ul>
* <li><i>id</i> = sequence internal Id</li>
* <li><i>name</i> = sequence name</li>
* <li><i>positionX</i> = absolute position X of the image (in um)</li>
* <li><i>positionY</i> = absolute position Y of the image (in um)</li>
* <li><i>positionZ</i> = absolute position Z of the image (in um)</li>
* <li><i>positionT</i> = acquisition date time</li>
* <li><i>positionTOffset</i> = not available for property;</li>
* <li><i>pixelSizeX</i> = pixel size X (in um)</li>
* <li><i>pixelSizeY</i> = pixel size Y (in um)</li>
* <li><i>pixelSizeZ</i> = pixel size Z (in um)</li>
* <li><i>timeInterval</i> = time interval between each image (in second)</li>
* <li><i>channelName</i> = not available for property</li>
* <li><i>userName</i> = user who generated / acquired the dataset</li>
* <li><i>virtual</i> = virtual mode enabled on the dataset</li>
* </ul>
*
* @author Stephane
*/
public class SetSequenceProperty extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled
{
protected VarSequence sequence = new VarSequence("Sequence", null);
protected VarString propertyName = new VarString("Property", "name");
protected VarString value = new VarString("Value", "");
@Override
public void run()
{
final Sequence seq = sequence.getValue();
if (seq != null)
seq.setProperty(propertyName.getValue(), value.getValue());
}
@Override
public void declareInput(VarList inputMap)
{
inputMap.add("sequence", sequence);
inputMap.add("property", propertyName);
inputMap.add("value", value);
}
@Override
public void declareOutput(VarList outputMap)
{
//
}
@Override
public String getMainPluginClassName()
{
return SequenceBlocks.class.getName();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment