]> Creatis software - creaRigidRegistration.git/blob - PackRecalage/bbs/appli/ExampleRecalage3D2Points.bbs
79b4532f63900117937060ac5494c12324ef8298
[creaRigidRegistration.git] / PackRecalage / bbs / appli / ExampleRecalage3D2Points.bbs
1 description "Example of posible Recalage implementation"
2 author "jn.trillos44@uniandes.edu.co"
3 category "demo"
4
5 load vtk
6 include wxvtk
7 load std
8 load itk
9 include vtk
10 include wx
11 load itkvtk
12 load creaMaracasVisu
13 load PackRecalage
14
15 //File selection and file reader for the first image
16
17 new FileSelector openFileDialog
18   set openFileDialog.Wildcard  "(*.mhd)|*.mhd"
19 new MetaImageReader reader
20    connect openFileDialog.Out reader.In
21
22 //File selection and file reader for the second image
23
24 new FileSelector openFileDialog2
25   set openFileDialog2.Wildcard  "(*.mhd)|*.mhd"
26 new MetaImageReader reader2
27    connect openFileDialog2.Out reader2.In
28
29 //Viewer NV and ShowPoints for the first image
30
31 new ViewerNV viewer
32   connect reader.Out viewer.In
33   set viewer.nTypeView "5"
34
35 new ShowNPoints showNpoints
36   connect reader.Out showNpoints.Image
37   connect viewer.Renderer1 showNpoints.Renderer
38   connect viewer.Point showNpoints.In
39   connect viewer.BoxChange showNpoints.BoxExecute
40   set showNpoints.Radio 10
41
42 //Viewer NV and ShowPoints for the second image
43
44 new ViewerNV viewer2
45   connect reader2.Out viewer2.In
46   set viewer2.nTypeView "5"
47
48 new ShowNPoints showNpoints2
49   connect reader2.Out showNpoints2.Image
50   connect viewer2.Renderer1 showNpoints2.Renderer
51   connect viewer2.Point showNpoints2.In
52   connect viewer2.BoxChange showNpoints2.BoxExecute
53   set showNpoints2.Radio 10
54
55 //////////////////////////////////////////
56 #Transform Box
57 //////////////////////////////////////////
58
59 new Transform3D2PointsBox transform
60   connect showNpoints.lstPointsX transform.InX1
61   connect showNpoints2.lstPointsX transform.InX2
62   connect showNpoints.lstPointsY transform.InY1
63   connect showNpoints2.lstPointsY transform.InY2
64   connect showNpoints.lstPointsZ transform.InZ1
65   connect showNpoints2.lstPointsZ transform.InZ2  
66
67  connect showNpoints.lstLabels transform.Labels1 
68  connect showNpoints2.lstLabels transform.Labels2
69   
70 new ReSlicerBox reslice1
71
72   set reslice1.Origin "0,0,0"
73
74   connect transform.Out reslice1.Transform
75   connect reader2.Out reslice1.In
76
77 //ViewerNV and ComandButton for the result image
78
79
80 new ViewerNV viewer3
81   set viewer3.nTypeView "5 0"
82   connect reslice1.Out viewer3.In
83
84 new CommandButton butExec
85   set butExec.Label "Execute"
86
87 //Slider for second angle
88
89 new Slider angle
90   set angle.In 0
91   set angle.Max 180
92   set angle.Min -180
93
94   connect angle.Out transform.SecondAngle
95
96 //Tab for the first image
97
98 new LayoutSplit tab1
99    set tab1.Orientation H
100
101 ////////////////////
102
103 new LayoutSplit hello
104   set hello.Orientation V
105
106   connect showNpoints.Widget hello.Widget1
107
108 new LayoutSplit hello2
109   connect butExec.Widget hello2.Widget1
110   connect angle.Widget hello2.Widget2
111
112   connect hello2.Widget hello.Widget2
113
114    connect hello.Widget tab1.Widget1
115    connect viewer.Widget tab1.Widget2
116
117 //Tab for the second image
118
119 new LayoutSplit tab2
120    set tab2.Orientation H
121    connect showNpoints2.Widget tab2.Widget1
122    connect viewer2.Widget tab2.Widget2
123
124 //Tab for the result image
125
126   connect butExec.BoxChange transform.BoxExecute
127   connect butExec.BoxChange reslice1.BoxExecute
128   connect butExec.BoxChange viewer3.BoxExecute
129
130
131 //Main window
132
133 new LayoutTab main
134 set main.Orientation H
135 connect tab1.Widget main.Widget1
136 connect tab2.Widget main.Widget2
137
138 exec main