root / bin / MGX_EdgeDetect.py @ 20
Historique | Voir | Annoter | Télécharger (2,43 ko)
1 |
import os |
---|---|
2 |
|
3 |
'''
|
4 |
Input:
|
5 |
- directory with grey images of sepals
|
6 |
|
7 |
Output:
|
8 |
- detected sepal contour stacks
|
9 |
|
10 |
'''
|
11 |
|
12 |
# directory of grey images
|
13 |
filedata="/home/biophysics/Desktop/Annamaria/Sepals"
|
14 |
|
15 |
|
16 |
################### Parameters ###########
|
17 |
|
18 |
# smoothing
|
19 |
#gaussianblurvalue=str(1)
|
20 |
gaussianblurvalue=str(2) |
21 |
|
22 |
# threshold value for the Edgedetect procedure
|
23 |
#edgedetectvalue=str(10000)
|
24 |
edgedetectvalue=str(2000) |
25 |
|
26 |
# xy dilation value
|
27 |
dilatevalue=str(0) |
28 |
|
29 |
#########################################
|
30 |
|
31 |
path=filedata+'/'
|
32 |
outputdir=filedata+'-MGX-EdgeDetect_Blur'+gaussianblurvalue+'_ED'+edgedetectvalue+'_d'+dilatevalue+'/' |
33 |
os.system("mkdir "+outputdir)
|
34 |
|
35 |
listfiles=os.listdir(path) |
36 |
listfiles=[ i for i in listfiles if '.tif' in i] |
37 |
|
38 |
Process.Stack__System__Clear_Work_Stack('0')
|
39 |
Process.Stack__System__Clear_Main_Stack('0')
|
40 |
Process.Stack__System__Clear_Main_Stack('1')
|
41 |
Process.Stack__System__Clear_Work_Stack('1')
|
42 |
for i in listfiles: |
43 |
Process.Stack__System__Set_Current_Stack('Main', '0') |
44 |
Process.Stack__System__Open(path+i, 'Main', '0','','Yes') |
45 |
Process.Stack__System__Open(path+i, 'Main', '1','','Yes') |
46 |
Process.Stack__Filters__Gaussian_Blur_Stack(gaussianblurvalue, gaussianblurvalue, gaussianblurvalue) |
47 |
Process.Stack__MultiStack__Copy_Work_to_Main_Stack() |
48 |
Process.Stack__MultiStack__Swap_or_Copy_Stack_1_and_2('Main', '1 -> 2') |
49 |
Process.Stack__Morphology__Edge_Detect(edgedetectvalue, '2.0', '0.3', '30000') |
50 |
Process.Stack__MultiStack__Copy_Work_to_Main_Stack() |
51 |
Process.Stack__MultiStack__Swap_or_Copy_Stack_1_and_2('Main', '1 <-> 2') |
52 |
Process.Stack__System__Set_Current_Stack('Main', '0') |
53 |
Process.Stack__Canvas__Reverse_Axes('No', 'No', 'Yes') |
54 |
Process.Stack__Morphology__Edge_Detect(edgedetectvalue, '2.0', '0.3', '30000') |
55 |
Process.Stack__Canvas__Reverse_Axes('No', 'No', 'Yes') |
56 |
Process.Stack__MultiStack__Swap_or_Copy_Stack_1_and_2('Main', '1 <- 2') |
57 |
Process.Stack__System__Set_Current_Stack('Both', '0') |
58 |
Process.Stack__MultiStack__Combine_Stacks('Product')
|
59 |
Process.Stack__System__Set_Current_Stack('Work', '0') |
60 |
Process.Stack__Morphology__Dilate(dilatevalue, dilatevalue, "0", 'No', 'No') |
61 |
Process.Stack__System__Save(outputdir+"MGX_"+i[:-4]+'_e'+edgedetectvalue+'_d'+dilatevalue+'.tif', 'Work', '0', '0','Yes') |
62 |
Process.Stack__System__Clear_Work_Stack('0')
|
63 |
Process.Stack__System__Clear_Main_Stack('0')
|
64 |
Process.Stack__System__Clear_Main_Stack('1')
|
65 |
Process.Stack__System__Clear_Work_Stack('1')
|
66 |
Process.Stack__System__Clear_Main_Stack('2')
|
67 |
Process.Stack__System__Clear_Work_Stack('2')
|