]> Creatis software - creaRigidRegistration.git/blob - PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbs
*** empty log message ***
[creaRigidRegistration.git] / PackRecalage / bbs / appli / ExampleRecalage3D1Point.bbs
1 description "Recalage3D Version 1"
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 ///////////////////////
16 //Image Readers//
17 //////////////////////
18
19 #Uncomment to use a FileReadeDialog for .mhd
20 #-------------------------------------------------------
21
22 //File selection and file reader for the first image
23
24 new FileSelector openFileDialog
25   set openFileDialog.Wildcard  "(*.mhd)|*.mhd"
26 new MetaImageReader reader
27    connect openFileDialog.Out reader.In
28
29 //File selection and file reader for the second image
30
31 new FileSelector openFileDialog2
32   set openFileDialog2.Wildcard  "(*.mhd)|*.mhd"
33 new MetaImageReader reader2
34    connect openFileDialog2.Out reader2.In
35
36 #-------------------------------------------------------
37
38
39 #Uncomment to use a Gimmick Reader
40 #-------------------------------------------------------
41 /*
42 load creaImageIO
43
44 new Gimmick reader
45
46 new Gimmick reader2
47 */
48 #------------------------------------------------------
49
50 ///////////////////////
51 //Image Viewers///
52 //////////////////////
53
54 //Viewer NV for the first image
55
56 new ViewerNV viewer
57   connect reader.Out viewer.In
58   set viewer.nTypeView "5"
59
60 //Viewer NV for the second image
61
62 new ViewerNV viewer2
63   connect reader2.Out viewer2.In
64   set viewer2.nTypeView "5"
65
66 ///////////////////////
67 //Image Controls//
68 //////////////////////
69
70 new Slider sdrAngleX
71   set sdrAngleX.Max 180
72   set sdrAngleX.Min -180
73   set sdrAngleX.In 0
74   set sdrAngleX.Title "Rotation angle in X Axis"
75   set sdrAngleX.ReactiveOnTrack true
76
77 new Slider sdrAngleY
78   set sdrAngleY.Max 180
79   set sdrAngleY.Min -180
80   set sdrAngleY.In 0
81   set sdrAngleY.Title "Rotation angle in Y Axis"
82   set sdrAngleY.ReactiveOnTrack true
83
84 new Slider sdrAngleZ
85   set sdrAngleZ.Max 180
86   set sdrAngleZ.Min -180
87   set sdrAngleZ.In 0
88   set sdrAngleZ.Title "Rotation angle in Z Axis"
89   set sdrAngleZ.ReactiveOnTrack true
90
91 new Slider sdrScaleX
92   set sdrScaleX.Max 300
93   set sdrScaleX.Min 10
94   set sdrScaleX.In 100
95   set sdrScaleX.Title "Scale in X Axis"
96   set sdrScaleX.ReactiveOnTrack true
97
98 new Slider sdrScaleY
99   set sdrScaleY.Max 300
100   set sdrScaleY.Min 10
101   set sdrScaleY.In 100
102   set sdrScaleY.Title "Scale in Y Axis"
103   set sdrScaleY.ReactiveOnTrack true
104
105 new Slider sdrScaleZ
106   set sdrScaleZ.Max 300
107   set sdrScaleZ.Min 10
108   set sdrScaleZ.In 100
109   set sdrScaleZ.Title "Scale in Z Axis"
110   set sdrScaleZ.ReactiveOnTrack true
111
112
113 ///////////////////////////////
114 //Transformation Boxes//
115 //////////////////////////////
116
117 new Transform3D1PointBox transform
118   connect viewer2.Point transform.CenterPoint
119   connect sdrAngleX.Out transform.AngleX
120   connect sdrAngleY.Out transform.AngleY
121   connect sdrAngleZ.Out transform.AngleZ
122   connect sdrScaleX.Out transform.ScaleX
123   connect sdrScaleY.Out transform.ScaleY
124   connect sdrScaleZ.Out transform.ScaleZ
125
126 new ReSlicerBox reslicer
127   connect viewer.Point reslicer.Origin
128   connect reader2.Out reslicer.In
129   connect transform.Out reslicer.Transform
130
131 ///////////////////////////////////////////////
132 //Multiple Inputs for image interaction//
133 ///////////////////////////////////////////////
134
135 new MultipleInputs mult
136   connect viewer.BoxChange mult.In1
137   connect viewer2.BoxChange mult.In2
138   connect sdrAngleX.BoxChange mult.In3
139   connect sdrAngleY.BoxChange mult.In4
140   connect sdrAngleZ.BoxChange mult.In5
141
142 new MultipleInputs mult2
143   connect sdrScaleX.BoxChange mult2.In1
144   connect sdrScaleY.BoxChange mult2.In2
145   connect sdrScaleZ.BoxChange mult2.In3
146
147 new MultipleInputs mult3
148   connect mult.BoxChange mult3.In1
149   connect mult2.BoxChange mult3.In2
150
151   connect mult3.BoxChange transform.BoxExecute
152   connect mult3.BoxChange reslicer.BoxExecute
153
154 /////////////////////////////////////////
155 //Image Result Viewer                //
156 ////////////////////////////////////////
157
158 new ViewerNV viewerResult
159   connect reslicer.Out viewerResult.In
160    set viewerResult.nTypeView "5"
161
162   connect mult3.BoxChange viewerResult.BoxExecute
163
164 //////////////////////////////////////
165 //Interface Layouts                 //
166 //////////////////////////////////////
167
168 new LayoutSplit imagesLayout
169   set imagesLayout.Orientation "v"
170   set imagesLayout.Proportion 50
171
172   connect viewer.Widget imagesLayout.Widget1
173   connect viewer2.Widget imagesLayout.Widget2
174   
175 new LayoutLine toolsLayout
176   set toolsLayout.Orientation "v"
177   connect sdrAngleX.Widget toolsLayout.Widget1
178   connect sdrAngleY.Widget toolsLayout.Widget2
179   connect sdrAngleZ.Widget toolsLayout.Widget3
180   connect sdrScaleX.Widget toolsLayout.Widget4
181   connect sdrScaleY.Widget toolsLayout.Widget5
182   connect sdrScaleZ.Widget toolsLayout.Widget6
183
184 new LayoutSplit resultLayout
185   set resultLayout.Orientation "v"
186   set resultLayout.Proportion 60
187
188   connect viewerResult.Widget resultLayout.Widget1
189   connect toolsLayout.Widget resultLayout.Widget2
190
191 new LayoutSplit main
192   set main.Orientation "h"
193   set main.Proportion 50
194
195   connect imagesLayout.Widget main.Widget1
196   connect resultLayout.Widget main.Widget2
197
198 exec main
199     
200