Difference between revisions of "Series Labeler"

(add custom digital patterns description)
(change dev status to beta and add bits of content)
Line 3: Line 3:
 
| name                  = Series Labeler
 
| name                  = Series Labeler
 
| author                = Dan White / Tom Kazimiers
 
| author                = Dan White / Tom Kazimiers
 +
| maintainer          = dan at chalkie.org.uk
 
| filename              =  
 
| filename              =  
 
| source                =  
 
| source                =  
| released              =  
+
| released              = 2nd Dec 2010
 
| latest version        =  
 
| latest version        =  
| status                = development - may be buggy
+
| status                = beta - maybe an odd bug.
 
| category              = [[:Category:Image annotation|Image annotation]]
 
| category              = [[:Category:Image annotation|Image annotation]]
 
| website                = [http://pacific.mpi-cbg.de Fiji]
 
| website                = [http://pacific.mpi-cbg.de Fiji]
Line 22: Line 23:
 
Series Labeler is not a drop in replacement for Time Stamper,
 
Series Labeler is not a drop in replacement for Time Stamper,
 
or Label...  
 
or Label...  
since it does not do hyperstacks or macro recording.
+
since it does not work with hyperstacks or allow macro recording.
  
 
==Screen Shot of features==
 
==Screen Shot of features==
Line 29: Line 30:
  
 
==What it works with==
 
==What it works with==
Series Labeler handles any kind of stack, t, z
+
Series Labeler handles any kind of stack: time (t), z (3rd spatial dimension)
or c (eg spectral series).
+
or channel (c, eg. spectral series). It does not work with hyperstacks, see below.
 +
 
 +
==It reads in image metadata for default settings==
 
When meta data is available in the image, ie. for calibration  
 
When meta data is available in the image, ie. for calibration  
of time interval, z spacing, etc it is read into the GUI as default values,  
+
of time interval, z spacing, etc. it is read into the GUI as default values,  
 
so you have a better chance of getting the values and units correct!  
 
so you have a better chance of getting the values and units correct!  
  
Line 43: Line 46:
 
*Choose the type of units and how to format them in the Units_Formatting panel.  
 
*Choose the type of units and how to format them in the Units_Formatting panel.  
 
**Choose the label unit from the drop down list or choose your own custom one.  
 
**Choose the label unit from the drop down list or choose your own custom one.  
 +
***Custom labels can be anything you like! If you don't see the one you want in the drop down list, just add it here.
 
**"Time series / movie" can have Decimal (0.45 sec) or Digital (00:00:00) formats, as well as a custom format the you can type in the given text field.   
 
**"Time series / movie" can have Decimal (0.45 sec) or Digital (00:00:00) formats, as well as a custom format the you can type in the given text field.   
 
***Custom formats follow patterns as explained at Java SimpleDateFormat [http://download.oracle.com/docs/cd/E17476_01/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html Java SimpleDateFormat]. H is hours, m is minutes, s is seconds, and S is ms.Try custom formats like HH:mm:ss or ss.SSS  etc.
 
***Custom formats follow patterns as explained at Java SimpleDateFormat [http://download.oracle.com/docs/cd/E17476_01/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html Java SimpleDateFormat]. H is hours, m is minutes, s is seconds, and S is ms.Try custom formats like HH:mm:ss or ss.SSS  etc.
Line 59: Line 63:
 
Hyperstacks and macro recording are not supported yet.  
 
Hyperstacks and macro recording are not supported yet.  
  
===why?===
+
===why not?===
 
Hyperstacks can be labeled with the imageJ builtin Label command, if you want to do that. Series Labeler doesn't work with them, as there are many tricky cases to include when you have all the extra gadgets you have in this plugin. What if you want to label time, z and channel all at the same time? Hmmmm...
 
Hyperstacks can be labeled with the imageJ builtin Label command, if you want to do that. Series Labeler doesn't work with them, as there are many tricky cases to include when you have all the extra gadgets you have in this plugin. What if you want to label time, z and channel all at the same time? Hmmmm...
  
 
Macro recording is broken due to the use of a non blocking (non modal)
 
Macro recording is broken due to the use of a non blocking (non modal)
GUI... which is needed for the preview functionality and being able to use built in imageJ font and color choosers. To fix this we need to make some infrastructure in ImageJ/Fiji.
+
GUI... which is needed for the preview functionality and being able to use built in imageJ font and color choosers. To fix this we need to make some new infrastructure in ImageJ/Fiji.... or wait for imageJ2 n-dimensional data support.

Revision as of 15:53, 4 December 2010

Series Labeler (ImageJ / Fiji)
Author Dan White / Tom Kazimiers
Maintainer dan at chalkie.org.uk
Initial release 2nd Dec 2010
Development status beta - maybe an odd bug.
Category Image annotation
Website Fiji


Series Labeler - what is it?

This plugin is inspired by the Time_Stamper plugins from ImageJ and from Tony Collins' plugin collection at macbiophotonics, as well as the imageJ built in Image - Stack - Label command.

It aims to combine the functionality of these plugins and refine and enhance the functionality for instance by adding the preview functionality suggested by Michael Weber. Series Labeler is not a drop in replacement for Time Stamper, or Label... since it does not work with hyperstacks or allow macro recording.

Screen Shot of features

Series Labeler Screen shot.png


What it works with

Series Labeler handles any kind of stack: time (t), z (3rd spatial dimension) or channel (c, eg. spectral series). It does not work with hyperstacks, see below.

It reads in image metadata for default settings

When meta data is available in the image, ie. for calibration of time interval, z spacing, etc. it is read into the GUI as default values, so you have a better chance of getting the values and units correct!

How to use Series Labeler

Generally speaking, just work your way down the GUI, with preview on if you like.

  • Open an image stack. It can be a z, time or channel stack, but not a hyper stack.

Make sure its the active image by clicking on it, then....

  • Open the Series Labeler (its in Image-Stacks-Series Labeler)
  • Choose the type of stack in the General Settings - Stack Type
  • Choose the type of units and how to format them in the Units_Formatting panel.
    • Choose the label unit from the drop down list or choose your own custom one.
      • Custom labels can be anything you like! If you don't see the one you want in the drop down list, just add it here.
    • "Time series / movie" can have Decimal (0.45 sec) or Digital (00:00:00) formats, as well as a custom format the you can type in the given text field.
      • Custom formats follow patterns as explained at Java SimpleDateFormat Java SimpleDateFormat. H is hours, m is minutes, s is seconds, and S is ms.Try custom formats like HH:mm:ss or ss.SSS etc.
    • "Z-stack" can have length units or a custom format.
    • "Spectral" can have units of length or inverse length, or a custom format.
  • Give the Startup value, the Interval value (time/distance/etc between slices/frames), which frames/slices to work on (from First to Last), and how often to label a slice/frame using the Every n-th option. Every n-th of 1 labels every slice, 2 labels every other, 3 every third, etc.
  • In the location & Font pane, choose the location in x and y (Custom location) or choose a location preset for eg Top Left, and the font characteristics.
    • If you drew a rectangle RIO in the image before launching Series Labeler, it will try to fit the label into that ROI.
    • To change the font, font size, Series Labeler uses the ImageJ foreground/background color and Fonts tools. Click on the buttons to launch those tools, or double click the Text Tool (A icon) or Color Picker tool (dropper icon) in the Main Fiji/ImageJ tool bar.
    • Turn the background on and off with the checkbook. The background uses the color set in the imageJ built in Color Picker (dropper icon), which is also launched by the Font Color button here.
  • With preview on, you can move the slider in the image to be labeled, and get a preview of what the label/stamp will look like through the stamp. Changes you make in the Series Labeler GUI should be sent to the preview you you can see what you are going to get.
  • Click OK to burn the labels/stamps into the image stack (maybe work on a duplicate stack - there is no undo!). The cancel button removes the label preview and gives you back the original stack, and closes the Series Labeler. The help button sends you here.


It doesn't work with hyperstacks or macros...

Hyperstacks and macro recording are not supported yet.

why not?

Hyperstacks can be labeled with the imageJ builtin Label command, if you want to do that. Series Labeler doesn't work with them, as there are many tricky cases to include when you have all the extra gadgets you have in this plugin. What if you want to label time, z and channel all at the same time? Hmmmm...

Macro recording is broken due to the use of a non blocking (non modal) GUI... which is needed for the preview functionality and being able to use built in imageJ font and color choosers. To fix this we need to make some new infrastructure in ImageJ/Fiji.... or wait for imageJ2 n-dimensional data support.