importClass(Packages.plugins.adufour.thresholder.KMeans)
importClass(Packages.plugins.adufour.thresholder.Thresholder)
importClass(Packages.icy.sequence.Sequence)
importClass(Packages.plugins.tprovoost.Microscopy.MicroManager.tools.StageMover)
importClass(Packages.plugins.tprovoost.Microscopy.MicroManager.MicroManager)
sequence = new Sequence() // create the result sequence
gui.addSequence(sequence) // display it
StageMover.moveXYAbsolute(5, 5) // move microscope to position XY (5, 5)
for(t = 0; t < 20; t++)
{
MicroManager.setExposure(10 + (t * 5)) // set exposure depending T position
for(z = 0; z < 10; z++)
{
StageMover.moveZAbsolute(-5 + z, true) // set microscope Z position by 10
image = MicroManager.snapImage() // acquire 1 image
sequence.setImage(t, z, image) // set it in resulting sequence at position 0
}
}
value = KMeans.computeKMeansThresholds(sequence, 0, 2, 256)
rois = Thresholder.threshold(sequence, 0, value)
for(i = 0; i < rois.length; i++)
sequence.addROI(rois[i])