Python API tool for slicing image into channel dimension
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 2
- Avg merge
- 9m
- Merged PRs (30d)
- 1
Description
Requirement
We would like to have a python interface that can be used like this:
from scitiff.data import hyperstack_example_with_variances_and_mask
import scitiff as stf
import scipp as sc
sample_img = hyperstack_example_with_variances_and_mask(concatenated_channel=True)
display(sample_img)
stf.values(sample_img)
Expected Output
Scitiff image (as scipp.DataArray or scipp.DataGroup) that does not have extra channel other than values(intentisites).
And channel dimension should be squeezed.
If other channels are already assembled as variances,
it should still drop the variances.
It that case, mask may not be dropped (we can maybe add a keyword argument to explicitly drop mask as well).
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/bea312571bbcfc9d6c3609d8f1ecbf3c408c42a3/src/scitiff/_img_processors.py#L9-L11 -
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-L3 -
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.
Research direction
Start with src/scitiff/_img_processors.py at the values API location and review tests/scitiff_values_test.py, then consult the linked IO and slicing guides for channel semantics. Implement the values behavior described in the expected output, add unit tests, and document the API under the user guide; validate against the provided hyperstack example.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100