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