Skip to content

Commit 6525651

Browse files
committed
fix a few things
1 parent b1c8feb commit 6525651

File tree

6 files changed

+58
-14
lines changed

6 files changed

+58
-14
lines changed

run_sbatch_revision.sbatch

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@
1010

1111
source ~/.bashrc
1212
conda activate synapse-net
13-
python /user/muth9/u12095/synapse-net/scripts/cooper/revision/az_prediction.py -v 7 --names 20241019_Tomo-eval_MF_Synapse 20241019_Tomo-eval_PS_Synapse \
13+
python /user/muth9/u12095/synapse-net/scripts/cooper/revision/az_prediction.py -v 7 --names 20241019_Tomo-eval_MF_Synapse 20241019_Tomo-eval_PS_Synapse 20241019_Tomo-eval_SC_Synapse \
1414
-i /mnt/lustre-emmy-hdd/projects/nim00007/data/synaptic-reconstruction/cooper/ground_truth/04Dataset_for_vesicle_eval

scripts/cooper/revision/az_prediction.py

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,34 +10,47 @@
1010
from common import get_file_names, get_split_folder, ALL_NAMES, INPUT_ROOT, OUTPUT_ROOT
1111

1212

13-
def run_prediction(model, name, split_folder, version, split_names, input_path):
14-
if input_path:
15-
file_names =glob(os.path.join(input_path, name, "*.h5"))
13+
def run_prediction(model, name, split_folder, version, split_names, in_path):
14+
if in_path:
15+
file_paths = glob(os.path.join(in_path, name, "*.h5"))
16+
file_names = [os.path.basename(path) for path in file_paths]
1617
else:
1718
file_names = get_file_names(name, split_folder, split_names=split_names)
1819

1920
output_folder = os.path.join(OUTPUT_ROOT, name)
2021
os.makedirs(output_folder, exist_ok=True)
2122
output_key = f"predictions/az/v{version}"
23+
output_key_seg = f"predictions/az/seg_v{version}"
2224

2325
for fname in tqdm(file_names):
24-
input_path = os.path.join(INPUT_ROOT, name, fname)
26+
if in_path:
27+
input_path=os.path.join(in_path, name, fname)
28+
else:
29+
input_path = os.path.join(INPUT_ROOT, name, fname)
2530
print(f"segmenting {input_path}")
2631

2732
output_path = os.path.join(output_folder, fname)
2833

2934
if os.path.exists(output_path):
3035
with h5py.File(output_path, "r") as f:
31-
if output_key in f:
32-
print(f"skipping, because {output_key} already exists in {output_path}")
36+
if output_key in f and output_key_seg in f:
37+
print(f"skipping, because {output_key} and {output_key_seg} already exists in {output_path}")
3338
continue
3439

3540
with h5py.File(input_path, "r") as f:
3641
raw = f["raw"][:]
3742

38-
_, pred = segment_active_zone(raw, model=model, verbose=False, return_predictions=True)
43+
seg, pred = segment_active_zone(raw, model=model, verbose=False, return_predictions=True)
3944
with h5py.File(output_path, "a") as f:
40-
f.create_dataset(output_key, data=pred, compression="lzf")
45+
if output_key in f:
46+
print(f"{output_key} already saved")
47+
else:
48+
f.create_dataset(output_key, data=pred, compression="lzf")
49+
if output_key_seg in f:
50+
print(f"{output_key_seg} already saved")
51+
else:
52+
f.create_dataset(output_key_seg, data=seg, compression="lzf")
53+
4154

4255

4356
def get_model(version):

scripts/cooper/revision/check_prediction.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,16 @@ def check_predictions(name, split, version):
1818
gt = f["labels/az"][:] if version == 3 else f["labels/az_thin"][:]
1919

2020
with h5py.File(seg_path) as f:
21-
seg_key = f"predictions/az/v{version}"
22-
pred = f[seg_key][:]
21+
pred_key = f"predictions/az/v{version}"
22+
seg_key = f"predictions/az/seg_v{version}"
23+
pred = f[pred_key][:]
24+
seg = f[seg_key][:]
2325

2426
v = napari.Viewer()
2527
v.add_image(raw)
2628
v.add_image(pred, blending="additive")
2729
v.add_labels(gt)
30+
v.add_labels(seg)
2831
v.title = f"{name}/{os.path.basename(seg_path)}"
2932
napari.run()
3033

7.49 KB
Binary file not shown.

scripts/cooper/revision/remove_az_thin.py

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
# Recreate the dataset with the new data
1818
f.create_dataset("labels/az_thin", data=gt)
1919
'''
20-
import os
20+
'''import os
2121
import h5py
2222
from glob import glob
2323
import numpy as np
@@ -41,4 +41,32 @@
4141
f.create_dataset("/labels/az_merged_v6", data=az_merged, compression="lzf")
4242
print(f"Updated file: {fname}")
4343
else:
44-
print(f"Dataset not found in: {fname}")
44+
print(f"Dataset not found in: {fname}")'''
45+
46+
import os
47+
import h5py
48+
49+
# List of target folders
50+
base_path = "/mnt/lustre-emmy-hdd/projects/nim00007/data/synaptic-reconstruction/cooper/ground_truth/04Dataset_for_vesicle_eval"
51+
folders = [
52+
"20241019_Tomo-eval_MF_Synapse",
53+
"20241019_Tomo-eval_PS_Synapse",
54+
"20241019_Tomo-eval_SC_Synapse"
55+
]
56+
57+
# Keys to delete
58+
keys_to_delete = ["/predictions/az/seg_v7", "/predictions/az/v7", "/predictions/az", "/predictions"]
59+
60+
for folder in folders:
61+
folder_path = os.path.join(base_path, folder)
62+
for filename in os.listdir(folder_path):
63+
if filename.endswith(".h5"):
64+
file_path = os.path.join(folder_path, filename)
65+
print(f"Processing: {file_path}")
66+
with h5py.File(file_path, 'a') as h5file:
67+
for key in keys_to_delete:
68+
if key in h5file:
69+
print(f" Deleting key: {key}")
70+
del h5file[key]
71+
else:
72+
print(f" Key not found: {key}")

scripts/cooper/revision/run_az_evaluation.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def run_az_evaluation(args):
2323
results.append(result)
2424

2525
results = pd.concat(results)
26-
output_path = f"./results/v{args.version}.xlsx"
26+
output_path = f"/user/muth9/u12095/synapse-net/scripts/cooper/revision/evaluation_results/v{args.version}.xlsx"
2727
results.to_excel(output_path, index=False)
2828

2929

0 commit comments

Comments
 (0)