Skip to content

v3.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Oct 14:59
706cd99

📝 Documentation

  • build with Zensical, deploy with GitHub Pages actions
  • orange header on Zensical's modern theme

🔄 Other

  • 📝 Simplify the documentation
  • ✨ Store the whole processing config with each label image
  • 🐛 Stop per-tile decisions from cutting cells at tile seams
  • 🐛 Fold 3-D Cellpose fragments back into their cells
  • 📝 Show the Cellpose normalize and fragment settings in the Cellpose configs
  • ✨ Record Cellpose's filled-in defaults and the tools' versions
  • ✨ Redo a segmentation by deleting its labels from the store
  • 🐛 Install the workflow's patchworks from the clone itself
  • ✨ Zip the finished store by default in multi runs
  • 🐛 Run the bundle job with the relate jobs' QOS and partition
  • ♻️ Shorter configs and comments: one table of defaults
  • 🐛 PlantSeg: standardize every tile with the image's statistics
  • 🐛 IoU stitching: match a cut-off view to the whole object
  • 🐛 Judge fragments against the diameter, the same in every tile
  • 🔊 Log how well the tiles agree across the seams (IoU stitching)
  • ✨ Launcher: pixi workspace, cluster file browser, clearer layout, plan all
  • 🐛 Launcher: right pixi environment, convert only, no stale config warning
  • 🐛 Viewer: relations on hover, zip bundles, no axes guess
  • 🐛 Viewer workspace: use the clone's own patchworks
  • 📝 List every setting in the configs, commented with its default
  • ✨ Launcher: pick a folder of single-plane TIFFs as the input
  • Update scicore URL
  • ✨ Launcher: stitch per segmentation (touch for nuclei, iou for cells)
  • 🥅 Check every config before converting, dry runs included
  • ✨ pixi run status: how far a run has got
  • 🔧 Own configs in config/local/, launcher files ignored, SSH keepalive
  • ✨ pixi run check: a config's problems and the run's plan, before running
  • ✨ Launcher: check on the cluster, resources per run, a Jobs tab that acts
  • ✨ Launcher: reopen a past run's config in the form
  • 🔧 Profile: one memory value for the segment and prepare jobs
  • 📝 Launcher docs: past runs, resources, check and plan, the Jobs tab
  • ✨ Launcher: partitions, QOS, accounts and GPUs as dropdowns from the cluster
  • ✨ Launcher: PlantSeg and the watershed as methods, cells grown from nuclei
  • ✨ Fetch every model before the run, on the login node
  • ⚡ Size Cellpose's "auto" tiles for the GPU the segment jobs get
  • ✨ Try the method on real tiles: a picture of one, its objects outlined
  • ✨ See the channels: a picture of each, to pick them by
  • ✨ Say why a step failed and what to do, and why jobs wait
  • ✨ Launcher: the Cellpose model from what the cluster's Cellpose has
  • ✨ Launcher: save the settings as a named template, start the next run from it
  • ✏️ Launcher: gpu_memory_gb 0 means the segment jobs' GPU now
  • 🐛 Review: merging objects did nothing under pandas 3
  • 💚 Test: the launcher's work_dir check gets a cluster path on Windows too
  • ✨ Launcher: every setting explains itself, with an example
  • 🐛 Launcher: say when the cluster's workflow is older than the launcher
  • ✅ Test: the fake clone's files are live, as a reused SFTP channel sees them
  • check a blank QOS against the account's default QOS
  • one-click fix for a controller QOS that is too short
  • Mail only the last attempt's failure, and only the first start
  • Jobs tab: live step progress, step logs, convert-only view
  • Jobs tab: converted only once finished; smoother live refresh
  • Jobs tab: why earlier attempts failed; live tiles, merge and relate
  • write huge source chunks slab by slab to bound memory
  • build every pyramid level from one read of each slab
  • Mail what a finished run made: the conversion alone, or the labels
  • the controller job in one plain line, its settings tucked away
  • name a run's SLURM jobs after what it does
  • Jobs tab: queue names without the executor's run id
  • Jobs tab: see checkpoint steps; stay within the server's SSH channels
  • download the weights, do not load the model
  • a path needs no cellpose check; let _get_model do it
  • annotate the one-pass pyramid's level lists (mypy)
  • a dropped SSH connection asks to log in again
  • Jobs tab: send the log paths on stdin, not in the command
  • remember the connection; log in with an SSH key
  • give cudaDecon its integer settings as integers
  • Jobs tab: cancel all of a run's jobs
  • Jobs tab: a Cancel jobs panel that is always there; progress first
  • Jobs tab: the failures in one folded panel
  • Fetch Cellpose weights on 3, 4.0-4.1 and 4.2; clear jobs and failures
  • Jobs tab: say why a run stopped; this run's failures; no false DONE
  • take over a killed controller job's marker
  • say in its terminal why the SSH connection dropped
  • remove the stage store last; finish a merge stopped after it
  • colorama on Windows
  • show a launch happening; say what a seeded segmentation waits for
  • start a seeded segmentation once its seeds' labels are ready
  • auto" sizes it from the objects themselves
  • Jobs tab: say when a try waits for a GPU
  • A tile try says what it does as it goes
  • A tile try says its tile size, overlap and device
  • A tile try gets the segment jobs' time, and stops in time to report
  • Tile try: the fullest tiles, the busiest plane, a readable page
  • See the channels: zoom into a region, with full detail
  • keep each segmentation's Snakemake output and how it ended
  • unbuffered Snakemake output, and an order-proof tee test
  • import patchworks from the clone's src/, not the installed copy
  • say how much memory ran out and what to enter next time
  • Multi runs: don't check configs again in each Snakemake; 16G controller
  • tie a failed step to its own segmentation; portable signal names
  • mirror each tile out before deconvolution
  • Object table: measure blocks in processes, aligned to the image's chunks
  • faster stitching, level 0 sharded as written, streamed label pyramid
  • Segment and convert: overlap reading and writing with the work
  • CPUs per step in Cluster resources
  • ask scontrol when squeue cannot say if the driver lives
  • 🐛 Status: object count from the label group
  • 🐛 overlap "auto": size the halo from the Cellpose diameter
  • Logo as SVG, used by the README and the docs
  • smooth thread strokes, true spool rectangle and screw circles
  • 🐛 DoG: threshold as a fraction of the image's intensity range
  • 🐛 launcher: a slow model list no longer crashes the form
  • 🐛 run_multi: ask the other login node whether its driver still runs
  • 🐛 run_multi: record the launcher controller's job; read pam_slurm_adopt
  • ✨ run_multi: release a killed run's Snakemake locks at start
  • ✨ launcher: a reload (F5) keeps the SSH connection
  • 🐛 bundle: drop the out-of-date archive first when both do not fit
  • 🐛 launcher: one click on Launch is enough
  • 🐛 launcher: a partition's own QOS (AllowQos)
  • 🐛 status: a running Cellpose job is not "failed"
  • 🐛 object table: size the workers for the image chunks they decompress
  • 🐛 IoU stitching: a sliver under the size filter rejoins its cell
  • ✨ launcher: the relations and the bundle in Progress
  • ✨ launcher: relations and the bundle in Steps; no step stuck "submitted"
  • ✨ viewer: pixi run bench, where napari's time goes
  • ⚡ viewer: a layer per channel, loading in the background
  • 🐛 bench: time the viewer's reads, not reopening the zip; --render works
  • ⚡ viewer: read zarr directly, open a bundle once
  • 🐛 viewer: channels back on one layer's slider, no background loading
  • ⚡ viewer: stored label colours; opening says what takes how long
  • ⚡ viewer: object tables after the window opens; say when the env is remote
  • 🐛 viewer: back to dask for the image and labels
  • 🐛 viewer: a zip reader per level again; --no-hover
  • ✨ viewer: a layer per channel, only the first shown; named sliders
  • ✨ channel names: kept at conversion, shown as napari's layer names
  • ✨ channel names from a folder of single-plane TIFFs
  • ✨ relations: progress per relation, and in the launcher's bar
  • ✨ patchworks sizes / filter: pick and apply a min volume after a run
  • ✨ sizes / filter: by length, and say when volume has no gap
  • 🐛 CI: skip the slider test without napari; a type mypy rejected

👥 Contributors