root / bin / MGX_EdgeDetect.py @ 18
Historique | Voir | Annoter | Télécharger (2,36 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/Fanfan/Col-0_A-tif"
|
14 |
|
15 |
|
16 |
################### Parameters ###########
|
17 |
|
18 |
# smoothing
|
19 |
gaussianblurvalue=str(1) |
20 |
|
21 |
# threshold value for the Edgedetect procedure
|
22 |
edgedetectvalue=str(8000) |
23 |
|
24 |
# xy dilation value
|
25 |
dilatevalue=str(0) |
26 |
|
27 |
#########################################
|
28 |
|
29 |
path=filedata+'/'
|
30 |
outputdir=filedata+'-MGX-EdgeDetect_Blur'+gaussianblurvalue+'_ED'+edgedetectvalue+'_d'+dilatevalue+'/' |
31 |
os.system("mkdir "+outputdir)
|
32 |
|
33 |
listfiles=os.listdir(path) |
34 |
listfiles=[ i for i in listfiles if '.tif' in i] |
35 |
|
36 |
Process.Stack__System__Clear_Work_Stack('0')
|
37 |
Process.Stack__System__Clear_Main_Stack('0')
|
38 |
Process.Stack__System__Clear_Main_Stack('1')
|
39 |
Process.Stack__System__Clear_Work_Stack('1')
|
40 |
for i in listfiles: |
41 |
Process.Stack__System__Set_Current_Stack('Main', '0') |
42 |
Process.Stack__System__Open(path+i, 'Main', '0') |
43 |
Process.Stack__System__Open(path+i, 'Main', '1') |
44 |
Process.Stack__Filters__Gaussian_Blur_Stack(gaussianblurvalue, gaussianblurvalue, gaussianblurvalue) |
45 |
Process.Stack__MultiStack__Copy_Work_to_Main_Stack() |
46 |
Process.Stack__MultiStack__Swap_or_Copy_Stack_1_and_2('Main', '1 -> 2') |
47 |
Process.Stack__Morphology__Edge_Detect(edgedetectvalue, '2.0', '0.3', '30000') |
48 |
Process.Stack__MultiStack__Copy_Work_to_Main_Stack() |
49 |
Process.Stack__MultiStack__Swap_or_Copy_Stack_1_and_2('Main', '1 <-> 2') |
50 |
Process.Stack__System__Set_Current_Stack('Main', '0') |
51 |
Process.Stack__Canvas__Reverse_Axes('No', 'No', 'Yes') |
52 |
Process.Stack__Morphology__Edge_Detect(edgedetectvalue, '2.0', '0.3', '30000') |
53 |
Process.Stack__Canvas__Reverse_Axes('No', 'No', 'Yes') |
54 |
Process.Stack__MultiStack__Swap_or_Copy_Stack_1_and_2('Main', '1 <- 2') |
55 |
Process.Stack__System__Set_Current_Stack('Both', '0') |
56 |
Process.Stack__MultiStack__Combine_Stacks('Product')
|
57 |
Process.Stack__System__Set_Current_Stack('Work', '0') |
58 |
Process.Stack__Morphology__Dilate(dilatevalue, dilatevalue, "0", 'No', 'No') |
59 |
Process.Stack__System__Save(outputdir+"MGX_"+i[:-4]+'_e'+edgedetectvalue+'_d'+dilatevalue+'.tif', 'Work', '0', '0') |
60 |
Process.Stack__System__Clear_Work_Stack('0')
|
61 |
Process.Stack__System__Clear_Main_Stack('0')
|
62 |
Process.Stack__System__Clear_Main_Stack('1')
|
63 |
Process.Stack__System__Clear_Work_Stack('1')
|
64 |
Process.Stack__System__Clear_Main_Stack('2')
|
65 |
Process.Stack__System__Clear_Work_Stack('2')
|