Skip to content

MultiSEMTileRemovalClient implementations - #244

Merged
trautmane merged 5 commits into
newsolverfrom
msem-layer-and-mfov-removal
Aug 21, 2026
Merged

MultiSEMTileRemovalClient implementations#244
trautmane merged 5 commits into
newsolverfrom
msem-layer-and-mfov-removal

Conversation

@trautmane

Copy link
Copy Markdown
Collaborator

These changes support pipeline removal of problem z-layers and z-layer-MFOVs from multi-SEM stacks. I plan to use this process instead of the FIBSEM tile patching process because tiles move around too much between multi-SEM z-layers.

I have a few more changes to make. When those are done, I plan to assign @minnerbe as a reviewer.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new multi-SEM tile/layer removal capability that can be run either as a standalone Java client or as an alignment-pipeline step, enabling in-place removal of entire scans (z-layers) and/or specific MFOVs from multi-SEM stacks (optionally collapsing remaining z values).

Changes:

  • Introduces MultiSEMTileRemovalClient implementations (Java and Spark/pipeline-step wrapper) plus new parameter types to describe per-stack removal operations.
  • Adds a Render web-service client endpoint helper to fetch tile IDs for a specific z (GET .../tileIds?minZ=...&maxZ=...) used by the removal logic.
  • Extends pipeline configuration to include a tileRemovalList and a new pipeline step ID (REMOVE_TILES).

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
render-ws-with-mongo-db/other/load-rough-align-data.sh Removes an older rough-align helper script (no longer maintained in this PR).
render-ws-spark-client/src/main/java/org/janelia/render/client/spark/pipeline/AlignmentPipelineStepId.java Adds REMOVE_TILES pipeline step ID wired to the Spark removal client.
render-ws-spark-client/src/main/java/org/janelia/render/client/spark/pipeline/AlignmentPipelineParameters.java Adds tileRemovalList to pipeline parameters and exposes a getter.
render-ws-spark-client/src/main/java/org/janelia/render/client/spark/multisem/MultiSEMTileRemovalClient.java New pipeline step / driver-only Spark wrapper that calls the Java removal client per stack.
render-ws-java-client/src/main/java/org/janelia/render/client/RenderDataClient.java Adds getTileIdsForZ() REST helper needed for MFOV/layer identification and removal.
render-ws-java-client/src/main/java/org/janelia/render/client/parameter/StackWithRemovalParameters.java New parameter object pairing a StackId with removal parameters (for pipelines / multi-stack runs).
render-ws-java-client/src/main/java/org/janelia/render/client/parameter/MultiSEMTileRemovalParameters.java New CLI/JSON parameters describing scan and scan+MFOV removals plus optional stack collapsing.
render-ws-java-client/src/main/java/org/janelia/render/client/multisem/MultiSEMTileRemovalClient.java New core implementation: validates targets, performs in-place deletions, optional z-collapse, then completes the stack.
render-app/src/test/java/org/janelia/alignment/multisem/MultiSemUtilitiesTest.java Extends parsing tests to include scan-string extraction.
render-app/src/main/java/org/janelia/alignment/multisem/MultiSemUtilities.java Adds getScanStringForTileId() used to map scan names to z-layers idempotently.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@minnerbe minnerbe left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Thanks, @trautmane!

@trautmane
trautmane merged commit fa449a1 into newsolver Aug 21, 2026
2 checks passed
@trautmane
trautmane deleted the msem-layer-and-mfov-removal branch August 21, 2026 12:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants