0

I would like to use the AVI_Writer from the ImageJ API in my java program. However, even though I can automate the movie writing, I haven't found out how to change the framerate when using the method:

writeImage(ImagePlus imp, java.lang.String path, int compression, int jpegQuality)

Any idea?

Thanks.

Myoch
  • 793
  • 1
  • 6
  • 24

1 Answers1

1

If you look at the menu command for saving as AVI, it has an option to set the frame rate, which is taken from a setting hidden in Image > Stacks > Tools > Animation Options... in the menu.

Using the command finder, which you can invoke by typing [L], you find the sources for these two commands:

  • File > Save As > AVI... => ij.plugin.filter.AVI_Writer
  • Image > Stacks > Tools > Animation Options... => ij.plugin.Animator("options")

The command finder provides a handy button that directly links to the source files, have a look here and here. You'll find that the frame rate setting is stored as fps in the Calibration of the ImagePlus.

Jan Eglinger
  • 3,995
  • 1
  • 25
  • 51
  • Thank you, I had tried to create a new Calibration like this: Calibration cal=new Calibration(ip), where ip is my ImagePlus, but it hadn't worked. Instead, I did Calibration cal=ip.getCalibration(); cal.fps=60; ip.setCalibration(cal); and now it works perfectly :D – Myoch Feb 07 '14 at 23:41