Coverage for src/abm_initialization_collection/sample/get_image_samples.py: 100%
7 statements
« prev ^ index » next coverage.py v7.1.0, created at 2024-07-26 20:12 +0000
« prev ^ index » next coverage.py v7.1.0, created at 2024-07-26 20:12 +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 samples_df = pd.DataFrame(samples, columns=["id", "x", "y", "z"])
27 return samples_df