[3b7fea]: / HighResolutionSegmentationGeneration.py

Download this file

82 lines (61 with data), 2.5 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# %% Importing packages
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
from matplotlib import patches
plt.rcParams['figure.figsize'] = [5, 10]
import os
import tensorflow as tf
from scipy.spatial import distance
import time
from glob import glob
from joblib import Parallel, delayed
from natsort import natsorted
plt.rcParams['figure.figsize'] = [50, 150]
# %% Citations
#############################################################
#############################################################
# %% Defining Functions
#############################################################
#############################################################
def process_file(file,
original_seg_directory,
high_res_seg_directory,
save_directory):
try:
file_id = file.split('-')[0] + '_'
high_res_file = glob(high_res_seg_directory + file_id + '*.png')
assert len(high_res_file) > 0, \
f'could not find the pair to {file}, skipping file!'
original_image = cv.imread(file,cv.IMREAD_UNCHANGED)
original_seg = original_image[:,:,3]
high_res_seg = cv.imread(high_res_file[0],cv.IMREAD_UNCHANGED)
# 1: background, 2: muscle nuclei, 3: connective nuclei
# 4: muscle, 5: connective, 6: blood
original_seg[high_res_seg==1] = 0
original_seg[high_res_seg==6] = 7
original_image[:,:,3] = original_seg
new_name = file_id + 'ML5.png'
os.chdir(save_directory)
cv.imwrite(new_name,original_image)
os.chdir(original_seg_directory)
except AssertionError as e:
print(e)
#############################################################
#############################################################
original_seg_directory = '/media/briancottle/Samsung_T5/ML_Dataset_3'
high_res_seg_directory = '/home/briancottle/Research/Semantic_Segmentation/'\
'High_Res_Ilastik_Segmentation_V10/'\
'Ilastik_Segmentation_V10/'
save_directory = '/media/briancottle/Samsung_T5/ML_Dataset_5'
if not os.path.isdir(save_directory):
os.mkdir(save_directory)
os.chdir(original_seg_directory)
original_files = glob('*.png')
contains_names_vascular = Parallel(
n_jobs=22, verbose=5)(delayed(process_file)
(file = name,
original_seg_directory = original_seg_directory,
high_res_seg_directory = high_res_seg_directory,
save_directory = save_directory) for name in original_files
)