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