Spaces:
Sleeping
Sleeping
Upload 3 files
Browse files
Colony_Analyzer_AI2_HF.py
CHANGED
|
@@ -66,7 +66,7 @@ from transformers import SegformerForSemanticSegmentation
|
|
| 66 |
# Load fine-tuned model
|
| 67 |
#ReyaLabColumbia/Segformer_Colony_Counter
|
| 68 |
#ReyaLabColumbia/OrganoidCounter
|
| 69 |
-
model = SegformerForSemanticSegmentation.from_pretrained("ReyaLabColumbia/
|
| 70 |
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
| 71 |
model.to(device)
|
| 72 |
model.eval() # Set to evaluation mode
|
|
|
|
| 66 |
# Load fine-tuned model
|
| 67 |
#ReyaLabColumbia/Segformer_Colony_Counter
|
| 68 |
#ReyaLabColumbia/OrganoidCounter
|
| 69 |
+
model = SegformerForSemanticSegmentation.from_pretrained("ReyaLabColumbia/Segformer_Colony_Counter_GP")
|
| 70 |
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
| 71 |
model.to(device)
|
| 72 |
model.eval() # Set to evaluation mode
|
Colony_Analyzer_AI_zstack2_HF.py
CHANGED
|
@@ -63,7 +63,7 @@ from transformers import SegformerForSemanticSegmentation
|
|
| 63 |
# Load fine-tuned model
|
| 64 |
#ReyaLabColumbia/Segformer_Colony_Counter
|
| 65 |
#ReyaLabColumbia/OrganoidCounter
|
| 66 |
-
model = SegformerForSemanticSegmentation.from_pretrained("ReyaLabColumbia/
|
| 67 |
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
| 68 |
model.to(device)
|
| 69 |
model.eval() # Set to evaluation mode
|
|
@@ -155,16 +155,16 @@ def contours_overlap_using_mask(contour1, contour2, image_shape=(1536, 2048)):
|
|
| 155 |
return np.any(overlap)
|
| 156 |
|
| 157 |
def analyze_colonies(mask, size_cutoff, circ_cutoff, img):
|
| 158 |
-
colonies = find_colonies(mask, size_cutoff, circ_cutoff)
|
| 159 |
necrosis = find_necrosis(mask)
|
| 160 |
|
| 161 |
data = []
|
| 162 |
|
| 163 |
-
for
|
| 164 |
-
|
|
|
|
| 165 |
centroid = compute_centroid(colony)
|
| 166 |
-
|
| 167 |
-
continue
|
| 168 |
mask = np.zeros(img.shape, np.uint8)
|
| 169 |
cv2.drawContours(mask, [colony], -1, 255, cv2.FILLED)
|
| 170 |
pix = img[mask == 255]
|
|
@@ -369,9 +369,9 @@ def main(args):
|
|
| 369 |
colonies['Colony volume'] = volumes
|
| 370 |
del radii, volumes
|
| 371 |
meanpix = sum(colonies['mean_pixel_value'] * colonies['colony_area'])/total_area_light
|
| 372 |
-
colonies.loc[len(colonies)+1] = ["Total", total_area_light, total_area_dark, None, ratio, meanpix, sum(colonies['Colony volume'])]
|
| 373 |
del meanpix
|
| 374 |
-
colonies = colonies[["Colony Number", 'Colony volume', "colony_area",'mean_pixel_value', "centroid", "necrotic_area","percent_necrotic"]]
|
| 375 |
Parameters = pd.DataFrame({"Minimum colony size in pixels":[min_size], "Minimum colony circularity":[min_circ]})
|
| 376 |
if do_necrosis == False:
|
| 377 |
colonies = colonies.drop('necrotic_area', axis=1)
|
|
|
|
| 63 |
# Load fine-tuned model
|
| 64 |
#ReyaLabColumbia/Segformer_Colony_Counter
|
| 65 |
#ReyaLabColumbia/OrganoidCounter
|
| 66 |
+
model = SegformerForSemanticSegmentation.from_pretrained("ReyaLabColumbia/Segformer_Colony_Counter_GP") # Adjust path
|
| 67 |
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
| 68 |
model.to(device)
|
| 69 |
model.eval() # Set to evaluation mode
|
|
|
|
| 155 |
return np.any(overlap)
|
| 156 |
|
| 157 |
def analyze_colonies(mask, size_cutoff, circ_cutoff, img):
|
| 158 |
+
colonies,areas = find_colonies(mask, size_cutoff, circ_cutoff)
|
| 159 |
necrosis = find_necrosis(mask)
|
| 160 |
|
| 161 |
data = []
|
| 162 |
|
| 163 |
+
for x in range(len(colonies)):
|
| 164 |
+
colony = colonies[x]
|
| 165 |
+
colony_area = areas[x]
|
| 166 |
centroid = compute_centroid(colony)
|
| 167 |
+
|
|
|
|
| 168 |
mask = np.zeros(img.shape, np.uint8)
|
| 169 |
cv2.drawContours(mask, [colony], -1, 255, cv2.FILLED)
|
| 170 |
pix = img[mask == 255]
|
|
|
|
| 369 |
colonies['Colony volume'] = volumes
|
| 370 |
del radii, volumes
|
| 371 |
meanpix = sum(colonies['mean_pixel_value'] * colonies['colony_area'])/total_area_light
|
| 372 |
+
colonies.loc[len(colonies)+1] = ["Total", total_area_light, total_area_dark, None, ratio, None, meanpix, sum(colonies['Colony volume'])]
|
| 373 |
del meanpix
|
| 374 |
+
colonies = colonies[["Colony Number", 'Colony volume', "colony_area",'mean_pixel_value', "centroid", "necrotic_area","percent_necrotic", "source"]]
|
| 375 |
Parameters = pd.DataFrame({"Minimum colony size in pixels":[min_size], "Minimum colony circularity":[min_circ]})
|
| 376 |
if do_necrosis == False:
|
| 377 |
colonies = colonies.drop('necrotic_area', axis=1)
|