CellProfiler Analyst Changelog

What's new in CellProfiler Analyst 3.0.4

Aug 27, 2021
  • Fixed "Score All" functionality with the FastGentleBoosting model type.
  • Revised t-SNE feature naming to be more compatible with SQLite.
  • Gates created in the Dimensionality Reduction module will be cleared when switching reduction method (as the measures from the previously selected method are overwritten).

New in CellProfiler Analyst 3.0.3 (Jul 14, 2021)

  • Fixed compatibility with MySQL databases.
  • Improved memory efficiency of 'score all'. Large databases should now process more smoothly.
  • If no class table name is specified, CPA will now ask whether to save a per-object table under a default name.
  • Improved check_tables feature, user will now be alerted if this process would remove all entries.
  • Fixed an issue with tile generation when datasets contain images of mixed sizes.
  • Errors during dimensionality reduction should no longer force the user to restart CPA.
  • Other bug fixes.

New in CellProfiler Analyst 3.0.2 (May 7, 2021)

  • CellProfiler Analyst should now be able to run on MacOS 11 "Big Sur". This version of the OS alters the UI layout in some modules, future releases may tidy this up further.
  • Revised the check_tables functionality. When creating 'checked' tables completely empty columns will now be dropped before removing rows with missing values, this should reduce instances where having checking enabled excludes all objects from the database.
  • Groups based on text variables have been fixed.
  • Hit table scoring and saving has been fixed.
  • Made further performance improvements to the 'score all' function.

New in CellProfiler Analyst 3.0.1 (May 3, 2021)

  • Fixed compatibility with some system locales on Windows.
  • Fixed a crash when dragging objects on MacOS.
  • Fixed Plate Viewer display in 'thumbnail' mode.
  • In the classifier, you can now press the 'F' key to fetch more objects.

New in CellProfiler Analyst 3.0.0 (Apr 29, 2021)

  • Global:
  • Ported CPA from Python 2 to Python 3.8.
  • Updated GUI to wxPython 4.1.
  • Updated several other dependencies to modern versions.
  • New build system using PyInstaller and GitHub Actions.
  • Java environment is now packed in with the builds and should be detected and used automatically.
  • Added imageio as the new primary image loader. CPA will fall back to using bioformats for unsupported formats. This can be overridden using the new force_bioformats properties setting.
  • Properties file errors which prevent startup are now properly caught and displayed to the user.
  • The tile loader now properly functions when used by multiple tools at the same time.
  • Tiles showing a placeholder image are now marked with a "loading" icon.
  • Image tile generation should now be more efficient.
  • New update notification system, uses the GitHub api since the old server is long gone.
  • Image controls (zoom/contrast) are now rate-limited to prevent excessive tile redrawing as the sliders are dragged.
  • Revised some database calls to avoid re-generating tables on tileloader threads.
  • Training set saving/loading now properly defaults to .csv format.
  • Added "Test filter" button to the filter creation dialog.
  • New Tool: Dimensionality Reduction:
  • Can perform several dimensionality reduction methods (e.g. PCA, t-SNE) and display the results.
  • Introduced "lasso" tool to aid in selecting and displaying objects of interest.
  • Image Gallery:
  • Images in the top pane are now rendered as tiles, rather than full size images which had to be scaled down.
  • Removed remains of what looks like classifier code, since it's not possible to add sort bins to the image gallery.
  • Classifier:
  • New classifier type: Neural Network (sklearn MLPClassifier). Hidden layers can be customised by using the box where "number of rules to display" would otherwise be specified.
  • Fixed other classifier types.
  • Classifiers now support use of scalers to normalise data (with the exception of the FastGentleBoosting classifier). Scaling can be enabled/disabled using the "Advanced" menu. Scalers are enabled by default on classifier types which need them, and will be attached to exported model files as model.scaler.
  • Added "sequential" fetching mode, which will call objects in order from a selected filter. Useful for gathering all objects in a filter.
  • Added "Sample with replacement" option to the "Advanced" menu. Disabled by default. When disabled CPA will stop fetching objects once every possible key has been used during that "Fetch" call.
  • Added "Remove duplicates" button to the sort bin context menu. Will remove all duplicate tiles from that bin.
  • When using the "Unclassified" bin, arrow keys can be used to select tiles, and number keys 1-9 can be used to assign objects to bins with the keyboard.
  • You can now drag to select multiple tiles within a bin (start dragging on the classifier background, not a tile).
  • When changing classes, Tiles are now detached from their original bin and attached to the new one, instead of being deleted and re-created. This allows bulk drag operations without excessive waiting times.
  • Loading training sets is now substantially faster.
  • "Set k-fold cross validation" setting for evaluation moved to the "Advanced" menu. Will default to 5, or the minimum training set class size if that's smaller.
  • Evaluation figure windows are now labelled with the name of the classifier that generated them.
  • Refactored parts of the object sampling functions to reduce database calls. In the majority of cases fetching objects should now be much faster. A properties setting has been added to revert to the old behaviour (use_legacy_fetcher).
  • "Score image" image display now properly shows classes, supports >10 classes and displays class counts next to their entries in the image control panel.
  • "Score all" operations should now be significantly faster.
  • Fixed progress dialogs for training and scoring.
  • Prevented drag events from being registered when the mouse is moved only a few pixels.
  • Chart tools:
  • Gates can now be used in the classifier. N.B. in classifier mode, filters and gates are applied on a per-image basis. For gates drawn on objects the resulting filter will grab objects from any image which contained an object which passed the gate. It'll probably be possible to filter on objects in the future, but will require some more extensive revisions.
  • Migrated to MatPlotLib 3 (fom 1.x).
  • Made chart and gate appearence more consistent between platforms.
  • Table viewer:
  • Column sorting should now work properly.
  • Opening a table no longer leaves a blank window behind.

New in CellProfiler Analyst 2.0 r11710 (Apr 9, 2015)

  • Fixed bugs:
  • Thumbnail preview in plateviewer was broken.
  • Densityplot incorrectly always plots ImageNumber on x-axis.
  • Per-object data points were being interpreted as image keys by scatterplot when plotting per-image (x axis) vs. per-object (y axis).