Coverage for src/abm_initialization_collection/sample/get_image_samples.py: 100%
6 statements
« prev ^ index » next coverage.py v7.1.0, created at 2024-09-25 19:25 +0000
« prev ^ index » next coverage.py v7.1.0, created at 2024-09-25 19:25 +0000
1import pandas as pd
2from bioio import BioImage
5def get_image_samples(image: BioImage, sample_indices: list, channel: int) -> pd.DataFrame:
6 """
7 Sample image at given indices into list of (id, x, y, z) samples.
9 Parameters
10 ----------
11 image
12 Image object to sample.
13 sample_indices
14 List of sampling indices.
15 channel
16 Image channel to sample.
18 Returns
19 -------
20 :
21 Dataframe of image samples.
22 """
24 array = image.get_image_data("XYZ", T=0, C=channel)
25 samples = [(array[x, y, z], x, y, z) for x, y, z in sample_indices if array[x, y, z] > 0]
26 return pd.DataFrame(samples, columns=["id", "x", "y", "z"])