Command line tool for slicing image into channel dimension
@YooSunYoung is already working on this.
Since Dec 16, 2025.
- Dominant language
- Python
- Stars
- 0
- Forks
- 2
- Avg merge
- 9m
- Merged PRs (30d)
- 1
Description
Requirement
We would like to have a command line interface that can be used like this:
scitiff_values input_tiff_with_multi_channel.tiff /path/to/output_tiff_only_with_intensities_channel.tiff
Expected Input
Any tiff file including scitiff flie that has multiple channel (variances and mask).
Expected Output
A new Scitiff file that does not have extra channel other than values(intentisites) of the input file.
-
INFOif the image is already single channel and do nothing. -
INFOabout the result if succeeded.
About the Project
Scitiff stands for scientific tiff.
It aims to encode scientific metadata as a plain text along with the image data in tiff.
See our scitiff documentation for more details.
Development Environment
See Developer Guide to set up the local environment.
Setting up a remote repository
Go to the base branch, channel-slicer, and fork the repo.
TODO list of this issue
-
Complete the implementation of the
valuesAPI.
https://github.com/scipp/scitiff/blob/f76534453b028c9471e6ef70fb78a2e64a87c926/src/scitiff/executables.py#L226-L238It should probably use python `values` API: https://github.com/scipp/scitiff/blob/bea312571bbcfc9d6c3609d8f1ecbf3c408c42a3/src/scitiff/_img_processors.py#L9-L11 -
Expose the executables
valuesapi as a command line interface.
https://github.com/scipp/scitiff/blob/f76534453b028c9471e6ef70fb78a2e64a87c926/pyproject.toml#L48-L52
See how other scripts are exposed and addscitiff_valuescommand there! -
Write documentation page. Under user-guide, Could be a separate sub-issue
-
Write unit tests. Could be a separate sub-issue
https://github.com/scipp/scitiff/blob/f76534453b028c9471e6ef70fb78a2e64a87c926/tests/scitiff_values_test.py#L1-L3Writing unit test for this command line interface might be challenging. We can skip it from this issue. -
Test with ImageJ (Optional)
-
Open a PR (Pull Request)
Set the base branch tochannel-slicer.
Related Information for Implementation
Scipp User Guide for Slicing
https://scipp.github.io/user-guide/slicing.html
We are going to learn more about scipp on Wednesday, so no need to dig in too deep 😁
IO module documentation
IO Helper Tutorial
Good starting point to see what scitiff do and to see what helper functions there are for development.
Meaning of Channel in Scitiff
This section of IO tutorial explains what channels mean in scitiff.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.