Skip to content
Snippets Groups Projects
Commit 4a3e4585 authored by polarbean's avatar polarbean
Browse files

measure damaged and undamaged region areas

parent 18eae790
No related branches found
No related tags found
No related merge requests found
...@@ -389,7 +389,7 @@ def get_region_areas( ...@@ -389,7 +389,7 @@ def get_region_areas(
atlas_map = load_image(flat_file_atlas,slice_dict["anchoring"], atlas_volume, triangulation, (seg_width, seg_height), atlas_labels) atlas_map = load_image(flat_file_atlas,slice_dict["anchoring"], atlas_volume, triangulation, (seg_width, seg_height), atlas_labels)
region_areas = flat_to_dataframe( region_areas = flat_to_dataframe(
atlas_map, (seg_width, seg_height) atlas_map, damage_mask, (seg_width, seg_height)
) )
return region_areas, atlas_map return region_areas, atlas_map
......
...@@ -270,6 +270,7 @@ def warp_image(image, triangulation, rescaleXY): ...@@ -270,6 +270,7 @@ def warp_image(image, triangulation, rescaleXY):
def flat_to_dataframe( def flat_to_dataframe(
image, image,
damage_mask,
rescaleXY=None): rescaleXY=None):
""" """
Converts a flat file to a DataFrame. Converts a flat file to a DataFrame.
...@@ -287,7 +288,16 @@ def flat_to_dataframe( ...@@ -287,7 +288,16 @@ def flat_to_dataframe(
np.array: array in shape of alignment XY scaled by rescaleXY with allen ID for each point np.array: array in shape of alignment XY scaled by rescaleXY with allen ID for each point
""" """
scale_factor = calculate_scale_factor(image, rescaleXY) scale_factor = calculate_scale_factor(image, rescaleXY)
df_area_per_label = count_pixels_per_label(image, scale_factor) if damage_mask is not None:
damage_mask = cv2.resize(damage_mask.astype(np.uint8), (image.shape[::-1]), interpolation=cv2.INTER_NEAREST).astype(bool)
undamaged_df_area_per_label = count_pixels_per_label(image[damage_mask], scale_factor)
damaged_df_area_per_label = count_pixels_per_label(image[~damage_mask], scale_factor)
undamaged_df_area_per_label = undamaged_df_area_per_label.rename(columns={"region_area": "undamaged_region_area"})
damaged_df_area_per_label = damaged_df_area_per_label.rename(columns={"region_area": "damaged_region_area"})
df_area_per_label = pd.merge(undamaged_df_area_per_label, damaged_df_area_per_label, on='idx', how='outer').fillna(0)
df_area_per_label["region_area"] = df_area_per_label["undamaged_region_area"] + df_area_per_label["damaged_region_area"]
else:
df_area_per_label = count_pixels_per_label(image, scale_factor)
return df_area_per_label return df_area_per_label
......
tests/test_data/nonlinear_allen_mouse/segmentations/test_s003.png

120 B | W: | H:

tests/test_data/nonlinear_allen_mouse/segmentations/test_s003.png

6.61 KiB | W: | H:

tests/test_data/nonlinear_allen_mouse/segmentations/test_s003.png
tests/test_data/nonlinear_allen_mouse/segmentations/test_s003.png
tests/test_data/nonlinear_allen_mouse/segmentations/test_s003.png
tests/test_data/nonlinear_allen_mouse/segmentations/test_s003.png
  • 2-up
  • Swipe
  • Onion skin
tests/test_data/nonlinear_allen_mouse/segmentations/test_s003_.png

6.61 KiB

0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment