Mercurial > repos > perssond > coreograph
annotate UNetCoreograph.py @ 1:57f1260ca94e draft
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
| author | watsocam | 
|---|---|
| date | Fri, 11 Mar 2022 23:40:51 +0000 | 
| parents | 99308601eaa6 | 
| children | 
| rev | line source | 
|---|---|
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
1 import numpy as np | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
2 from scipy import misc as sm | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
3 import shutil | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
4 import scipy.io as sio | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
5 import os | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
6 os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
7 import logging | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
8 logging.getLogger('tensorflow').setLevel(logging.FATAL) | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
9 import skimage.exposure as sk | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
10 import cv2 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
11 import argparse | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
12 import pytiff | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
13 import tifffile | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
14 import tensorflow as tf | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
15 from skimage.morphology import * | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
16 from skimage.exposure import rescale_intensity | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
17 from skimage.segmentation import chan_vese, find_boundaries, morphological_chan_vese | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
18 from skimage.measure import regionprops,label, find_contours | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
19 from skimage.transform import resize | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
20 from skimage.filters import gaussian, threshold_otsu | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
21 from skimage.feature import peak_local_max,blob_log | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
22 from skimage.color import gray2rgb as gray2rgb | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
23 import skimage.io as skio | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
24 from scipy.ndimage.morphology import binary_fill_holes | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
25 from skimage import img_as_bool | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
26 from skimage.draw import circle_perimeter | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
27 from scipy.ndimage.filters import uniform_filter | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
28 from scipy.ndimage import gaussian_laplace | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
29 from os.path import * | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
30 from os import listdir, makedirs, remove | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
31 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
32 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
33 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
34 import sys | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
35 from typing import Any | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
36 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
37 #sys.path.insert(0, 'C:\\Users\\Public\\Documents\\ImageScience') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
38 from toolbox.imtools import * | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
39 from toolbox.ftools import * | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
40 from toolbox.PartitionOfImage import PI2D | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
41 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
42 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
43 def concat3(lst): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
44 return tf.concat(lst,3) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
45 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
46 class UNet2D: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
47 hp = None # hyper-parameters | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
48 nn = None # network | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
49 tfTraining = None # if training or not (to handle batch norm) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
50 tfData = None # data placeholder | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
51 Session = None | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
52 DatasetMean = 0 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
53 DatasetStDev = 0 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
54 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
55 def setupWithHP(hp): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
56 UNet2D.setup(hp['imSize'], | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
57 hp['nChannels'], | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
58 hp['nClasses'], | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
59 hp['nOut0'], | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
60 hp['featMapsFact'], | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
61 hp['downSampFact'], | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
62 hp['ks'], | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
63 hp['nExtraConvs'], | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
64 hp['stdDev0'], | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
65 hp['nLayers'], | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
66 hp['batchSize']) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
67 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
68 def setup(imSize,nChannels,nClasses,nOut0,featMapsFact,downSampFact,kernelSize,nExtraConvs,stdDev0,nDownSampLayers,batchSize): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
69 UNet2D.hp = {'imSize':imSize, | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
70 'nClasses':nClasses, | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
71 'nChannels':nChannels, | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
72 'nExtraConvs':nExtraConvs, | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
73 'nLayers':nDownSampLayers, | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
74 'featMapsFact':featMapsFact, | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
75 'downSampFact':downSampFact, | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
76 'ks':kernelSize, | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
77 'nOut0':nOut0, | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
78 'stdDev0':stdDev0, | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
79 'batchSize':batchSize} | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
80 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
81 nOutX = [UNet2D.hp['nChannels'],UNet2D.hp['nOut0']] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
82 dsfX = [] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
83 for i in range(UNet2D.hp['nLayers']): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
84 nOutX.append(nOutX[-1]*UNet2D.hp['featMapsFact']) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
85 dsfX.append(UNet2D.hp['downSampFact']) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
86 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
87 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
88 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
89 # downsampling layer | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
90 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
91 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
92 with tf.name_scope('placeholders'): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
93 UNet2D.tfTraining = tf.placeholder(tf.bool, name='training') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
94 UNet2D.tfData = tf.placeholder("float", shape=[None,UNet2D.hp['imSize'],UNet2D.hp['imSize'],UNet2D.hp['nChannels']],name='data') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
95 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
96 def down_samp_layer(data,index): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
97 with tf.name_scope('ld%d' % index): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
98 ldXWeights1 = tf.Variable(tf.truncated_normal([UNet2D.hp['ks'], UNet2D.hp['ks'], nOutX[index], nOutX[index+1]], stddev=stdDev0),name='kernel1') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
99 ldXWeightsExtra = [] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
100 for i in range(nExtraConvs): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
101 ldXWeightsExtra.append(tf.Variable(tf.truncated_normal([UNet2D.hp['ks'], UNet2D.hp['ks'], nOutX[index+1], nOutX[index+1]], stddev=stdDev0),name='kernelExtra%d' % i)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
102 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
103 c00 = tf.nn.conv2d(data, ldXWeights1, strides=[1, 1, 1, 1], padding='SAME') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
104 for i in range(nExtraConvs): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
105 c00 = tf.nn.conv2d(tf.nn.relu(c00), ldXWeightsExtra[i], strides=[1, 1, 1, 1], padding='SAME') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
106 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
107 ldXWeightsShortcut = tf.Variable(tf.truncated_normal([1, 1, nOutX[index], nOutX[index+1]], stddev=stdDev0),name='shortcutWeights') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
108 shortcut = tf.nn.conv2d(data, ldXWeightsShortcut, strides=[1, 1, 1, 1], padding='SAME') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
109 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
110 bn = tf.layers.batch_normalization(tf.nn.relu(c00+shortcut), training=UNet2D.tfTraining) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
111 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
112 return tf.nn.max_pool(bn, ksize=[1, dsfX[index], dsfX[index], 1], strides=[1, dsfX[index], dsfX[index], 1], padding='SAME',name='maxpool') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
113 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
114 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
115 # bottom layer | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
116 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
117 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
118 with tf.name_scope('lb'): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
119 lbWeights1 = tf.Variable(tf.truncated_normal([UNet2D.hp['ks'], UNet2D.hp['ks'], nOutX[UNet2D.hp['nLayers']], nOutX[UNet2D.hp['nLayers']+1]], stddev=stdDev0),name='kernel1') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
120 def lb(hidden): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
121 return tf.nn.relu(tf.nn.conv2d(hidden, lbWeights1, strides=[1, 1, 1, 1], padding='SAME'),name='conv') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
122 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
123 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
124 # downsampling | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
125 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
126 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
127 with tf.name_scope('downsampling'): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
128 dsX = [] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
129 dsX.append(UNet2D.tfData) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
130 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
131 for i in range(UNet2D.hp['nLayers']): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
132 dsX.append(down_samp_layer(dsX[i],i)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
133 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
134 b = lb(dsX[UNet2D.hp['nLayers']]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
135 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
136 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
137 # upsampling layer | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
138 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
139 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
140 def up_samp_layer(data,index): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
141 with tf.name_scope('lu%d' % index): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
142 luXWeights1 = tf.Variable(tf.truncated_normal([UNet2D.hp['ks'], UNet2D.hp['ks'], nOutX[index+1], nOutX[index+2]], stddev=stdDev0),name='kernel1') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
143 luXWeights2 = tf.Variable(tf.truncated_normal([UNet2D.hp['ks'], UNet2D.hp['ks'], nOutX[index]+nOutX[index+1], nOutX[index+1]], stddev=stdDev0),name='kernel2') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
144 luXWeightsExtra = [] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
145 for i in range(nExtraConvs): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
146 luXWeightsExtra.append(tf.Variable(tf.truncated_normal([UNet2D.hp['ks'], UNet2D.hp['ks'], nOutX[index+1], nOutX[index+1]], stddev=stdDev0),name='kernel2Extra%d' % i)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
147 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
148 outSize = UNet2D.hp['imSize'] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
149 for i in range(index): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
150 outSize /= dsfX[i] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
151 outSize = int(outSize) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
152 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
153 outputShape = [UNet2D.hp['batchSize'],outSize,outSize,nOutX[index+1]] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
154 us = tf.nn.relu(tf.nn.conv2d_transpose(data, luXWeights1, outputShape, strides=[1, dsfX[index], dsfX[index], 1], padding='SAME'),name='conv1') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
155 cc = concat3([dsX[index],us]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
156 cv = tf.nn.relu(tf.nn.conv2d(cc, luXWeights2, strides=[1, 1, 1, 1], padding='SAME'),name='conv2') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
157 for i in range(nExtraConvs): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
158 cv = tf.nn.relu(tf.nn.conv2d(cv, luXWeightsExtra[i], strides=[1, 1, 1, 1], padding='SAME'),name='conv2Extra%d' % i) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
159 return cv | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
160 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
161 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
162 # final (top) layer | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
163 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
164 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
165 with tf.name_scope('lt'): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
166 ltWeights1 = tf.Variable(tf.truncated_normal([1, 1, nOutX[1], nClasses], stddev=stdDev0),name='kernel') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
167 def lt(hidden): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
168 return tf.nn.conv2d(hidden, ltWeights1, strides=[1, 1, 1, 1], padding='SAME',name='conv') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
169 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
170 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
171 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
172 # upsampling | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
173 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
174 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
175 with tf.name_scope('upsampling'): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
176 usX = [] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
177 usX.append(b) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
178 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
179 for i in range(UNet2D.hp['nLayers']): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
180 usX.append(up_samp_layer(usX[i],UNet2D.hp['nLayers']-1-i)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
181 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
182 t = lt(usX[UNet2D.hp['nLayers']]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
183 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
184 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
185 sm = tf.nn.softmax(t,-1) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
186 UNet2D.nn = sm | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
187 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
188 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
189 def train(imPath,logPath,modelPath,pmPath,nTrain,nValid,nTest,restoreVariables,nSteps,gpuIndex,testPMIndex): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
190 os.environ['CUDA_VISIBLE_DEVICES']= '%d' % gpuIndex | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
191 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
192 outLogPath = logPath | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
193 trainWriterPath = pathjoin(logPath,'Train') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
194 validWriterPath = pathjoin(logPath,'Valid') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
195 outModelPath = pathjoin(modelPath,'model.ckpt') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
196 outPMPath = pmPath | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
197 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
198 batchSize = UNet2D.hp['batchSize'] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
199 imSize = UNet2D.hp['imSize'] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
200 nChannels = UNet2D.hp['nChannels'] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
201 nClasses = UNet2D.hp['nClasses'] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
202 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
203 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
204 # data | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
205 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
206 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
207 Train = np.zeros((nTrain,imSize,imSize,nChannels)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
208 Valid = np.zeros((nValid,imSize,imSize,nChannels)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
209 Test = np.zeros((nTest,imSize,imSize,nChannels)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
210 LTrain = np.zeros((nTrain,imSize,imSize,nClasses)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
211 LValid = np.zeros((nValid,imSize,imSize,nClasses)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
212 LTest = np.zeros((nTest,imSize,imSize,nClasses)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
213 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
214 print('loading data, computing mean / st dev') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
215 if not os.path.exists(modelPath): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
216 os.makedirs(modelPath) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
217 if restoreVariables: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
218 datasetMean = loadData(pathjoin(modelPath,'datasetMean.data')) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
219 datasetStDev = loadData(pathjoin(modelPath,'datasetStDev.data')) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
220 else: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
221 datasetMean = 0 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
222 datasetStDev = 0 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
223 for iSample in range(nTrain+nValid+nTest): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
224 I = im2double(tifread('%s/I%05d_Img.tif' % (imPath,iSample))) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
225 datasetMean += np.mean(I) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
226 datasetStDev += np.std(I) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
227 datasetMean /= (nTrain+nValid+nTest) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
228 datasetStDev /= (nTrain+nValid+nTest) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
229 saveData(datasetMean, pathjoin(modelPath,'datasetMean.data')) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
230 saveData(datasetStDev, pathjoin(modelPath,'datasetStDev.data')) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
231 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
232 perm = np.arange(nTrain+nValid+nTest) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
233 np.random.shuffle(perm) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
234 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
235 for iSample in range(0, nTrain): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
236 path = '%s/I%05d_Img.tif' % (imPath,perm[iSample]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
237 im = im2double(tifread(path)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
238 Train[iSample,:,:,0] = (im-datasetMean)/datasetStDev | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
239 path = '%s/I%05d_Ant.tif' % (imPath,perm[iSample]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
240 im = tifread(path) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
241 for i in range(nClasses): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
242 LTrain[iSample,:,:,i] = (im == i+1) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
243 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
244 for iSample in range(0, nValid): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
245 path = '%s/I%05d_Img.tif' % (imPath,perm[nTrain+iSample]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
246 im = im2double(tifread(path)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
247 Valid[iSample,:,:,0] = (im-datasetMean)/datasetStDev | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
248 path = '%s/I%05d_Ant.tif' % (imPath,perm[nTrain+iSample]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
249 im = tifread(path) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
250 for i in range(nClasses): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
251 LValid[iSample,:,:,i] = (im == i+1) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
252 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
253 for iSample in range(0, nTest): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
254 path = '%s/I%05d_Img.tif' % (imPath,perm[nTrain+nValid+iSample]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
255 im = im2double(tifread(path)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
256 Test[iSample,:,:,0] = (im-datasetMean)/datasetStDev | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
257 path = '%s/I%05d_Ant.tif' % (imPath,perm[nTrain+nValid+iSample]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
258 im = tifread(path) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
259 for i in range(nClasses): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
260 LTest[iSample,:,:,i] = (im == i+1) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
261 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
262 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
263 # optimization | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
264 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
265 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
266 tfLabels = tf.placeholder("float", shape=[None,imSize,imSize,nClasses],name='labels') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
267 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
268 globalStep = tf.Variable(0,trainable=False) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
269 learningRate0 = 0.01 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
270 decaySteps = 1000 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
271 decayRate = 0.95 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
272 learningRate = tf.train.exponential_decay(learningRate0,globalStep,decaySteps,decayRate,staircase=True) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
273 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
274 with tf.name_scope('optim'): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
275 loss = tf.reduce_mean(-tf.reduce_sum(tf.multiply(tfLabels,tf.log(UNet2D.nn)),3)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
276 updateOps = tf.get_collection(tf.GraphKeys.UPDATE_OPS) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
277 # optimizer = tf.train.MomentumOptimizer(1e-3,0.9) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
278 optimizer = tf.train.MomentumOptimizer(learningRate,0.9) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
279 # optimizer = tf.train.GradientDescentOptimizer(learningRate) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
280 with tf.control_dependencies(updateOps): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
281 optOp = optimizer.minimize(loss,global_step=globalStep) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
282 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
283 with tf.name_scope('eval'): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
284 error = [] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
285 for iClass in range(nClasses): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
286 labels0 = tf.reshape(tf.to_int32(tf.slice(tfLabels,[0,0,0,iClass],[-1,-1,-1,1])),[batchSize,imSize,imSize]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
287 predict0 = tf.reshape(tf.to_int32(tf.equal(tf.argmax(UNet2D.nn,3),iClass)),[batchSize,imSize,imSize]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
288 correct = tf.multiply(labels0,predict0) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
289 nCorrect0 = tf.reduce_sum(correct) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
290 nLabels0 = tf.reduce_sum(labels0) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
291 error.append(1-tf.to_float(nCorrect0)/tf.to_float(nLabels0)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
292 errors = tf.tuple(error) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
293 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
294 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
295 # inspection | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
296 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
297 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
298 with tf.name_scope('scalars'): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
299 tf.summary.scalar('avg_cross_entropy', loss) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
300 for iClass in range(nClasses): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
301 tf.summary.scalar('avg_pixel_error_%d' % iClass, error[iClass]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
302 tf.summary.scalar('learning_rate', learningRate) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
303 with tf.name_scope('images'): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
304 split0 = tf.slice(UNet2D.nn,[0,0,0,0],[-1,-1,-1,1]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
305 split1 = tf.slice(UNet2D.nn,[0,0,0,1],[-1,-1,-1,1]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
306 if nClasses > 2: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
307 split2 = tf.slice(UNet2D.nn,[0,0,0,2],[-1,-1,-1,1]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
308 tf.summary.image('pm0',split0) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
309 tf.summary.image('pm1',split1) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
310 if nClasses > 2: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
311 tf.summary.image('pm2',split2) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
312 merged = tf.summary.merge_all() | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
313 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
314 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
315 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
316 # session | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
317 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
318 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
319 saver = tf.train.Saver() | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
320 sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True)) # config parameter needed to save variables when using GPU | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
321 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
322 if os.path.exists(outLogPath): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
323 shutil.rmtree(outLogPath) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
324 trainWriter = tf.summary.FileWriter(trainWriterPath, sess.graph) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
325 validWriter = tf.summary.FileWriter(validWriterPath, sess.graph) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
326 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
327 if restoreVariables: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
328 saver.restore(sess, outModelPath) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
329 print("Model restored.") | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
330 else: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
331 sess.run(tf.global_variables_initializer()) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
332 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
333 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
334 # train | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
335 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
336 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
337 batchData = np.zeros((batchSize,imSize,imSize,nChannels)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
338 batchLabels = np.zeros((batchSize,imSize,imSize,nClasses)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
339 for i in range(nSteps): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
340 # train | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
341 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
342 perm = np.arange(nTrain) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
343 np.random.shuffle(perm) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
344 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
345 for j in range(batchSize): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
346 batchData[j,:,:,:] = Train[perm[j],:,:,:] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
347 batchLabels[j,:,:,:] = LTrain[perm[j],:,:,:] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
348 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
349 summary,_ = sess.run([merged,optOp],feed_dict={UNet2D.tfData: batchData, tfLabels: batchLabels, UNet2D.tfTraining: 1}) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
350 trainWriter.add_summary(summary, i) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
351 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
352 # validation | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
353 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
354 perm = np.arange(nValid) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
355 np.random.shuffle(perm) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
356 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
357 for j in range(batchSize): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
358 batchData[j,:,:,:] = Valid[perm[j],:,:,:] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
359 batchLabels[j,:,:,:] = LValid[perm[j],:,:,:] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
360 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
361 summary, es = sess.run([merged, errors],feed_dict={UNet2D.tfData: batchData, tfLabels: batchLabels, UNet2D.tfTraining: 0}) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
362 validWriter.add_summary(summary, i) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
363 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
364 e = np.mean(es) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
365 print('step %05d, e: %f' % (i,e)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
366 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
367 if i == 0: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
368 if restoreVariables: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
369 lowestError = e | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
370 else: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
371 lowestError = np.inf | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
372 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
373 if np.mod(i,100) == 0 and e < lowestError: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
374 lowestError = e | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
375 print("Model saved in file: %s" % saver.save(sess, outModelPath)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
376 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
377 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
378 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
379 # test | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
380 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
381 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
382 if not os.path.exists(outPMPath): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
383 os.makedirs(outPMPath) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
384 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
385 for i in range(nTest): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
386 j = np.mod(i,batchSize) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
387 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
388 batchData[j,:,:,:] = Test[i,:,:,:] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
389 batchLabels[j,:,:,:] = LTest[i,:,:,:] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
390 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
391 if j == batchSize-1 or i == nTest-1: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
392 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
393 output = sess.run(UNet2D.nn,feed_dict={UNet2D.tfData: batchData, tfLabels: batchLabels, UNet2D.tfTraining: 0}) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
394 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
395 for k in range(j+1): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
396 pm = output[k,:,:,testPMIndex] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
397 gt = batchLabels[k,:,:,testPMIndex] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
398 im = np.sqrt(normalize(batchData[k,:,:,0])) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
399 imwrite(np.uint8(255*np.concatenate((im,np.concatenate((pm,gt),axis=1)),axis=1)),'%s/I%05d.png' % (outPMPath,i-j+k+1)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
400 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
401 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
402 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
403 # save hyper-parameters, clean-up | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
404 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
405 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
406 saveData(UNet2D.hp,pathjoin(modelPath,'hp.data')) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
407 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
408 trainWriter.close() | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
409 validWriter.close() | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
410 sess.close() | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
411 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
412 def deploy(imPath,nImages,modelPath,pmPath,gpuIndex,pmIndex): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
413 os.environ['CUDA_VISIBLE_DEVICES']= '%d' % gpuIndex | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
414 variablesPath = pathjoin(modelPath,'model.ckpt') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
415 outPMPath = pmPath | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
416 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
417 hp = loadData(pathjoin(modelPath,'hp.data')) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
418 UNet2D.setupWithHP(hp) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
419 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
420 batchSize = UNet2D.hp['batchSize'] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
421 imSize = UNet2D.hp['imSize'] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
422 nChannels = UNet2D.hp['nChannels'] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
423 nClasses = UNet2D.hp['nClasses'] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
424 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
425 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
426 # data | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
427 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
428 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
429 Data = np.zeros((nImages,imSize,imSize,nChannels)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
430 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
431 datasetMean = loadData(pathjoin(modelPath,'datasetMean.data')) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
432 datasetStDev = loadData(pathjoin(modelPath,'datasetStDev.data')) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
433 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
434 for iSample in range(0, nImages): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
435 path = '%s/I%05d_Img.tif' % (imPath,iSample) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
436 im = im2double(tifread(path)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
437 Data[iSample,:,:,0] = (im-datasetMean)/datasetStDev | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
438 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
439 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
440 # session | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
441 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
442 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
443 saver = tf.train.Saver() | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
444 sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True)) # config parameter needed to save variables when using GPU | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
445 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
446 saver.restore(sess, variablesPath) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
447 print("Model restored.") | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
448 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
449 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
450 # deploy | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
451 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
452 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
453 batchData = np.zeros((batchSize,imSize,imSize,nChannels)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
454 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
455 if not os.path.exists(outPMPath): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
456 os.makedirs(outPMPath) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
457 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
458 for i in range(nImages): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
459 print(i,nImages) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
460 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
461 j = np.mod(i,batchSize) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
462 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
463 batchData[j,:,:,:] = Data[i,:,:,:] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
464 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
465 if j == batchSize-1 or i == nImages-1: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
466 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
467 output = sess.run(UNet2D.nn,feed_dict={UNet2D.tfData: batchData, UNet2D.tfTraining: 0}) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
468 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
469 for k in range(j+1): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
470 pm = output[k,:,:,pmIndex] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
471 im = np.sqrt(normalize(batchData[k,:,:,0])) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
472 # imwrite(np.uint8(255*np.concatenate((im,pm),axis=1)),'%s/I%05d.png' % (outPMPath,i-j+k+1)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
473 imwrite(np.uint8(255*im),'%s/I%05d_Im.png' % (outPMPath,i-j+k+1)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
474 imwrite(np.uint8(255*pm),'%s/I%05d_PM.png' % (outPMPath,i-j+k+1)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
475 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
476 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
477 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
478 # clean-up | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
479 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
480 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
481 sess.close() | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
482 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
483 def singleImageInferenceSetup(modelPath,gpuIndex): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
484 os.environ['CUDA_VISIBLE_DEVICES']= '%d' % gpuIndex | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
485 variablesPath = pathjoin(modelPath,'model.ckpt') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
486 hp = loadData(pathjoin(modelPath,'hp.data')) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
487 UNet2D.setupWithHP(hp) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
488 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
489 UNet2D.DatasetMean =loadData(pathjoin(modelPath,'datasetMean.data')) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
490 UNet2D.DatasetStDev = loadData(pathjoin(modelPath,'datasetStDev.data')) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
491 print(UNet2D.DatasetMean) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
492 print(UNet2D.DatasetStDev) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
493 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
494 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
495 # session | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
496 # -------------------------------------------------- | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
497 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
498 saver = tf.train.Saver() | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
499 UNet2D.Session = tf.Session(config=tf.ConfigProto(allow_soft_placement=True)) # config parameter needed to save variables when using GPU | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
500 #UNet2D.Session = tf.Session(config=tf.ConfigProto(device_count={'GPU': 0})) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
501 saver.restore(UNet2D.Session, variablesPath) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
502 print("Model restored.") | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
503 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
504 def singleImageInferenceCleanup(): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
505 UNet2D.Session.close() | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
506 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
507 def singleImageInference(image,mode,pmIndex): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
508 print('Inference...') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
509 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
510 batchSize = UNet2D.hp['batchSize'] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
511 imSize = UNet2D.hp['imSize'] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
512 nChannels = UNet2D.hp['nChannels'] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
513 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
514 PI2D.setup(image,imSize,int(imSize/8),mode) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
515 PI2D.createOutput(nChannels) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
516 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
517 batchData = np.zeros((batchSize,imSize,imSize,nChannels)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
518 for i in range(PI2D.NumPatches): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
519 j = np.mod(i,batchSize) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
520 batchData[j,:,:,0] = (PI2D.getPatch(i)-UNet2D.DatasetMean)/UNet2D.DatasetStDev | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
521 if j == batchSize-1 or i == PI2D.NumPatches-1: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
522 output = UNet2D.Session.run(UNet2D.nn,feed_dict={UNet2D.tfData: batchData, UNet2D.tfTraining: 0}) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
523 for k in range(j+1): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
524 pm = output[k,:,:,pmIndex] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
525 PI2D.patchOutput(i-j+k,pm) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
526 # PI2D.patchOutput(i-j+k,normalize(imgradmag(PI2D.getPatch(i-j+k),1))) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
527 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
528 return PI2D.getValidOutput() | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
529 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
530 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
531 def identifyNumChan(path): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
532 | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
533 s = tifffile.TiffFile(path).series[0] | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
534 return s.shape[0] if len(s.shape) > 2 else 1 | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
535 # shape = tiff.pages[0].shape | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
536 # tiff = tifffile.TiffFile(path) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
537 # for i, page in enumerate(tiff.pages): | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
538 # print(page.shape) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
539 # if page.shape != shape: | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
540 # numChan = i | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
541 # return numChan | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
542 # break | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
543 # else: | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
544 # raise Exception("Did not find any pyramid subresolutions") | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
545 | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
546 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
547 def getProbMaps(I,dsFactor,modelPath): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
548 hsize = int((float(I.shape[0]) * float(0.5))) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
549 vsize = int((float(I.shape[1]) * float(0.5))) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
550 imagesub = cv2.resize(I,(vsize,hsize),cv2.INTER_NEAREST) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
551 | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
552 UNet2D.singleImageInferenceSetup(modelPath, 0) | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
553 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
554 for iSize in range(dsFactor): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
555 hsize = int((float(I.shape[0]) * float(0.5))) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
556 vsize = int((float(I.shape[1]) * float(0.5))) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
557 I = cv2.resize(I,(vsize,hsize),cv2.INTER_NEAREST) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
558 I = im2double(I) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
559 I = im2double(sk.rescale_intensity(I, in_range=(np.min(I), np.max(I)), out_range=(0, 0.983))) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
560 probMaps = UNet2D.singleImageInference(I,'accumulate',1) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
561 UNet2D.singleImageInferenceCleanup() | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
562 return probMaps | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
563 | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
564 def coreSegmenterOutput(I,initialmask,findCenter): | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
565 hsize = int((float(I.shape[0]) * float(0.1))) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
566 vsize = int((float(I.shape[1]) * float(0.1))) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
567 nucGF = cv2.resize(I,(vsize,hsize),cv2.INTER_CUBIC) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
568 #active contours | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
569 hsize = int(float(nucGF.shape[0])) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
570 vsize = int(float(nucGF.shape[1])) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
571 initialmask = cv2.resize(initialmask,(vsize,hsize),cv2.INTER_NEAREST) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
572 initialmask = dilation(initialmask,disk(15)) >0 | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
573 | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
574 nucGF = gaussian(nucGF,0.7) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
575 nucGF=nucGF/np.amax(nucGF) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
576 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
577 nuclearMask = morphological_chan_vese(nucGF, 100, init_level_set=initialmask, smoothing=10,lambda1=1.001, lambda2=1) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
578 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
579 TMAmask = nuclearMask | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
580 TMAmask = remove_small_objects(TMAmask>0,round(TMAmask.shape[0])*round(TMAmask.shape[1])*0.005) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
581 TMAlabel = label(TMAmask) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
582 # find object closest to center | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
583 if findCenter==True: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
584 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
585 stats= regionprops(TMAlabel) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
586 counter=1 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
587 minDistance =-1 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
588 index =[] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
589 for props in stats: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
590 centroid = props.centroid | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
591 distanceFromCenter = np.sqrt((centroid[0]-nucGF.shape[0]/2)**2+(centroid[1]-nucGF.shape[1]/2)**2) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
592 # if distanceFromCenter<0.6/2*np.sqrt(TMAlabel.shape[0]*TMAlabel.shape[1]): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
593 if distanceFromCenter<minDistance or minDistance==-1 : | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
594 minDistance =distanceFromCenter | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
595 index = counter | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
596 counter=counter+1 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
597 # dist = 0.6/2*np.sqrt(TMAlabel.shape[0]*TMAlabel.shape[1]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
598 TMAmask = morphology.binary_closing(TMAlabel==index,disk(3)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
599 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
600 return TMAmask | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
601 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
602 def overlayOutline(outline,img): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
603 img2 = img.copy() | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
604 stacked_img = np.stack((img2,)*3, axis=-1) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
605 stacked_img[outline > 0] = [1, 0, 0] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
606 imshowpair(img2,stacked_img) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
607 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
608 def imshowpair(A,B): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
609 plt.imshow(A,cmap='Purples') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
610 plt.imshow(B,cmap='Greens',alpha=0.5) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
611 plt.show() | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
612 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
613 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
614 if __name__ == '__main__': | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
615 parser=argparse.ArgumentParser() | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
616 parser.add_argument("--imagePath") | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
617 parser.add_argument("--outputPath") | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
618 parser.add_argument("--maskPath") | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
619 parser.add_argument("--tissue", action='store_true') | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
620 parser.add_argument("--downsampleFactor", type=int, default = 5) | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
621 parser.add_argument("--channel",type = int, default = 0) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
622 parser.add_argument("--buffer",type = float, default = 2) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
623 parser.add_argument("--outputChan", type=int, nargs = '+', default=[-1]) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
624 parser.add_argument("--sensitivity",type = float, default=0.3) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
625 parser.add_argument("--useGrid",action='store_true') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
626 parser.add_argument("--cluster",action='store_true') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
627 args = parser.parse_args() | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
628 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
629 outputPath = args.outputPath | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
630 imagePath = args.imagePath | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
631 sensitivity = args.sensitivity | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
632 scriptPath = os.path.dirname(os.path.realpath(__file__)) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
633 modelPath = os.path.join(scriptPath, 'model') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
634 maskOutputPath = os.path.join(outputPath, 'masks') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
635 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
636 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
637 # if not os.path.exists(outputPath): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
638 # os.makedirs(outputPath) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
639 # else: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
640 # shutil.rmtree(outputPath) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
641 if not os.path.exists(maskOutputPath): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
642 os.makedirs(maskOutputPath) | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
643 print( | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
644 'WARNING! IF USING FOR TISSUE SPLITTING, IT IS ADVISED TO SET --downsampleFactor TO HIGHER THAN DEFAULT OF 5') | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
645 channel = args.channel | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
646 dsFactor = 1/(2**args.downsampleFactor) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
647 I = skio.imread(imagePath, img_num=channel) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
648 imagesub = resize(I,(int((float(I.shape[0]) * dsFactor)),int((float(I.shape[1]) * dsFactor)))) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
649 numChan = identifyNumChan(imagePath) | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
650 | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
651 outputChan = args.outputChan | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
652 if len(outputChan)==1: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
653 if outputChan[0]==-1: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
654 outputChan = [0, numChan-1] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
655 else: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
656 outputChan.append(outputChan[0]) | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
657 classProbs = getProbMaps(I, args.downsampleFactor, modelPath) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
658 | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
659 if not args.tissue: | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
660 print('TMA mode selected') | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
661 preMask = gaussian(np.uint8(classProbs*255),1)>0.8 | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
662 | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
663 P = regionprops(label(preMask),cache=False) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
664 area = [ele.area for ele in P] | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
665 if len(P) <3: | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
666 medArea = np.median(area) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
667 maxArea = np.percentile(area,99) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
668 else: | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
669 count=0 | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
670 labelpreMask = np.zeros(preMask.shape,dtype=np.uint32) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
671 for props in P: | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
672 count += 1 | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
673 yi = props.coords[:, 0] | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
674 xi = props.coords[:, 1] | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
675 labelpreMask[yi, xi] = count | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
676 P=regionprops(labelpreMask) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
677 area = [ele.area for ele in P] | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
678 medArea = np.median(area) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
679 maxArea = np.percentile(area,99) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
680 preMask = remove_small_objects(preMask,0.2*medArea) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
681 coreRad = round(np.sqrt(medArea/np.pi)) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
682 estCoreDiam = round(np.sqrt(maxArea/np.pi)*1.2*args.buffer) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
683 | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
684 #preprocessing | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
685 fgFiltered = blob_log(preMask,coreRad*0.6,threshold=sensitivity) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
686 Imax = np.zeros(preMask.shape,dtype=np.uint8) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
687 for iSpot in range(fgFiltered.shape[0]): | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
688 yi = np.uint32(round(fgFiltered[iSpot, 0])) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
689 xi = np.uint32(round(fgFiltered[iSpot, 1])) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
690 Imax[yi, xi] = 1 | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
691 Imax = Imax*preMask | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
692 Idist = distance_transform_edt(1-Imax) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
693 markers = label(Imax) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
694 coreLabel = watershed(Idist,markers,watershed_line=True,mask = preMask) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
695 P = regionprops(coreLabel) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
696 centroids = np.array([ele.centroid for ele in P]) / dsFactor | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
697 np.savetxt(outputPath + os.path.sep + 'centroidsY-X.txt', np.asarray(centroids), fmt='%10.5f') | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
698 numCores = len(centroids) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
699 print(str(numCores) + ' cores detected!') | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
700 estCoreDiamX = np.ones(numCores) * estCoreDiam / dsFactor | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
701 estCoreDiamY = np.ones(numCores) * estCoreDiam / dsFactor | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
702 else: | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
703 print('Tissue mode selected') | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
704 imageblur = 5 | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
705 Iblur = gaussian(np.uint8(255*classProbs), imageblur) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
706 coreMask = binary_fill_holes(binary_closing(Iblur > threshold_otsu(Iblur), np.ones((imageblur*2,imageblur*2)))) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
707 coreMask = remove_small_objects(coreMask, min_size=0.001 * coreMask.shape[0] * coreMask.shape[1]) | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
708 | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
709 ## watershed | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
710 Idist = distance_transform_edt(coreMask) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
711 markers = peak_local_max(h_maxima(Idist,20),indices=False) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
712 markers = label(markers).astype(np.int8) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
713 coreLabel = watershed(-Idist, markers, watershed_line=True,mask = coreMask) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
714 | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
715 P = regionprops(coreLabel) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
716 centroids = np.array([ele.centroid for ele in P]) / dsFactor | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
717 np.savetxt(outputPath + os.path.sep + 'centroidsY-X.txt', np.asarray(centroids), fmt='%10.5f') | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
718 numCores = len(centroids) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
719 print(str(numCores) + ' tissues detected!') | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
720 estCoreDiamX = np.array([(ele.bbox[3]-ele.bbox[1])*1.1 for ele in P]) / dsFactor | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
721 estCoreDiamY = np.array([(ele.bbox[2]-ele.bbox[0])*1.1 for ele in P]) / dsFactor | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
722 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
723 if numCores ==0 & args.cluster: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
724 print('No cores detected. Try adjusting the downsample factor') | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
725 sys.exit(255) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
726 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
727 singleMaskTMA = np.zeros(imagesub.shape) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
728 maskTMA = np.zeros(imagesub.shape) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
729 bbox = [None] * numCores | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
730 imagesub = imagesub/np.percentile(imagesub,99.9) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
731 imagesub = (imagesub * 255).round().astype(np.uint8) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
732 imagesub = gray2rgb(imagesub) | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
733 x=np.zeros(numCores) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
734 xLim=np.zeros(numCores) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
735 y=np.zeros(numCores) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
736 yLim=np.zeros(numCores) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
737 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
738 # segmenting each core | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
739 ####################### | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
740 for iCore in range(numCores): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
741 x[iCore] = centroids[iCore,1] - estCoreDiamX[iCore]/2 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
742 xLim[iCore] = x[iCore]+estCoreDiamX[iCore] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
743 if xLim[iCore] > I.shape[1]: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
744 xLim[iCore] = I.shape[1] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
745 if x[iCore]<1: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
746 x[iCore]=1 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
747 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
748 y[iCore] = centroids[iCore,0] - estCoreDiamY[iCore]/2 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
749 yLim[iCore] = y[iCore] + estCoreDiamY[iCore] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
750 if yLim[iCore] > I.shape[0]: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
751 yLim[iCore] = I.shape[0] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
752 if y[iCore]<1: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
753 y[iCore]=1 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
754 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
755 bbox[iCore] = [round(x[iCore]), round(y[iCore]), round(xLim[iCore]), round(yLim[iCore])] | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
756 coreStack = np.zeros((outputChan[1]-outputChan[0]+1,np.int(round(yLim[iCore])-round(y[iCore])-1),np.int(round(xLim[iCore])-round(x[iCore])-1)),dtype='uint16') | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
757 | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
758 for iChan in range(outputChan[0],outputChan[1]+1): | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
759 with pytiff.Tiff(imagePath, "r", encoding='utf-8') as handle: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
760 handle.set_page(iChan) | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
761 coreStack[iChan,:,:] =handle[np.uint32(bbox[iCore][1]):np.uint32(bbox[iCore][3]-1), np.uint32(bbox[iCore][0]):np.uint32(bbox[iCore][2]-1)] | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
762 | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
763 skio.imsave(outputPath + os.path.sep + str(iCore+1) + '.tif',np.uint16(coreStack),imagej=True,bigtiff=True) | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
764 with pytiff.Tiff(imagePath, "r", encoding='utf-8') as handle: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
765 handle.set_page(args.channel) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
766 coreSlice= handle[np.uint32(bbox[iCore][1]):np.uint32(bbox[iCore][3]-1), np.uint32(bbox[iCore][0]):np.uint32(bbox[iCore][2]-1)] | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
767 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
768 core = (coreLabel ==(iCore+1)) | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
769 initialmask = core[np.uint32(y[iCore] * dsFactor):np.uint32(yLim[iCore] * dsFactor), | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
770 np.uint32(x[iCore] * dsFactor):np.uint32(xLim[iCore] * dsFactor)] | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
771 if not args.tissue: | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
772 initialmask = resize(initialmask,size(coreSlice),cv2.INTER_NEAREST) | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
773 | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
774 singleProbMap = classProbs[np.uint32(y[iCore]*dsFactor):np.uint32(yLim[iCore]*dsFactor),np.uint32(x[iCore]*dsFactor):np.uint32(xLim[iCore]*dsFactor)] | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
775 singleProbMap = resize(np.uint8(255*singleProbMap),size(coreSlice),cv2.INTER_NEAREST) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
776 TMAmask = coreSegmenterOutput(coreSlice,initialmask,False) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
777 else: | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
778 Irs = resize(coreSlice,(int((float(coreSlice.shape[0]) * 0.25)),int((float(coreSlice.shape[1]) * 0.25)))) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
779 TMAmask = coreSegmenterOutput(Irs, np.uint8(initialmask), False) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
780 | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
781 if np.sum(TMAmask)==0: | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
782 TMAmask = np.ones(TMAmask.shape) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
783 vsize = int(float(coreSlice.shape[0])) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
784 hsize = int(float(coreSlice.shape[1])) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
785 masksub = resize(resize(TMAmask,(vsize,hsize),cv2.INTER_NEAREST),(int((float(coreSlice.shape[0])*dsFactor)),int((float(coreSlice.shape[1])*dsFactor))),cv2.INTER_NEAREST) | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
786 singleMaskTMA[int(y[iCore]*dsFactor):int(y[iCore]*dsFactor)+masksub.shape[0],int(x[iCore]*dsFactor):int(x[iCore]*dsFactor)+masksub.shape[1]]=masksub | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
787 maskTMA = maskTMA + resize(singleMaskTMA,maskTMA.shape,cv2.INTER_NEAREST) | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
788 | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
789 cv2.putText(imagesub, str(iCore+1), (int(P[iCore].centroid[1]),int(P[iCore].centroid[0])), 0, 0.5, (0,255,0), 1, cv2.LINE_AA) | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
790 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
791 skio.imsave(maskOutputPath + os.path.sep + str(iCore+1) + '_mask.tif',np.uint8(TMAmask)) | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
792 print('Segmented core/tissue ' + str(iCore+1)) | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
793 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
794 boundaries = find_boundaries(maskTMA) | 
| 
1
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
795 imagesub[boundaries==1] = 255 | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
796 skio.imsave(outputPath + os.path.sep + 'TMA_MAP.tif' ,imagesub) | 
| 
 
57f1260ca94e
"planemo upload commit fec9dc76b3dd17b14b02c2f04be9d30f71eba1ae"
 
watsocam 
parents: 
0 
diff
changeset
 | 
797 print('Segmented all cores/tissues!') | 
| 
0
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
798 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
799 #restore GPU to 0 | 
| 
 
99308601eaa6
"planemo upload for repository https://github.com/ohsu-comp-bio/UNetCoreograph commit fb90660a1805b3f68fcff80d525b5459c3f7dfd6-dirty"
 
perssond 
parents:  
diff
changeset
 | 
800 #image load using tifffile | 
