1.52j 28 December 2018
- Added the Macros>Enter Interactive Mode command
to the text editor, which enables interactive editing and running
of macro and JavaScript code
(example).
Type "js" in interactive mode to switch the language to JavaScript.
Also added the associated
Plugins>Macros>Interactive Interpreter command
(shortcut: "j").
- Thanks to Ved Sharma, point selections with more than 65,535 points
can now be saved and reopened
(example).
- Thanks to Philippe Carl, the status bar is updated when adjusting
elliptical and rotated rectangle selections.
- Thanks to Ilan Tal, added the "Ignore Rescale Slope and open as 16-bit"
checkbox to the Edit>Optios>DICOM dialog.
- Thanks to Michael Schmid, Image>Edit>Resize
can now convert a single image to a stack.
- Thanks to MichaelSchmid, improved the calculation of Feret
parameters for composite selections. FeretAngle is now reported
(within 0.5 deg), works with pixel aspect ratios different from one and is
more accuate due to use of 0.5 deg increments.
- Thanks to MichaelSchmid, the output of ROI Manager 'AND', 'OR'
and 'XOR' operations are, if possible, converted from composite ROIs
into simpler polygon ROIs.
- Thanks to Jerome Mutterer, errors in macro run() statements
are now reported using a "Macro Error" dialog that displays
the line number.
- Added the ImagePlus.plotHistogram() method. For examples,
run Help>Examples>JavaScript>Histogram Plots.
- Added the JavaScript-friendly ImageStatistics.histogram() method
(example).
- Added the Overlay.setLabelFontSize(size,options),
Overlay.setLabelColor(), Overlay.setStrokeColor()
and Overlay.setStrokeWidth() macro functions,
and corresponding Overlay class methods
(example).
- Thanks to Jerome Mutterer, added the setIgnoreErrors() and
getErrorMessage() methods to the Interpreter class
(example).
- Thanks to Michael Schmid, fixed a bug that caused
Image>Edit>Resize to not preserve stack lookup tables.
- Thanks to Stein Rorvik, fixed Orthogonal Views bugs that caused
freezing, nonworking XZ and YZ dragging and lack of density calibration, and incorrect behavior when
"Rotate YZ" and "Flip XZ" where enabled in Edit>Options>DICOM.
- Thanks to Stein Rorvik, fixed a bug that caused particle analyzer overlays to
not be specific to the current slice when processing one slice.
- Fixed a bug that caused the color of overlay labels to be set to black after
the image was saved and reopened.
- Fixed a bug that caused the Image>Overlay>To ROI Manager
command to not preserve overlay properties such a label color and scalability.
- Thanks to Wilhelm Burger, fixed a bug that caused the Roi.setLocation(x,y)
method to not work correctly with ShapeRois if x or y were not integers.
- Thanks to Philippe Carl, fixed a bug that caused the status bar to not be
updated or to not be updated correctly when moving or changing the length
of straight line selections and arrows using the arrow keys.
1.52i 26 November 2018
- Thanks to Ved Sharma and Michael Kaul, added the
Image>Stacks>Measure Stack command
(macro source),
useful for plotting stacks using the contextual (right-click) Plot command
in Results tables.
- Thanks to Jerome Mutterer, added the
Image>Stacks>Tools>Magic Montage Tools command
(macro source).
- Tables can be sorted using the Sort command in the contextual (right-click)
menu or in the Results menu
(example).
- Thanks to Matias Andina, the Image>Transform>Rotate command
can now be used interactiely.
- Thanks to Michael Schmid, added an "F" (Fit All) icon next to the "R" (Reset Range)
icon in the bottom-left corner of plot windows.
- Thanks to Robert Haase and Emanuele Martini, added
a "Don't reset range" checkbox to the "Threshold" dialog
(example).
- Added an error bars example to the
Help>Examples>Plots>Plot Styles macro.
- Alphabetized the Image>Stacks>Tools menu.
- Moved the Image>Stacks>Plot XY Profile command
to Image>Stacks>Tools>Plot XY Profile.
- Thanks to 'Barbara' and Michael Schmid, the Translate command in
the ROI Manager remembers the x and y offset values.
- Thanks to Alex Mironov, added an optional properties string
argument to the makePoint() macro function
(macro example,
JavaScript example).
- Thanks to Alex Mironov, the setLineWidth() macro function
automatically calls Overlay.add() when the line width changes
(example).
- Added the Plot.replace() macro function and method. For examples,
run Help>Examples>Plots>Random Data
or Help>Examples>JavaScript>Plot Random Data.
- Thanks to Michael Schmid, added an "Add Fit" commamnd to
the Data>> menu of Plot windows.
- Thanks to Laurent Thomas, ShortProcessor.rotate() and FloatProcessor.rotate()
now fill using the value set by setBackgroundValue().
- Thanks to Kai Barthel, the Analyze>Calibrate command
resets the display range of contrast-reduced images.
- Thanks to Norbert Vischer, the curve fitter now works with
datasets containing NaNs.
- Thanks to Michael Schmid, added the Plot.objectCount macro function.
- Thanks to Matias Andina, added the setOption("SupportMacroUndo",boolean) macro function
(example).
- Thanks to Michael Schmid, added a constructor for creating a plot
from arrays to the PlotContentsDialog class
(example).
- Added the PointRoi.getLastCounter() method.
- Added the getSizeInBytes() methods to the ImagePlus class.
- Thanks to Philippe Carl and Michael Schmid, fixed a bug that caused
the macro interpreter to incorrectly evaluate string expressions containing
numeric arrays indexed using the ++ operator.
- Thanks to Stein Rorvik, fixed a bug that caused the changeValues() macro
funtion to reset the display range of 16-bit and 32-bit images.
- Thanks to Alex Mironov, fixed a bug that caused setLineWidth(1)
in a macro to incorrectly set the line width to the width set in the
Edit>Options>Line Width dialog.
- Thanks to Michael Schmid, fixed a bug that caused the Undo command to
not work after rotating an image with "Enlarge image" enabled.
- Thanks to Matias Andina, fixed a bug that caused the Undo command to
not work after cropping or rotating a composite color image.
- Thanks to Michael Schmid, fixed a bug that caused nudging the end of a line
selection with alt-arrow keys to not update a live profile plot.
- Thanks to Mark Senko and Michael Schmid, fixed a bug that caused profile plots of line selections
wider than 1 to differ from profile plots of rectangles of the same size.
- Fixed a bug that caused DICOM images to be displayed incorrectly if "Open as 32-bit float"
was enabled in Edit>Options>DICOM.
- Thanks to Kenneth Sloan, fixed a bug that caused the Paintbrush Tool
(in "Paint on overlay" mode) to delete pre-existing overlays.
- Thanks to 'mountain_man', fixed a bug that caused the Rescale Slope
tag (0028,1053) to be ignored when opening DICOM images and
"Open as 32-bit float" was not enabled in Edit>Options>DICOM.
- Thanks to Fred Damen, fixed a file path recording bug that
caused a NullPointerException.
- Thanks to Michael Schmid, fixed a bug that caused buttons in
some dialogs (e.g., "B&C" and "Threshold") to not be displayed correctly
on macOS when using the Metal look and feel. Opening an Action Bar switches
to Metal or use Edit>Options>Look and Feel in Fiji.
- Thanks to Michael Schmid, fixed a bug that caused plot stacks to not be spatially calibrated.
- Thanks to Nicolas Stifani, fixed a 1.52h regression on Windows that caused
canceled dialog boxes in macros started using the
Plugins>Macros>Run command to throw an exception.
- Thanks to Jerome Mutterer, fixed a v1.52 regression that caused
the getMetadata() macro function (without the "info" or "label" argument)
to not work as expected.
1.52h 16 October 2018
- Plot enhancements, thanks to Michael Schmid:
- "Save" in plot windows has moved into a new Data>> menu, which includes two additional items:
(1) Add from Plot (takes a PlotObject, e.g. data set, text, etc., from a different plot) and
(2) Add from Table (adds data from a "Results" table).
- Values in tables can be be plotted directly using the contextual menu or the
Results>Plot command in "Results" tables.
- Added the Separated Bar type, a bar graph with some space between the columns.
For an example, run Help>Examples>JavaScript>Plot Styles.
- Histogram-like "Bar" plots also work with non-equidistant points along x.
- Connected Circles fill the circles with the secondary color (= line color), if that color is given and not null.
- Improved the code for filling bars and "filled" curves.
- For "Bar" and "Separated Bar", the base line of the plot is y = 0 if the values differ by more than a factor of 2.
- Added the Help>Examples>Plots>Plot Styles and
...JavaScript>Plot Styles examples.
- The Edit>Selection>Create Mask command works
with overlays created by the Brush and Pencil tools.
- Added a "Help" button to the Brush and Pencil tool dialog boxes.
- Thanks to Gabriel Landini and Jerome Mutterer, the text tool now
creates an "Enter text..." selection when you click (without dragging)
on an image and there is no existing selection.
- Thanks to Gabriel Landini, the "Show on all slices" option (was "Show all")
now appears in both the point and multi-point tool dialogs.
- Thanks to Stein Rorvik, the Analyze>Tools>Synchronize Windows
tool now supports use of the "+" and "-" keys for synchronized zooming
when the "Image scaling" option is enabled.
- Thanks to Lorenzo Cangiano, added a "Points" column to the
Image>Overlay>List Elements table.
- Added the Plot.setStyle() macro function. For an example,
run Help>Examples>Plots>Plot Styles.
- Added the IJ.exit() method, which aborts JavaScripts.
- Thanks to Bio7, fixed a bug that caused images to turn black when
assigned an ImageRoi created by the Brush or Pencil tools.
- Thanks to Stein Rorvik, fixed bugs that caused
File>Open Next to sometimes fail when
opening images of dissimilar types.
- Thanks to Michael Schmid, fixed several bugs in
the Image>Adjust>Threshold tool, mostly related
to 32-bit images.
- Thanks to Michael Cammer and Michael Schmid, fixed a bug that
caused the "Propagate to the other n channels of this image" option of the
"Set" command in the "B&C" tool to not work as expected.
- Thanks to Stein Rorvik and Michael Schmid, fixed a bug that caused
an image pasted into a zoomed image to be incorrectly positioned
if the pasted image was equal or larger in size than the target image.
- Thanks to Stein Rorvik, fixed bugs that caused scale bars to be
incorrectly positioned on large images and macros to alter default
scale bar dialog settings.
- Fixed a bug that caused keyboard shortcuts for zooming in and
out, as well as other shortcuts, to not work when a text selection was active.
- Thanks to Stein Rorvik, fixed a bug that caused right-justified text
added to an overlay by the Overlay.drawString() macro function to
not be displayed correctly.
- Thanks to "hwada", fixed bugs that caused the ImagePlus.setImage(ImagePlus)
method to sometimes not work as expected.
- Thanks to Nathalie Houssin, fixed a bug that caused
the Make Substack command to throw an exception when used
with hyperstacks opened by the OlympusViewer plugin.
- Fixed bugs in the ImagePlus.setStack() method.
- Thanks to Michael Schmid, fixed a bug that caused the "Show All" button
in the ROI Manager to not work as expected with point selections.
- Thanks to Lorenzo Cangiano, fixed a bug that caused programmatically
generated overlays of PointRois on stacks to be not shown when saved
and reopened.
- Thanks to Robert Haase, fixed a bug that could cause
the PolygonRoi.getTracedPerimeter() method to throw a
NullPointerException.
- Thanks to Hyung-song Nam and Curtis Rueden, fixed a bug that caused
keyboard shortcuts to not work with the "Channels" tool.
- Thanks to Gilles Carpentier, fixed a 1.52f regression that caused
the Edit>Selection>Create Mask command to not
work as expected if the image had both an roi and an overlay.
- Thanks to Norbert Vischer, fixed a 1.52g regression that caused
multi-channel images to lose color table and display range
information after being cropped and saved.
- Thanks to Stephen Royle, fixed a 1.52h regression that caused the
Image>Transform>Rotate 90 Degrees Right (or Left)
command to not work as expected with composite images.
1.52g 16 September 2018
- A text selection in an overlay can be deleted by alt-clicking on
it and pressing backspace+delete (on Windows) or command+delete (on Macs).
- Fixed a bug that caused polygon and polyline selections to lose
properties like color, line width and name when a point is added by
shift-clicking on an existing point.
- Thanks to Dave Mason, fixed a bug that caused the
File>Import>URL command to not correctly
open Hyperstacks.
- Thanks to Volko Straub, fixed a 1.52f regression that caused
getDirectory("") on Windows to return a string ending in "/" instead
of the expected "\".
1.52f 7 September 2018
- Thanks to Norbert Vischer, added the Plot.addHistogram()
macro function, which plots a histogram from an array
(example).
- Thanks to Norbert Vischer, any currently running macro is aborted
when running an installed macro from the Plugins>Macros
menu or the editor's Macros menu.
- Thanks to Michael Schmid, added the "Error Function" [y=a+b*erf((x-c)/d)]
curve fit option and the ij.util.IJ.Math.erf(x) method
(example).
- The Edit>Selection>Create Mask command works
with line selections and overlays.
- The "Black background" setting defaults to 'true'.
- Thanks to Anna Povolna, the "Open all files in folder" and "Use virtual stack"
options in the File>Import>raw dialog can be used at
the same time.
- Thanks to 'Sethur', ImageJ no longer sorts imported DICOM
stacks by series number (tag 0020,0011) if "Sort images numerically"
is not checked in the File>Import>ImageSequence
dialog. Also added a recordable 'noMetaSort' option to the options
string of the FolderOpener.open(dir,options) method.
- Thanks to 'Alan', added the createThresholdMask()
and createRoiMask() methods to the ImagePlus class. These methods
are recorded when using the Edit>Selection>Create Mask
command
(JavaScript example).
- Added the recordable Raw.open(), Raw.openAll() and Raw.openAllVirtual() methods
(JavaScript example).
- Thanks to Stein Rorvik, added the DicomTools.getTagName(tag) method.
- Thanks to Christian Tischer, fixed bugs in the RoiManager.add(ImagePlus,Roi,int)
method than caused it to not behave as expected if the ROI name was not null.
- Thanks to Norbert Vischer, fixed bugs that caused the
Edit>Cut and Analyze>Set Scale commands
to not set the 'changes' flag.
- Thanks to Stein Rorvik, fixed a bug that caused the Overlay.drawString
macro function to ignore the justification set by the setJustification() function.
- Thanks to Stein Rorvik, fixed a bug that caused output of the
Overlay.drawString() function to be lost when text is added using
Overlay.addSelection().
- Thanks to Lorenzo Cangiono, fixed a bug that caused selections
pasted into images to not be saved.
- Thanks to Mahmoudi Sidi Ahmed, fixed a bug that caused the
Analyze>Calibrate command to not work with signed 16-bit images.
- Thanks to Menelaos Symeonides, fixed an ROI Manager bug that
caused the stack position to be ignored when measuring
renamed ROIs.
- Thanks to Ron DeSpain, fixed a bug that caused attempts to add to (by holding
shift key down) and subract from (by holding alt key down) elliptical
selections to fail.
- Thanks to Ron DeSpain, fixed a bug that caused the
Window>Tile command to overlap the "ImageJ" window
with image titles.
- Thanks to Pete Bankhead, fixed a bug the caused the
Process>Batch>Convert command to not work
correctly on Macs.
- Thanks to 'Hamish', fixed a bug that caused the roiManager("delete") macro
function to throw an exception when used in a loop.
- Thanks to Stein Rorvik, fixed a bug that caused one
column results tables to not be displayed correctly.
- Thanks to Stein Rorvik, fixed a bug that caused
File>Import>Raw to silently fail when importing a
stack and the file size was smaller than the size of a single image.
- Thanks to Stein Rorvik, fixed a bug that caused
the Overlay.drawString() macro function to not correctly
display right-justified text.
- Thanks to Stein Rorvik, fixed bugs that caused the
run("Raw...",options) and run("Image Sequence...",options)
macro functions to fail silently if the file or folder did not exist.
- Thanks to Stein Rorvik, fixed a bug that caused
the stack title to be incorrect after importing an image sequence
on Windows using a file path with forward slashes.
- Thanks to Stein Rorvik, fixed a bug that caused
File>Open Next to not correctly open a non-composite
image after having opened a composite image.
- Thanks to Ved Sharma, fixed an ROI Manager bug that
caused a "Rename ROI" dialog do be unexpectadly displayed
when running macro using setKeyDown("alt") and makeOval()
to create a composite selection.
- Thanks to Ved Sharma, fixed an ROI Manager bug that caused
an exception when saving an ROI set containing a point selection
followed by a composite selection.
- Thanks to Salim Kanoun, fixed a bug that caused
RoiManager.addRoi(roi) calls to be ignored if the ROI was
a duplicate.
- Thanks to 'TMC', fixed a bug that caused the
ROI Manager's "Interpolate ROIs" command to
throw an exception.
- Thanks to 'Agnieszka', fixed a bug that caused the ImagePlus.getFileInfo()
method to throw a NullPointerException.
- Thanks to Stein Rorvik, fixed a bug that caused the
Macros>Evaluate commands in the text editor
to not update the Window menu.
- Thanks to Norbert Vischer, fixed a bug that caused the macro editor
to not always abort any existing macro before running another one.
- Thanks to Manel Bosch, fixed a 1.52e regression that caused
image conversions to RGB to not preserve the color coding.
1.52e 11 July 2018
- The "Threshold" tool no longer resets the display range of 16-bit and 32-bit images.
- Restored the "Set" button (removed in 1.51r) to the "Threshold" dialog,
- Thanks to Kai Schleicher, the options string of the FolderOpener.open(dir,options)
method can now include a file name filter
(example).
- Added a no-argument constructor to the PointRoi class
(example at Help>Examples>JavaScript>Points).
- Added the Roi.size() method, equivalent to Roi.getPolygon().npoints.
- Added the FFT.forward(), FFT.multiply(), FFT.inverse() and FFT.filter() methods
(JavaScript example).
- The open("/path/to/file.avi") macro function and the IJ.openImage("/path/to/file.avi")
method now open AVI files by default as virtual stacks.
- Thanks to Volko Straub and Michael Schmid, fixed bugs that caused the
ImageProcessor.isInvertedLut() and ImageProcessor.isColorLut() methods
to sometimes incorrectly return 'true' with thresholded images.
- Thanks to Volko Straub, fixed a bug that could cause non-thresholded pixels in
16-bit and 32-bit images to be highlighted in red
(example).
- Thanks to Thomas Boudier and Jan Eglinger, fixed a bug that caused macro file name
parameters containing a "]" character to not be read correctly.
- Thanks to Michael Nonet, fixed a bug caused the median to always be set to zero
when measuring line selections.
- Thanks to Norbert Vischer, fixed a bug that caused errors after running the
run("RGB Stack") or run("HSB Stack") macro functions on large images when
running Java 8 on macOS.
- Thanks to Chris Wood and Curtis Rueden, fixed a bug that caused the
Image>Stacks>Delete Slice command to deadlock when deleting the
last channel of a hyperstack.
- Thanks to Stein Rorvik, fixed a bug that caused the Process>Math>NaN Background
command to throw an exception when attempting to process a non-32-bit stack.
- Thanks to Stein Rorvik, fixed a bug on Windows that caused text
to be pasted into text editor windows at the wrong position.
- Thanks to Stein Rorvik, fixed a bug that caused print("\n\n") to do
nothing instead of outputting two blank lines as expected.
- Thanks to 'mryellow', fixed a bug that caused polygonal ROIs with
more than 65,535 points to not be saved correctly.
- Thanks to Stein Rorvik, fixed a bug that caused right justified TextRois.
to not be displayed correctly if the fill color was not set.
- Thanks to Lorenzo Cangiano and Jan Eglinger, fixed a 1.52c regression
that caused a "Save changes?" dialog to be unexpectedly displayed when
closing an image with a multi-point selection.
- Thanks to Stein Rorvik, fixed a 1.52d regression that caused density
calibration to be lost when duplicating 8-bit and 16-bit images.
1.52d 11 June 2018
- The Image>Show Info command no longer truncates
one line slice labels to 60 charactera.
- Thanks to Norbert Vischer, the changeValues() macro function
can now be used to replace NaNs.
(example).
- Thanks to Mark Histed, when the shift key is down, the display
range is no longer changed when stepping forward/back in a stack.
- Thanks to Hugo, the Process>FFT command displays an error
message if the padded image is going to be 65536x65536 or larger.
- Thanks to Roger Leigh, the IJ.javaVersion() method works with Java 11.
- Added the IJ.Roi(x,y,w,h) and IJ.OvalRoi(x,y,w,h) methods.
- Thanks to Gregor and Michael Schmid, added the ImageProcessor.createMask() method
(example).
- Thanks to David Kysela, added the PointRoi.promptBeforeDeleting(boolean) method
(example).
- Thanks to Laurent Thomas, added the ImagesToStack.run(images) method
(example).
- Added the Tools.getStatistics(double[]) method.
- Thanks to Ximo Soriano and Michael Schmid, fixed a bug that could cause the
newImage("Name","RGB noise",width,height,1) macro function to throw an exception.
- Thanks to Ruben Gres, fixed a bug that caused the Overlay.duplicate() method
to not keep the 'isCalibrationBar' and 'selectable' settings.
- Thanks to David Schreiner, fixed bugs that caused the
File>Import>Image Sequence command to not correctly
handle image metadata longer then 60 characters.
- Thanks to 'yahbai', fixed bugs that caused the saveAs("jpg",path),
saveAs("gif",path) and Overlay.measure macro functions to not work
in headless mode.
- Thanks to 'yahbai', fixed a bug that caused the ImagePlus.deleteRoi()
method to throw an exception in headless mode.
- Thanks to Michael Kaul, fixed a 1.52a regression that caused
an EOFException when opening Analyze format RGB images.
- Thanks to Bill Christens-Barry, fixed a 1.52b regression that caused the
label set with the setMetadata("Label", label) macro function to not be displayed
in the image subtitle of single images.
- Thanks to Michael Cammer, fixed a 1.52c regression that caused
the Image>Crop command to not work as expected
with 16-bit images.
- Thanks to Peter Meijer, fixed a 1.52c regression that could cause
ClassCastExceptions when converting RGB images to stacks.
1.52c 20 May 2018
- Activating an ROI in an overlay created by Measure (with “Add to overlay" enabled),
or by the particle analyzer, selects the corresponding row in the "Results" table.
- ImageJ displays a "Delete Points?" dialog before deleting a multi-point selection
with counters.
- Thanks to "zzyzyman", fixed a bug that caused ImageJ to fail to open odd-width RGB AVI files.
- Thanks to Merijn van Erp, fixed a bug that caused the CurveFitter.getSortedFitList()
method to throw an exception.
- Thanks to Kees Straatman and Bill Christens-Barry, fixed a bug in the macro interpreter
that caused it to not detect a missing '[' after an array variable.
- Thanks to Mike, fixed a 1.52b regression that caused the AVI Reader to
fail with a "Required item ‘00ix’ not found" error.
- Thanks to Curtis Rueden, fixed a 1.51t regression that caused errors in
headless mode macros to throw a HeadlessException.
- Thanks to 'cortig' and Curtis Rueden, fixed a 1.52b regression that caused
the "Apply" option of the Image>Adjust>Threshold command to not
behave as expected with 16 and 32 bit images.
1.52b 6 May 2018
- Changed "Random" to "Noise" in the "Fill with:" choice of
the File>New>Image dialog box.
- Thanks to Christian Evenhuis, fixed a bug with the
Edit>Selection>Line to Area command that caused
the resulting area selection to translated if the source was a polyline
or freeline selection less than 5 pixels wide.
- Added the IJ.javaVersion() method.
- Thanks to Fred Damen, fixed bugs that caused the
Image>Stacks>Tools>Concatenate command
to sometimes not work as expected.
- Thanks to Aryeh Weiss and Michael Schmid, worked around a
Linux problem with large images not showing at low magnification.
- Thanks to Fred Damen, fixed bugs that sometimes caused
slices labels of single slice stacks to be lost.
- Thanks to BrainPatcher and Stefan Helfrich, fixed a bug
that caused the ROI Manager's "Multi Measure" command to
not work correctly with point selections.
- Thanks to "zzyzyman", fixed a bug that caused ImageJ to
fail to open AVI files that used the 'indx'/'ix00' indexing schema.
- Thanks to Moses, fixed a 1.52a regression that caused row
labels to be omitted from tables created by the ROI Manager's
"Multi Measure" command.
- Thanks to Jerome Mutterer, fixed a 1.52a regression that caused
imported Results tables to be displayed without row numbers.
1.52a 23 April 2018
- Thanks to Michael Schmid, added Apply Macro
commands to the Edit and contextual (right click pop-up)
menus of table windows.
Also added the ResultsTable.applyMacro() method
(JavaScript example).
- Thanks to Ron DeSpain, tables created by the Image>Overlay>List Elements
command can be renamed "Results" and the values accessed using the getResults()
and getStringResult() macro functions.
- Removed the obsolete Plugins>New>Table command. Macros
that use this command will continue to work.
- Thanks to Michael Kaul, added an optional 5th argument
('stepSize') to the Dialog.addSlider() macro function
(example).
- Thanks to Gabriel Landini, on Linux, added the
“Cancel button on right” option to the Edit>Options>Appearance
dialog box.
- The "showRowNumbers" property of the ResultsTable class now defaults to 'false'.
- Thanks to Adrian Daerr, when importing ".raw" files with dimensions encoded
in the name (e.g. "myfile-640x480.raw"), the byte order is set to
big-endian if the name ends in "be.raw" and to little-endian if the name
ends in "le.raw".
- Thanks to Arttu Miettinen, imported ".raw" files with dimensions encoded
in the name can have a width and/or height less than 10.
- Thanks to Stein Rorvik, added toScaled(x,y,z) and toUnscaled(x,y,z) macro functions.
- Added 20 macro functions that work with tables. They operate on the
current (frontmost) table or an optional title argument can be provided (e.g., Table.size("My Table")).
Examples: Sine/Cosine Tables,
Rearrange Table and
Access Tables.
- Table.create() - opens a new table
- Table.reset() - resets (clears) the table
- Table.size() - number of rows in the table
- Table.title() - title of the current table
- Table.headings() - column headings as a tab-delimited string
- Table.get(columnName, rowIndex) - returns a numeric value
- Table.getColumn(columnName) - returns a column as an array
- Table.getString(columnName, rowIndex) - returns a string value
- Table.set(columnName, rowIndex, value) - sets numeric or string value
- Table.setColumn(columnName, array) - sets an array as a column
- Table.update() - updates table window
- Table.applyMacro(macro) - applies macro code to table
- Table.rename(title1, title2) - renames a table
- Table.save(filePath) - saves the table
- Table.open(filePath) - opens a table
- Table.deleteRows(index1, index2) - deletes specified rows
- Table.renameColumn(oldName, newName) - renames a column
- Table.deleteColumn(columnName) - deletes specified column
- Table.showRowNumbers(boolean) - enable/disable row numbers
- Table.showArrays(titleAndOptions, array1, array2, ...) - displays arrays in a table (like Array.show)
- Thanks to Trevor Joyce and A Schain, added the macro-callable RoiManager.getIndexesAsString() method.
- Thanks to Michael Schmid, added the Tools.copyFile(path1,path2) method.
- Thanks to Salim Kanoun, added the RoiManager.setRoi(roi,index) and Overlay.set(roi,index) methods.
- Thanks to Fred Damen, fixed a bug that caused the SubHyperstackMaker.makeSubhyperstack()
method to not work when extracting a single frame.
- Thanks to Fred Damen and Michael Schmid, fixed a curve fitter
bug that could cause a NullPointerException.
- Thanks to Norbert Vischer, fixed a bug that caused the File.copy() macro
function to not preserve the modification date.
- Thanks to Philippe Carl, fixed a bug that caused the Image>Hyperstacks>Reduce Dimensionality
command to not preserve the "Info" image property.
- Thanks to Jan Eglinger, fixed bugs that caused the roiManager("open",path)
macro function to ignore the roi name and roiManager("save",path) not
to be recorded when 'path' ended in ".roi".
- Thanks to Norbert Vischer, fixed a bug that caused the Image Calculator to not correctly
calculate the result when the operation is MULTIPLY or DIVIDE, the 1st image is 8 or 16 bit,
the 2nd image is 32 bit and "32-bit result" is unchecked.
- Thanks to Mark Rivers, fixed a bug that caused ImageJ to not
correctly open some uncompressed planar RGB TIFFs.
- Fixed a 1.51s regression that caused statistical calculations on
small 16-bit images or selections to be much slower.
- Thanks to Michael Schmid, fixed a 1.51o regression that caused the particle
analyzer to hang when processong 32-bit images.
Home