Skip to content

CPC v1.5.0

Latest

Choose a tag to compare

@Jay2owe Jay2owe released this 05 Aug 18:24
· 2 commits to main since this release

The analysis engine moved into cpc-core, an embeddable module compiled into this jar. Any other plugin can now offer centroid coincidence without CPC being installed.

The install story is unchanged: one jar, one update site, no prerequisites.

Changed

  • Object order in every per-object table is now ascending by label. It was first-voxel-encounter order, so a batch CSV could run 1, 2, 4, 3. Values per row are unchanged.
  • Labels are read by rounding, not truncation. A 32-bit label image holding 2.7 now reads as object 3; negative, NaN and overflowing values are background. Integer label images are unaffected.
  • Intensity-weighted centroids skip non-finite voxels. One NaN used to drop a whole object back to its geometric centroid.
  • ROI sets produce a label image sized to the ROI count. The old fixed 16-bit wrapped silently above 65,535 ROIs.
  • The multi-target summary always carries a None row, including at zero, so a script can read the non-colocalized count without checking the row exists.
  • The Java API no longer rejects more than five label images. Batch always analysed larger groups; the five was a dialog limit that had leaked into CPC.run.

Fixed

  • Batch no longer dies on a regex with an optional capture group — it threw StringIndexOutOfBoundsException before opening a single image, taking the whole batch with it.
  • Recursive batch scans terminate on a directory cycle — a junction or symlink to an ancestor used to recurse until the stack ran out.

Verification

Extraction is a refactor, so outputs were gated against goldens captured from the 1.4.0 build: 409 fixture/configuration comparisons, zero differences that were not one of the declared changes above.

Building from source

The engine modules are published to no Maven repository by design. Build them first — see the README, or .github/workflows/build-main.yml.