def prepare_submission(): from cremi.io import CremiFile from cremi.Volume import Volume base = "/home/fabian/drives/datasets/results/nnUNet/test_sets/Task061_CREMI/" # a+ pred = sitk.GetArrayFromImage( sitk.ReadImage(join(base, 'results_3d_fullres', "sample_a+.nii.gz"))).astype(np.uint64) pred[pred == 0] = 0xffffffffffffffff out_a = CremiFile(join(base, 'sample_A+_20160601.hdf'), 'w') clefts = Volume(pred, (40., 4., 4.)) out_a.write_clefts(clefts) out_a.close() pred = sitk.GetArrayFromImage( sitk.ReadImage(join(base, 'results_3d_fullres', "sample_b+.nii.gz"))).astype(np.uint64) pred[pred == 0] = 0xffffffffffffffff out_b = CremiFile(join(base, 'sample_B+_20160601.hdf'), 'w') clefts = Volume(pred, (40., 4., 4.)) out_b.write_clefts(clefts) out_b.close() pred = sitk.GetArrayFromImage( sitk.ReadImage(join(base, 'results_3d_fullres', "sample_c+.nii.gz"))).astype(np.uint64) pred[pred == 0] = 0xffffffffffffffff out_c = CremiFile(join(base, 'sample_C+_20160601.hdf'), 'w') clefts = Volume(pred, (40., 4., 4.)) out_c.write_clefts(clefts) out_c.close()
# Create some dummy annotation data annotations = Annotations() for id in [ 0, 1, 2, 3 ]: location = (random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)) annotations.add_annotation(id, "presynaptic_site", location) for id in [ 4, 5, 6, 7 ]: location = (random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)) annotations.add_annotation(id, "postsynaptic_site", location) for (pre, post) in [ (0, 4), (1, 5), (2, 6), (3, 7) ]: annotations.set_pre_post_partners(pre, post) annotations.add_comment(6, "unsure") # Open a file for writing (deletes previous file, if exists) file = CremiFile("example.hdf", "w") # Write the raw volume. This is given here just for illustration. For your # submission, you don't need to store the raw data. We have it already. raw = Volume(np.zeros((10,100,100), dtype=np.uint8), resolution=(40.0, 4.0, 4.0)) file.write_raw(raw) # Write volumes representing the neuron and synaptic cleft segmentation. neuron_ids = Volume(np.ones((10,100,100), dtype=np.uint64), resolution=(40.0, 4.0, 4.0), comment="just ones") clefts = Volume(np.zeros((10,100,100), dtype=np.uint64), resolution=(40.0, 4.0, 4.0), comment="just zeros") file.write_neuron_ids(neuron_ids) file.write_clefts(clefts) # Write synaptic partner annotations. file.write_annotations(annotations) file.close()
location = (random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)) annotations.add_annotation(id, "postsynaptic_site", location) for (pre, post) in [(0, 4), (1, 5), (2, 6), (3, 7)]: annotations.set_pre_post_partners(pre, post) annotations.add_comment(6, "unsure") # Open a file for writing (deletes previous file, if exists) file = CremiFile("example.hdf", "w") # Write the raw volume. This is given here just for illustration. For your # submission, you don't need to store the raw data. We have it already. raw = Volume(np.zeros((10, 100, 100), dtype=np.uint8), resolution=(40.0, 4.0, 4.0)) file.write_raw(raw) # Write volumes representing the neuron and synaptic cleft segmentation. neuron_ids = Volume(np.ones((10, 100, 100), dtype=np.uint64), resolution=(40.0, 4.0, 4.0), comment="just ones") clefts = Volume(np.zeros((10, 100, 100), dtype=np.uint64), resolution=(40.0, 4.0, 4.0), comment="just zeros") file.write_neuron_ids(neuron_ids) file.write_clefts(clefts) # Write synaptic partner annotations. file.write_annotations(annotations) file.close()