|
| 1 | +Closes #11311 |
| 2 | + |
| 3 | +## Description |
| 4 | + |
| 5 | +`cellpheno/nis` runs whole-brain 3D nuclei instance segmentation on a single lightsheet |
| 6 | +microscopy tile: a 2D U-Net per slice, 2D→3D flow conversion, flow-following to |
| 7 | +obtain instances per depth-chunk, and GNN gap-stitching across chunks. It wraps |
| 8 | +the C++/LibTorch CellPheno NIS executable from |
| 9 | +https://github.com/Chrisa142857/Lightsheet_microscopy_image_3D_nuclei_instance_segmentation. |
| 10 | + |
| 11 | +This is a **GPU, container-only** module (no Conda package), following the |
| 12 | +established `parabricks/*` and `numorph/3dunet` pattern: a single vendor container, |
| 13 | +no `environment.yml`, an in-script guard that errors under `-profile conda/mamba`, |
| 14 | +`label 'process_gpu'`, and versions via the `topic: versions` + `eval` mechanism. |
| 15 | + |
| 16 | +## PR checklist |
| 17 | + |
| 18 | +- [x] This comment contains a description of changes (with reason). |
| 19 | +- [x] If you've added a new tool - followed the module conventions in the contribution docs. |
| 20 | +- [ ] If necessary, include test data in your PR. <!-- pending nf-core/test-datasets --> |
| 21 | +- [x] Remove all TODO statements. |
| 22 | +- [x] Broadcast software version numbers to `topic: versions`. |
| 23 | +- [x] Follow the naming conventions. |
| 24 | +- [x] Follow the input/output options guidelines. |
| 25 | +- [x] Add a resource `label` (`process_high` + `process_gpu`). |
| 26 | +- [ ] Use BioConda and BioContainers if possible. <!-- N/A: custom CUDA/LibTorch GPU binary, no conda package; ships as a vendor container like parabricks --> |
| 27 | +- Ensure the test works with Docker / Singularity: |
| 28 | + - [x] `nf-core modules test cellpheno/nis --profile docker` <!-- stub; real GPU test pending test-data --> |
| 29 | + - [x] `nf-core modules test cellpheno/nis --profile singularity` |
| 30 | + - [ ] `nf-core modules test cellpheno/nis --profile conda` <!-- intentionally unsupported (GPU binary) --> |
| 31 | + |
| 32 | +### Notes for reviewers |
| 33 | +- No conda support is intentional and matches `parabricks/*`. |
| 34 | +- `process_gpu` emits a non-standard-label warning (as it does for every GPU |
| 35 | + module); paired with `process_high`. |
| 36 | +- Versions come from `eval("cat /usr/local/share/cellpheno-nis/VERSION")` because the binary |
| 37 | + has no `--version`; the Dockerfile writes that file from the same `ARG` as the |
| 38 | + image tag to keep them in lockstep. |
| 39 | +- **Container hosting:** the image is currently published at |
| 40 | + `ghcr.io/chrisa142857/cellpheno-nis:1.0.0` (I don't yet have `quay.io/nf-core` |
| 41 | + push access). `nf-core modules lint --registry ghcr.io` is clean (42 passed, 0 |
| 42 | + failed). I'm happy to have the team re-host it under |
| 43 | + `quay.io/nf-core/cellpheno-nis` during review and will update the `container` |
| 44 | + line to match. |
0 commit comments