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

1import pandas as pd 

2from bioio import BioImage 

3 

4 

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. 

8 

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. 

17 

18 Returns 

19 ------- 

20 : 

21 Dataframe of image samples. 

22 """ 

23 

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