ReyaLabColumbia commited on
Commit
980c50e
·
verified ·
1 Parent(s): 9f23ef7

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/Segformer_Colony_Counter")
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/Segformer_Colony_Counter") # 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,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 colony in colonies:
164
- colony_area = cv2.contourArea(colony)
 
165
  centroid = compute_centroid(colony)
166
- if colony_area <= 50:
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)