CellProfiler release notes: detailed - CellProfiler/CellProfiler GitHub Wiki

This page is now deprecated, future release notes can be found on the releases page and the blog.

Overview

This page contains a very detailed list of bugs fixed in each version. For brief overviews of each release, see the CellProfiler release notes.

Table of Contents

  1. Changes in version 2.1.1
  1. Changes in version 2.1.0

Issue numbers cited below correspond to those on Github (https://github.com/CellProfiler/CellProfiler).

Features added

  • Improved display of notifications when user tries to analyze images, but the project configuration does not produce any image sets (Issue #1055)
  • Better error messages if File -> Open Recent and other try to open a non-existent file (Issue #668)
  • Added a preference that controls the default maximum Java heap size (Issue #787)
  • Added ctrl-p shortcut to save the current pipeline to a file.
  • Added an “—omero-credentials” command-line switch to let CellProfiler authenticate with Omero in headless mode (issue #1052)
  • Omero URLs can contain credentials
  • Use the color-picker setting to pick colors in OverlayOutlines, DisplayDataOnImage and ExportToDatabase.
  • If a module is marked as “paused” for test mode and the project or pipeline is saved and reloaded, the module remains marked as “paused” on loading. (Issue #960)
  • The “-o” command-line switch will create the indicated output folder if it doesn’t exist (Issue 1025)
  • Show the group number and index of the image set within the group in the title of module display windows for pipelines that use grouping. (issue #1101)
  • Added a preference to optionally save the pipeline and / or file list when saving a project (Issue #1160)

DisplayDataOnImage

  • Added setting that allows user to create an output image of just the numeric data on a black background (issue #978)

EditObjectsManually

  • Issue #1054 – added a button that toggles outlines off and on.
  • Issue #1105 – added a keyboard shortcut to toggle between showing objects as outlines or using an alpha-blend of the image and colored object

ExportToDatabase

  • Issue #1003 – warn user if SQLite is used with the CreateBatchFiles module (you can’t update a SQLite database that’s open in another process)
  • Issue #1004 – added a setting that asks you if you want to use an HTTP prepend (previously, you’d leave the text blank to indicate that)

ExportToSpreadsheet

  • Added a warning dialog that is displayed if your pipeline tries to overwrite a .csv file along with a setting that lets you disable the warning and silently overwrite the .csv file (Issue #965)

Load Data, Metadata

  • If a row in a .csv file has more fields than there are headers, ignore the extra fields instead of preventing the user from using the file (issue #853)

NamesAndTypes

  • Better error messages if matching by order and NamesAndTypes finds more images in one channel than another (Issue #714)

Behavior changed

  • The default choice for file output location for ExportToSpreadsheet and UntangleWorms has been changed to the default output folder to match the behavior of ExportToDatabase, SaveImages, CreateBatchFiles and MeasureNeurons (issue #1070)
  • Removed the “-w” switch. Use “-p” for both pipelines and projects – CellProfiler will figure out what to do based on file type. (Issue #1072)
  • On OS/X, “.cpproj” is appended to the file name entered in File / Save Project As unless the filename already ends in “.cpproj”. Similarly File / Export / Pipeline appends “.cppipe” (issue #918)
  • The ClassifyPixels module is loaded on platforms that do not support it, but it displays an error status. (Issue #1073)
  • ImageMath: The log-transform option now performs log2(x+1) which transforms the range, 0-1, to the range 0-1. The former calculation is preserved as “Log Transform (legacy)” and all old pipelines use that instead of the new log-transform calculation.
  • IdentifyPrimaryObjects / IdentifySecondaryObjects – Do not smooth the image when thresholding by a measurement or using manual-mode.
  • IdentifyPrimaryObjects – (Issue # 1133) IdentifyPrimaryObjects fills holes twice – once after thresholding and once after separating touching objects. FillHoles now fills holes that would have not otherwise been filled, for instance if you have a confluent field of cells, all holes in the thresholded image would be filled by the corrected version. We addressed this in two ways:
    • The FillHoles option will not fill holes larger than the maximum cell diameter, squared. FillHoles is designed to fill holes within objects so it’s inappropriate to fill a hole that is larger than any potential object that could contain that hole.
    • The user can choose to never fill holes, to fill holes only in the final segmentation or fill holes both after thresholding and segmentation. Old pipelines will fill holes both after thresholding and segmentation.

Features removed

  • Semi-pointless tooltip removed from module settings panel (issue #1065)
  • The option to join small objects has been removed from IdentifyPrimaryObjects. The option is present in 2.1.0, but IdentifyPrimaryObjects had no code to join small objects and behavior was the same whether or not the option was selected.
  • Removed non-functional option in SaveImages to save image displays.

Bugs fixed

  • Issue #1166 – upgraded CellProfiler’s support for Paramorama to conform to the 2.1.x API.
  • Issue #1157 – Use path rather than directory + file name when loading project files. In some instances, for Linux, directory + file != path.
  • Issue #1152 – added work-around for illegal Unicode characters in OME metadata affecting some .LSM files.
  • Issue #1120 – always capture FileLocation, Series and Frame metadata.
  • Issue #1050, 1046 – Users can extract color images from image stacks with both C and either Z or T data.
  • Issue #1014, 1044 – Outlines are now composited with the images they overlay just before being drawn. This fixes a bug that did not correctly normalize images with outlines drawn over them (for instance, changing to log-intensity in IdentifyPrimaryObjects now works, when it did not previously).
  • Issue #1048 – Reimplement caching of Bio-Formats image readers. Image reader caching was inadvertently removed in 2.1.0, resulting in poor performance when opening stacks and movies. 2.1.1 has an improved and efficient caching scheme.
  • Issue #1018 – added missing display windows for the CreateWebPage, SendEmail, ExportToDatabase and ConserveMemory modules
  • Issue #1059 – prevent user from moving test-mode slider beyond the module after the last one executed and add a visual indicator of where that point is.
  • Issue #859 – During post-run processing, change the status bar to inform the user that CP is performing post-run processing (and indicate that this will take an indeterminate amount of time)
  • Issue #860 – Fixed a bug in the plate viewer that would cause CP to segfault on the Mac if the plate viewer was reopened after it was closed.
  • Issue #989 – prevent verbose display of log messages in analysis mode
  • Issue #1005 – prevent segfault if plate viewer tries to display a .mat file
  • Issue #1008, 1121 – fixed memory leak that eats up Java heap space each time you reload a project.
  • Issue #1010 – Fixed bug that prevented pipelines from being loaded if some modules couldn’t be loaded and the pipeline was saved with image set information.
  • Issue #1019 – Fix bug in module setting display code that prevented update of a setting’s error status.
  • Issue #1021 – Exit test mode if user adds files to or removes files from the file list.
  • Issue #1049 – Eliminate the “Continue processing” button from the error dialog if CellProfiler encounters an unrecoverable error during analysis.
  • Issue #1112 – use the OME Tiff reader instead of the baseline Tiff reader to read .tif files with OME XML metadata annotations.

Crop

  • Mask areas in the output image that were masked in the input image (issue #1092)

DisplayDataOnImage

  • Fix exception thrown when displaying measurements containing NaN values (issue #1084)

EditObjectsManually

  • Issue #1047 – Fixed a bug that resulted in a blank outlines image produced by EditObjectsManually
  • Issue #917 – more graceful exit from analysis mode if user cancels during EditObjectsManually.
  • Issue #1098 – fixed bug that caused objects to be offset by one pixel from their expected location.
  • Issue #1099 – fixed bug that would create overlapping objects when user had requested that objects should not overlap.

ExportToDatabase

  • Issue #966 – if user switches from per-object tables to one object table, use “DROP VIEW” to drop the single object view of the per-object tables.
  • Issue #1022 – for MySQL InnoDB, take a lock on the experiment table before doing per-imageset updates in order to lock out other CP instances until the transaction is complete.

ExportToSpreadsheet

  • Issue #1139 – ensure that the ImageNumber field is always saved in the image .csv

IdentifyPrimaryObjects, IdentifySecondaryObjects

  • Use a threshold correction factor of 1 (instead of the value recorded in the undisplayed threshold correction factor setting) when using the automatic thresholding method (issue #1071).
  • Turning on the “FillHoles” option can cause IdentifyPrimaryObjects / IdentifySecondaryObjects to merge two adjacent objects (for no good reason) in rare cases (issue #1086, #1116)

IdentifySecondaryObjects

  • Fixed a situation that sometimes generated an exception if an object that was present in IdentifyPrimaryObjects was filtered out because it was touching the edge (issue #1097)

Images

  • Issue #1016 – clear the file filter cache when a pipeline is reloaded. Files were being incorrectly marked as filtered or unfiltered after a pipeline load.

LoadImages / LoadData

  • Issue #1057 – compute MD5 hash on the file, not on the image data.

MeasureObjectIntensity

  • Issue #1115 – fix bug that caused an exception to be thrown when all edge pixels are masked

NamesAndTypes

  • Issue #867 – always make the Series and Frame metadata items available to the user

RunImageJ

  • Fixed the way the macro text box setting is displayed so that it correctly sizes and resizes as you type in more macro text (issue #987)
  • RunImageJ can cause the OS/X version of CellProfiler to hang if a command is run and the current image is retrieved (issue #1127)
  • Better handling of command parameters (issue #1145 and others)
  • Use of batch mode for ImageJ 1.x macros to improve handoff of and retrieval of the current image within ImageJ (issue #1172)

TrackObjects

  • Issue #639, 1104 – reversed order of primary/secondary objects when writing relationships during phase 2 of LAP.
  • Issue #1109 – save the Kalman feature measurements as floating point values instead of truncating them to integers.

Issue numbers cited below correspond to those on Github (https://github.com/CellProfiler/CellProfiler).

General changes

  • Module displays use table UI element to display table data, enabling scrolling and column resizing.
  • The default input and output directories have been deprecated in many instances and absolute paths are the preferred method for referencing file locations.
  • Binary settings changed from checkboxes to yes/no radio buttons (issue #872).
  • Image intensity interpolation options – users can choose nearest neighbor interpolation to see an image as pixels or choose spline interpolation to synthesize a sub-pixel resolution visualization (issue #457).
  • More restrictive names for images, objects and features (issue #777) – We have decided to restrict names for images, objects and features to alphanumerics and the underbar character (e.g. “Texas_Red” is legal, but “DNA, DAPI” is not). This lets us use the name as it is as a database column name and internally in many contexts which would otherwise require an escape encoding. This change will break pipelines with names that violate the convention (issue #364).
  • Plate viewer data tool added.
  • Object relationships table – relationships discovered by modules such as RelateObjects, TrackObjects (frame-to-frame relationships), IdentifySecondaryObjects/IdentifyTertiaryObjects and MeasureObjectNeighbors are recorded in a table of object-object relationships to allow accurate recording of cell lineage and many-many relationships that cannot be recorded using a single measurement on one object (issue #790, #520).
  • ImageJ plugins that reference the AWT can now be used with CellProfiler on the OS/X platform (issue #696).
  • Add “Open output folder” button to “Analysis complete” dialog (issue #734).
  • Test mode: Initially select current image set in image set chooser dialog (issue #658).
  • Improvements to module list panels – custom UI, green progress arrow indicates how far pipeline can run (issue #729).
  • Modules can be disabled – click on the green checkmark to the left of a module name to disable or re-enable it. Disabled modules will not be run in analysis or test mode (issue #468).
  • Added option to save individual subplots within a display (issue #633).
  • Improvements to appearance of panel resizing drag bars (issue #590).
  • Pipeline files are now saved with the .cppipe extension by default.
  • Added CellProfiler file associations for pipeline and project files – opening a pipeline or project in Windows Explorer or OS/X Finder launches CellProfiler.
  • CellProfiler development tutorial example files added.
  • Regular expression editor: added a “guess” button that compares the example file name against patterns generated by several microscope vendors and suggests an appropriate regular expression that matches.
  • TIFF files are saved with the “.tif” extension (issue #315).
  • CellProfiler reports two pieces of revision information (in pipeline and about-box): Timestamp of repository check-in (format is YYYYMMDDHHMMSS), GIT hash

Specific modules

  • CalculateImageOverlap: added Rand Index and Adjusted Rand Index measurements for scoring segmentation accuracy vs ground truth (issue #298).
  • CalculateImageOverlap: measurement names changed to include object names when comparing one object against another (issue #489).
  • CalculateImageOverlap: associated images are no longer required or used when calculating object overlap (issue #933)
  • CalculateMath: added options to constrain values to a range and to add a constant (issue #429).
  • CalculateStatistics: write measurements to Experiment database table (issue #645).
  • ClassifyPixels: user can generate probability maps for multiple classes using a single ClassifyPixels module instance (issue #334).
  • DisplayDataOnImage prompts the user for a background image when used as a data tool (issue #694).
  • DisplayDataOnImage – added option to show values using a colormap (issue #659).
  • ExportToDatabase: SQL schema definition statements now use the TEXT data type instead of VARCHAR to store strings (issue #258).
  • ExportToDatabase: Added a “Confirm connection” button to check database connection settings (issue #485).
  • ExportToDatabase: Added “overwrite existing tables” options (issue #454).
  • ExportToDatabase: option added to create a single-table database view of all object tables if multiple object tables selected (issue #300).
  • ExportToSpreadsheet shows the files being written in its display (issue #890).
  • ExportToSpreadsheet no longer optionally prepends the name of the measurements file to the names of the .csv files it produces (issue #869)
  • ExportToSpreadsheet: added options to control how NaNs are written (issue #494).
  • EditObjectsManually now has a user interface for editing segmentation results (issue #743).
  • FilterObjects: Added option to assign maximal / minimal per-object child to only one parent (issue #764).
  • FilterObjects: added mode to filter objects touching the border (issue #427).
  • FilterObjects, FlagImage: if using rules, allow user to specify which class for multiclass classifier. (issue #350) For FlagImage, flagging using CPA rules is new in this release (issue #301).
  • IdentifyPrimaryObjects – can disable smoothing before thresholding.
  • IdentifyTertiaryObjects: added option to not shrink the smaller object prior to subtraction (issue #428).
  • LoadData: can specify the series and frame in the .csv file to enable processing of TIF stacks and similar (issue #698).
  • MeasureObjectRadialDistribution: added option to start bins at inner object’s edge (issue #443).
  • MeasureObjectRadialDistribution: allow user to specify the widths of annuli in pixels as an alternative to fractions of the radius (issue #280).
  • Morph: add 0/1 scaling option for distance transform operation (issue #656).
  • Morph: added structuring element choices for many operations (issue #528).
  • SaveImages: can specify # of digits for sequential numbering option (issue #716).
  • Smooth: added 0/1 clipping option for Fit to Polynomial method (issue #634).
  • StraightenWorms – segment, longitudinal stripe and grid measurements are saved with the input worm objects so that all worm measurements are recorded in a single table.
  • StraightenWorms manual flipping mode – the user can choose the worm orientation through the user interface in addition to automatic orientation detection.
  • TrackObjects - improved memory consumption in 2nd phase of LAP (issue #916)

Bug fixes

  • Align: can produce a mask whose size is different from the image (issue #766).
  • CalculateImageOverlap: Fixed bug when calculating object overlap - last object in image was not being included in calculation of false positives / negatives / f-factor.
  • CalculateMath: Handle missing values in CalculateMath (issue #695, #682).
  • CalculateMath: AssertionError during run if operation is “None” (issue #422).
  • ClassifyObjects: objects with undefined measurements are excluded from the statistics calculations (issue #325).
  • ClassifyObjects: fix display exception when classifying using two measurements and there are no objects (issue #926)
  • ColorToGray bugfix for combined mode and default values (issue #883).
  • CorrectIllumination_Apply: incorrect scaling of .mat illumination correction function (issue #347).
  • CorrectIllumination_Calculate – don’t make lengthy calculations needed for display if display window is closed or in headless mode (issue #484).
  • CreateBatchFiles: CellProfiler 1.0 pipelines with CreateBatchFiles module won’t load in CellProfiler 2.0 (issue #321).
  • Crop - fix display exception when the masking image is all zeros.
  • Crop: Cropping using a mask with no foreground pixels raises an exception when displaying (issue #927).
  • DefineGrid: Too few grid cells identified if grid edge is outside of image (issue #313).
  • DefineGrid: grid size miscalculated if no guiding image is supplied (issue #937).
  • EnhanceEdges: don’t find edges at image border (issue #407).
  • ExportToDatabase: errors when “save thumbnails” not checked (issue #486).
  • ExportToDatabase: fails as data tool if asked to aggregate unexpected measurements (issue #444).
  • ExportToDatabase: error if two modules produce a measurement with the same name (issue #322).
  • ExportToDatabase: if not including information for all images, image choice box is incorrectly populated (issue #307).
  • ExportToDatabase: pressing “Press to select measurements” causes exception (issue #257).
  • ExportToDatabase: fix deadlock in MySQL InnoDB engine (issue #1022).
  • ExportToSpreadsheet – delimiters other than comma and tab did not work (issue #854).
  • FilterObjects by rules fails if there are no objects to filter (issue #423).
  • FlagImage: image skipping causes failures in many aggregation modules (issue #310, #273).
  • FlipAndRotate – fixed intensity scaling problem (issue #834).
  • IdentifyPrimaryObjects: gaussian blur inappropriately applied when using a binary image to threshold (issue #318).
  • LoadData – when location is specified as a URL, separate the URL into path and file name (issue #844). The file name contained the entire URL previously.
  • MeasureObjectIntensity: Median Absolute Deviation measurement was always 0 (issue #906).
  • LoadData: get_measurements did not report metadata measurements, prevented use of metadata as a measurement (issue #490).
  • LoadData: ensure that LoadData produces a Path_ image measurement, even if the .csv file doesn’t have one (issue #330).
  • LoadImages: error with loading multiple .stk files as an image set (issue #327).
  • LoadImages: loading images as objects can cause modules which use the unedited_segmented labeling to fail (issue #387).
  • MeasureImageAreaOccupied: module’s measurements could not be chosen in modules such as CalculateMath (issue #665).
  • MeasureImageQuality: Fails if input image is single-valued (issue #314).
  • MeasureObjectNeighbors: Neighbor measures should respect discarded objects (issue # 363).
  • MeasureObjectNeighbors out of bounds corner case fixed (issue #852).
  • MeasureObjectNeighbors: objects with no pixels had percent-touching > 100% (issue #434).
  • MeasureObjectRadialDistribution: remove bins button was missing (issue #293).
  • MergeOutputFiles: UI error on Mac prevents use (issue #268).
  • Morph: grayscale operations convert color images to grayscale prior to calculation (issue #324).
  • PauseCellProfiler: Error running in headless mode (issue #741).
  • RelateObjects: “Add another parent” button should not be visible unless “Calculate distances to other parents?” is checked (issue #294).
  • RelateObjects: indexing exception error if # of parents is zero (issue #276).
  • RelateObjects: fixed parent/child color mismatch in display output (issue #398).
  • SaveImages: output file path not converted by CreateBatchFiles if set to “Elsewhere” (issue #763).
  • SaveImages: “Imaging c module not installed” error (fixed by discontinuing use of PIL) (issue #388).
  • SaveImages: Only show the “Create Subdirectories” option when the saved file name is based on one of the loaded images (issue #382).
  • SaveImages: 16-bit TIF images written with incorrect orientation header on OS/X (issue #317).
  • StraightenWorms: fixed exception on re-execution in test mode (issue #400).
  • StraightenWorms bug fix when worm objects are not numbered consecutively (issue #892).

General fixes

  • 2-frame TIF stacks could not be opened (issue #855 and related BioFormats fix, issue #775).
  • Entering decimal and integer setting values – ui glitchiness with leading and trailing zeros fixed (issue #833).
  • Handle Undo in test mode similarly to any other setting modification (issue #810).
  • Turn off zoom mode when turning on measure mode in image displays (issue #805).
  • Regular expression editor crash on OS/X fixed (issue #804).
  • Adjustments for object displays using colormaps containing a black color (issue #789).
  • Flex file in which all image planes look the same (issue #785).
  • CellProfiler errors occur after closing the “Add module” window (issue #778).
  • Binary image thresholding bug in IdentifyPrimaryObjects / IdentifySecondaryObjects / ApplyThreshold fixed (issue #774).
  • Error when saving a MATLAB output file after cancelling an analysis (issue #748).
  • Disable module editing during image processing (issue #740).
  • Fix problems with Windows file names and metadata escaping in custom path settings (issue #710).
  • 8-connected structuring element doesn’t work on all platforms (issue #702).
  • Otsu thresholding excludes NaN pixels from calculations (issue #624).
  • Measurement setting prevented user from selecting a measurement named OriginalBlue_Nuclei if another measurement named OriginalBlue was present (issue #436).
  • Image pixel alignment to tickmarks problems (issue #415).
  • IdentifyPrimaryObjects/IdentifySecondaryObjects/ApplyThreshold: Otsu doesn’t work with images with negative values (Jira img-1466).
  • MeasureImageIntensity / MeasureObjectIntensity: ignore pixels with NaN or Inf values when computing measurements (issue #271).
  • Deleting last module sometimes results in exception (issue #256).
  • Bugs in module validation warnings (issue #253, #247).
  • On OS/X UI problems occur when accessing the default input folder combo box because there are no recently visited folders (issue #245).

Bugs fixed in version 11710 released on 2012-02-27

Fixes that may result in changes in measurements

  • MeasureImageQuality - Added FocusScore, LocalFocusScore, Correlation and PowerLogLogSlope measurements.
  • UntangleWorms
    • Limit the number of worms per tangle - A setting was added to UntangleWorms that discards a worm tangle if its complexity would require an undue amount of processing time. The user can control the maximum degree of complexity allowed.

Other fixes

  • LoadImages
    • scan for a wider range of image extensions (.ppm, .grib, .im, .rgba, .rgb, .pcd, .h5, .jpe, .jfif, .jpg, .fli, .sgi, .gbr, .pcx, .mpeg, .jpeg, .ps, .flc, .tif, .hdf, .icns, .gif, .palm, .mpg, .fits, .pgm, .mic, .fit, .xbm, .eps, .emf, .dcx, .bmp, .bw, .pbm, .dib, .ras, .cur, .fpx, .png, .msp, .iim, .wmf, .tga, .bufr, .ico, .psd, .xpm, .arg, .pdf, .tiff)
    • Use BioFormats to load JPG and PNG
  • StraightenWorms - Fixed bug that occurs if image contains a single worm
  • UntangleWorms
    • Fixed exception caused by worms of zero length (IMG-1543)
    • Fixed exception caused by worm skeletons of zero length (IMG-1541)
    • Fixed exception caused by worm segments of length 1
  • User interface
    • Fixed a module display problem that could result in a segmentation fault on the Macintosh (IMG-1516, IMG-1491)
    • Enabled menu options for Paramorama. To use Paramorama, open the Preferences dialog (File / Preferences... in the menu) and make sure the entry, "Show the sampling menu" is checked. Restart CellProfiler and the Sampling menu will be available. Details for running Paramorama are available on its website.

Bugs fixed in version 10977 released on 2011-03-03

Fixes that may result in changes in measurements

The following fixes may result in different measurement values than produced by r10415

  • img-1201 - changed algorithm that adds 1/2 bit of noise when calculating Otsu backgrounds. This may result in slightly higher background estimates (~ 1%) and therefore lower areas and integrated intensities.
  • img-1183 - The code for measuring lower quartile, median and upper quartile intensity per object was changed. The code now orders the values, takes the ones above and below the 25%, 50% and 75% and performs a weighted average. The prior version used the value at or immediately below 25%, 50% and 75%. Values for Intensity_LowerQuartile_Intensity, Intensity_Median_Intensity and Intensity_UpperQuartile_Intensity as calculated by the new release will be higher than those in the previous release. As an example, Intensity_LowerQuartile_Intensity_CorrBlue for well A04 in the SBS example data set was 0.12% higher on average in the new version.
  • img-1172 - Added AreaShape_Compactness measurement: 2 * pi * radius of gyration**2 / area
  • img-1188 - Added AreaShape_Center_X and AreaShape_Center_Y which are the coordinates of the point within the object that is farthest away from the object's edge
  • img-1210 - Added Classify_PctObjectsPerBin, Classify_NumObjectsPerBin measurements to ClassifyObjects
  • img-1300 - The Align module handles cropping slightly differently than in the previous version. There are three modes: Crop to aligned region which is most similar to asking the previous version to crop images, Keep size which is most similar to not asking to crop and Pad images which is new. The measurement names have changed slightly and the first image's alignment may be adjusted in the Keep size mode, resulting in different object positions in the output.

Other fixes

  • img-675 - UnmixColors produces separate intensity images from histologically stained images
  • img-821 - Added PercentMaximal measurement to MeasureImageIntensity
  • img-978 - SaveImages can create subfolders when saving images if the folders don't exist
  • img-997 - ClassifyPixels module & Ilastik
  • img-1015 - fixed problem when user clicks outside of image in DefineGrid
  • img-1020 - out of process solution for RunImageJ on the Mac
  • img-1037 - added dropdown lists of recent folders to default image and output directory controls
  • img-1042 - Improved cursor visibility when drawing zoom rectangle on image on PC
  • img-1052 - MeasureImageAreaOccupied can measure amount of area occupied in a binary image as well as in objects.
  • img-1055 - Improved CellProfilerAnalyst property files in ExportToDatabase
  • img-1056 - Metadata editor supports cut, copy and paste
  • img-1091 - Fixed bug that caused images to disappear when saving in PDF
  • img-1093 - 4x speed improvement in MeasureObjectIntensity
  • img-1095 - fixed GUI problems in Crop settings
  • img-1097 - Improved well selection in DisplayPlatemap
  • img-1099 - MeasureRadialDistribution - fixed rare corner case resulting in exception if exactly 127 objects
  • img-1107 - ImageMath can use values from measurements (including metadata) in its calculations
  • img-1111 - fixed bug in TrackObjects involving objects that appear in only one frame
  • img-1118 - fixed bug in adaptive threshold on masked image
  • img-1121,1167 - Let user specify plate type and plate and well metadata columns for CellProfiler Analyst properties file in ExportToDatabase
  • img-1122 - SaveImages bug fix: create directory if needed when saving movie
  • img-1126, img-1164 - TrackObjects measurements are re-evaluated during LAP second pass
  • img-1128 - TrackObjects fix - need labels matrix as integers or distance method fails (Linux only)
  • img-1131 - Make test mode's "Next Image Cycle" work properly after an image cycle is manually chosen
  • img-1133 - Made CreateBatchFiles hide all windows (winky eye off). Running in batch mode won't show windows.
  • img-1134 - Fixed bug involving grouping and TrackObjects
  • img-1141 - Clear out image sets when starting a group - fixes a bug in test mode when user chooses the same group twice
  • img-1142 - Remove all window names from window menu when user selects "Close All"
  • img-1144 - Fixed bug that occurs when user enters backslashes into directory settings that use metadata substitution
  • img-1149 - Made ExportToDatabase enter "NULL" into database for any measurement that yields an infinite value
  • img-1151 - Fixed bug in MeasureObjectSizeShape for single-pixel objects
  • img-1154 - Fixed bug causing exception in TrackObjects when run contains multiple groups
  • img-1161 - Fixed bug in IdentifyPrimaryObjects: maxima from other objects could suppress maxima inappropriately
  • img-1180 - Fixed bug in ApplyThreshold that could cause downstream modules to retrieve the wrong image in test mode
  • img-1183 - Fixed bug causing exception in MeasureObjectIntensity when measuring masked images
  • img-1185 - Resize can now resize an image to another image's dimensions
  • img-1186 - Make texture correlation measurements <= 1 for pathological cases involving roundoff errors
  • img-1199 - CellProfiler --jvm-heap-size switch lets you adjust the amount of memory available to JVM (bioformats + imagej)
  • img-1204 - Metadata setting editor display improvements
  • img-1208 - Patches to bioformats for Operetta files saved in 16-bit mode with JPEG2000 compression
  • img-1211 - ExportToDatabase failed on grouped data when used as a data tool. Now fixed.
  • img-1216 - Added erase all and erase last buttons to IdentifyObjectsManually
  • img-1225 - CellProfiler can save and load the labels from objects as .tif files (LoadImages, LoadData, LoadSingleImage and SaveImages)
  • img-1226 - Fixed bug in LoadData's "Process just a range of rows"
  • img-1227 - Updated Bioformats to fix bug that caused CellProfiler to save color AVI movies as grayscale
  • img-1239 - Fixed display of aggregate Zernike statistics if any object has a NaN Zernike
  • img-1241 - Display error message when an http link to an example pipeline is invalid
  • img-1252 - Let users turn off Gabor features in MeasureTexture
  • img-1255 - resolved a problem in File / Run multiple pipelines and its file choosing dialog that prevented it from working
  • img-1260 - better sizing of the module list window
  • img-1265 - fixed a bug in ReassignObjectNumbers that could make IdentifySecondaryObjects fail
  • img-1268 - fixed a bug in the Propagate function that prevented use of Cython v 0.14 and might have caused crashes
  • img-1270 - fixed divide-by-zero bug in CalculateMath
  • img-1277 - added support for thumbnail images for SQLite
  • img-1288 - LoadImages lets you choose which subfolders should be analyzed

Bugs fixed in version 10415 released on 2010-08-20

  • Bioformats loading of tiff stacks & movies takes an inordinate amount of time
  • Bioformats version 4.2 - stable release
  • Memory problem caused by failure to destroy dialog boxes
  • Improvements to loading pipelines and files via a URL
  • ImageJ can run headless on Macintosh
  • Improvements saving 16-bit TIF images
  • img-1104 - DisplayDataOnImage did not produce a suitable image for saving
  • img-1090 - Fixed bug in LAP method of TrackObjects
  • img-1082 - Overwriting Batch_data.mat now does take "No" for an answer
  • img-1074 - Fixed bug in Haralick measurements in image with no objects
  • img-1072 - selecting measurements in ExportToSpreadsheet on mac
  • img-1066 - masked image segmentation fails for certain settings of IdentifyPrimaryObjects
  • img-1060 - identifyobjectsmanually didn't work at all
  • img-1057 - Don't display spirious NaN messages in Numpy
  • img-1055 - CellProfilerAnalyst properties file improvements in ExportToDatabase
  • img-1054 - Display a message box if CellProfiler fails to load the pipeline specified on the command-line
  • img-1051 - Only show "group by metadata" in LoadImages when there's metadata to group by
  • img-1049 - Consistent labeling of module figure windows
  • img-1046 - Cleanup of settings in SaveImages
  • img-1029 - crash on masked image in CorrectIlluminationCalculate
  • img-1021 - Object granularity measurements
  • img-1019 - Added fill-holes option to IdentifySecondaryObjects
  • img-1016 - Group movie frames for .tiff stacks and .flex files
  • img-1012 - Improved handling of objects touching border in MeasureObjectNeighbors
  • img-1009 - watershed documentation
  • img-1006 - Fixed case bug when capturing path name metadata
  • img-1002 - CorrectIlluminationCalculate's "All" mode isn't allowed if you're using LoadData
  • img-1000 - UnmixColors module: color deconvolution for histological images
  • img-999 - Capturing the alpha channel in ColorToGray, using more than 3 channels from a multichannel .tif
  • img-998 - Cacheing of information in LoadData
  • img-993 - Metadata tag editor
  • img-990 - Optionally overwrite output .mat file
  • img-988 - You can shut off the "Analysis complete" message at the end of a run.
  • img-985 - Prompt users to save old pipeline before loading new one or clearing pipeline
  • img-984 - Close ImageJ windows as well as CellProfiler windows from Close All Windows menu command
  • img-979 - LoadImages can do load by order
  • img-976 - Fixed scrolling bugs in module list
  • img-974 - Fixed bugs in EditObjectsManually
  • img-973 - Added example module templates and made the plugins directory work
  • img-971 - crash in MeasureObjectintensity in masked image
  • img-949 - Added validation warnings in addition to validation errors
  • img-920 - Thumbnail support for CellProfilerAnalyst
  • img-877 - Resize module accepts multiple images
  • img-869 - Cleaner display for FilterObjects
  • img-793 - Improvements in layout of PDF manual
  • img-691 - Better help for TrackObjects
  • img-652 - Append .pdf when saving a figure
  • img-543 - better feedback when CSV file is locked by Excel
  • img-456 - CalculateStatistics writes images of dose/response curves instead of Matlab scripts
  • img-539 - Display both .mat and .cp files simultaneously for Load Pipeline menu entry
  • img-307 - Pick any image set in test mode
  • img-86 - Spline background calculation

Bugs fixed in version 10211

  • Fix measureobjectintensity to work with scipy 0.8,
  • IMG-896 - prepend ./ when creating batch files in some cases
  • img-974 - added guiding image + tests. imshow_labels applies the color map explicitly
  • Fix: IMG-982 PlateViewer Error upon launching another instance
  • derobotify main panel, add splitter window between modules & file browser IMG-741 IMG-952
  • img-906 - Added "Mask" option + tests* img-906 - handle masking in makeprojection / minimum properly + tests
  • img-978 - Fixed input/output subfolders + regression tests
  • img-978 - Fixed input/output subfolders + regression tests
  • img-971 - handle totally masked objects in MeasureObjectIntensity + regression test
  • img-970 - handle missing values + regression test
  • img-897: Removed notice in help re: manual cropping not implemented.
  • Fixed the high colorbar slider tooltip (IMG-950)
  • img-961 - Handle bad sizes in identify modules, measureneurons, overlayoutlines + tests for displaydataonimage
  • img-961 - Handle bad sizes in maskobjects and relateobjects
  • img-961 - Fix broken build
  • img-961 - updates to some modules to handle label size / image size conflicts
  • img-836 - Made identifyobjectsingrid yield measurements for all objects, but missing ones have no labels and have location_center_{x,y} = NaN. Also some hacking to try to save the image dimensions, see IMG-961
  • img-945 - don't get results / prevents warnings
  • img-677 - Implemented movie frame grouping in LoadImages. Compile win64 using distutil compiler choice. Refresh module view on text control edit and don't update GUI if numerically equal.
  • img-826,IMG-949: Changed Test mode warnings to validate_module_warnings
  • img-949,IMG-957: Added validate_module_warnings
  • img-957: Initialize rescaling option properly for new pipelines
  • img-949 - Added validate_module_warnings in cpmodule which should throw an exception if the user should be warned + associated display infrastructure. IMG-937 - fixed in order to test IMG-949
  • img-922 - fixed tests
  • img-922 - scaling added to erode / dilate/ open / close / bothat / tophat + tests
  • img-907 - override image provider's release_memory method to prevent warning message
  • img-957: Yet another bug that slipped past
  • img-957: Removed defunct tests + corrected error in upgrade_settings (causing build failure)
  • img-957: Keep settings values for tests
  • img-957: Removed rescaling option, with warning to user
  • img-735 ShowDataOnImage works as a datatool.
  • img-956 - fall back to absolute path for help image directories
  • img-743: Added link to tutorials page from welcome screen
  • img-946 fix.
  • img-948,IMG-680: Added help for menu bar items
  • img-947: Changed ImageNameSubscriber to OutlineNameSubscriber for relabeled primary objects

Bugs fixed in version 9978 (3rd Beta)

  • img-41 Propagate as an alternative to watershed in IdentifyPrimAutomatic
  • img-68 ShowPlateMapData: Local-to-remote pathname mapping option
  • img-173 allow user to rename/renumber files with additional params
  • img-214 Should LoadImages automatically be placed at the beginning of the pipeline when people startup CellProfiler?
  • img-257 TrackObjects: Add counts for number of unique objects that appeared/dissappeared for a given frame
  • img-275 RunMultiplePipelines
  • img-403 bus error when loading old pipeline
  • img-426 Remove period from end of settings
  • img-468 Bypassing flagged images
  • img-588 DisplayDataOnImage: select number of decimal places shown
  • img-637 weird error on cluster- urlretrieve
  • img-639 "TrackObjects: If saving color-coded image, save the image only, not the entire figure window (EOM)"
  • img-651 Show Pixel Data should stay on when selected
  • img-680 Convert to CP 2.0: Restart
  • img-681 Problems re: drag and drop modules below end of module list
  • img-697 Metadata can't be a number if used for grouping
  • img-702 Replacement of period and ampersand for I/O specification
  • img-727 Preferences: Add option for change outline colors for color-blind people
  • img-728 "Upon CP 2.0 release, add it to BioFormats' list of software using it"
  • img-744 ExampleGridImages pipeline doesn't display all info on image
  • img-770 Lazy load of icons
  • img-783 Relpath: Fails due to path case sensivity
  • img-790 "MemoryError in Test Mode, with limited numbers of figures displayed"
  • img-792 Close all windows
  • img-818 Move CP1.0 TODO's to JIRA
  • img-819 Fix slashes in manual image generation
  • img-823 Mismatches in grouping should put up helpful dialog
  • img-824 "If Java isn't found, display a dialog"
  • img-826 Display dismissable warning when first starting Test mode that ExportToDB/ExprtToSpreadsheet will not produce output (EOM)
  • img-833 Flex files crash
  • img-834 Auto-check for updates not working
  • img-836 ExportToSpreadsheet truncating rows
  • img-838 Nikon TIF format not read by CP
  • img-839 Add Cellomics .c01 images to supported files
  • img-840 ExportToDatabase datatool doesn't work
  • img-844 ExportToDatabase output broken
  • img-846 Archive of completed work as of December 2008: CP
  • img-847 Module view remains disabled after canceling run
  • img-850 "CPCluster, BatchProfiler: Problems with path names with spaces"
  • img-852 "Enable ""Smooth to average"" in more modules"
  • img-856 DisplayHistogram: Permit user to specify bins
  • img-857 32-bit image handling
  • img-859 Display warning if no write permission/not enough space for write
  • img-861 ExpandOrShrinkObjs: Fails to fill in hole in Example pipeline
  • img-862 Make CP export data in FCS format (flow cytometry data format) (EOM)
  • img-863 "ImageMath, CalculateMath should be standardized"
  • img-870 Use -r bsub switch in BatchProfiler to resubmit bad jobs
  • img-872 IdentifyPrimaryObjects: Integration of blob detection code
  • img-873 "Upon module error during analysis run, indicate graphically which module has the error"
  • img-874 Make sure spawned images/tools aren't overwritten on subsequent cycles
  • img-880 Datatools should not show module notes
  • img-881 Can't choose intensity measurement in displayscatterplot
  • img-882 LoadSingleImage: No measurements generated in pipeline if used as the only input module.
  • img-883 Bioformats error upon opening tifs- but tifs still open (somehow?)
  • img-884 Settings are blank after double-clicking module in module list
  • img-885 """Multiple SLF4J bindings"" warning on CP startup"
  • img-887 ExportToSpreadsheet exports Experiment even if CalculateStatistics module does not exist
  • img-888 "CalculateMath: Add ""None"" to operations so user can mutiply a measurement by a constant"
  • img-891 IdentifyObjsInGrid: Index out of range error
  • img-892 ExportToDatabase: Export metadata columns to SQLite db
  • img-893 Document LoadSingleImage behavior if used singly (EOM)
  • img-896 Check slashes in output modules for DirectoryPath
  • img-897 Crop: Implement cropping with mouse
  • img-898 ExportToDatabase: Errors on export if special characters in path
  • img-899 CPCluster: No module named decorator
  • img-901 Help link is broken
  • img-905 Impement conditional image cycle skipping in analysis run
  • img-906 MakeProjection: Doesn't actually make a projection
  • img-908 libtiff is not found
  • img-909 Clicking in settings area causes unintended scroll
  • img-911 Include the position number within a group as a measurement
  • img-912 FilterObjects: Filtered obj outlines not saved properly
  • img-913 Test Mode startup slow (for long pipelines)
  • img-915 ExportToDatabase: Error with CREATE statement in SQLite using truncated column header
  • img-919 export to db duplicating math columns
  • img-920 ExportToDatabase: Exporting thumbnails not yet working
  • img-923 CalculateImageOverlap: Failed on calculation of F-factor if true positive pixels count = 0
  • img-924 """Debug in pdb..."" hangs"
  • img-925 ExportToDatabase error - Column X cannot be null
  • img-927 Settings not shown upon clicking
  • img-928 Images in Help broken on Mac compilation (EOM)
  • img-929 ExportToDatabase with multiple object tables has wrong Per_Object table name in properties file
  • img-931 "LoadImages: If ""Text that these images have in common..."" is empty, pipeline is still able to run"
  • img-935 Do not default ExportToDatabase to separate Per_Object tables
  • img-942 BatchProfiler error - stops after 10 modules?
  • img-943 SaveImages fails on grayscale image when scaled
  • img-947 IdentifySecondary: Filtered obj outlines not saved properly
⚠️ **GitHub.com Fallback** ⚠️