scipp / scipp/scitiff

Python API tool for slicing image into channel dimension

Open
#38 0 comments 0 reactions 0 assignees View on GitHub

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

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.