File: MicronSingleToolConfigurationGUI.fl

package info (click to toggle)
igstk 4.4.0-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 38,980 kB
  • sloc: cpp: 86,267; xml: 96; makefile: 75; python: 38
file content (156 lines) | stat: -rw-r--r-- 4,900 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# data file for the Fltk User Interface Designer (fluid)
version 1.0107 
header_name {.h} 
code_name {.cxx}
decl {\#include <FL/Fl_File_Chooser.H>} {} 

decl {\#include "igstkMicronTrackerConfiguration.h"} {} 

decl {\#include "itksys/SystemTools.hxx"} {} 

decl {\#include "itksys/Directory.hxx"} {} 

class MicronSingleToolTrackerConfigurationGUI {open : {public igstk::TrackerConfigurationGUIBase}
} {
  Function {MicronSingleToolTrackerConfigurationGUI()} {open
  } {
    Fl_Window m_TrackerConfigurationWindow {
      label {Micron Tracker Configuration} open
      xywh {380 540 468 306} type Double
      code0 {\#include "igstkTrackerConfigurationGUIBase.h"} visible
    } {
      Fl_Button {} {
        label Confirm
        callback {UpdateParentConfiguration();}
        xywh {320 255 70 25}
      }
      Fl_Output m_CalibrationFileDir {
        label {Calibration File Dir:}
        xywh {145 50 215 25}
      }
      Fl_Button {} {
        label {...}
        callback {char * fileDir = fl_dir_chooser("Calibration file directory","c:/Program Files/Claron Technology/MicronTracker/CalibrationFiles");
if( fileDir )
{
  this->m_CalibrationFileDir->value(fileDir);
}}
        xywh {365 49 25 25}
      }
      Fl_Output m_InitializationFile {
        label {Initialization File Dir:}
        xywh {145 90 215 25}
      }
      Fl_Button {} {
        label {...}
        callback {char * fileName = fl_file_chooser("Initialization file","*.*","c:/Program Files/Claron Technology/MicronTracker/MTDemoCPP.ini");
if( fileName )
{
  this->m_InitializationFile->value(fileName);
}}
        xywh {365 89 25 25}
      }
      Fl_Button {} {
        label {...}
        callback {char * fileDir = fl_dir_chooser( "Marker file template directory","c:/Program Files/Claron Technology/MicronTracker/Markers" );
if( fileDir )
{
  this->m_TemplateFileDir->value( fileDir );
  this->m_TrackerToolMarker->clear();
  itksys::Directory * dir = new itksys::Directory;
  if( dir->Load(fileDir) )
    {
    int n = dir->GetNumberOfFiles();
    for( int i=0; i<n; i++ )
      {
      std::string s = dir->GetPath();
      s += dir->GetFile( i );
      if( itksys::SystemTools::FileIsDirectory( s.c_str() ) || itksys::SystemTools::StringEndsWith(s.c_str(),".igstk"))
        {
        continue;
        }
      this->m_TrackerToolMarker->add( dir->GetFile( i ) );
      }
    this->m_TrackerToolMarker->value(0);
    }
}}
        xywh {365 128 25 25} labelsize 8
      }
      Fl_Output m_TemplateFileDir {
        label {Template File Dir:}
        xywh {145 130 215 25}
      }
      Fl_Choice m_TrackerToolMarker {
        label {Tracker Tool Marker:}
        xywh {145 165 215 25} down_box BORDER_BOX
      } {}
      Fl_Value_Slider m_RefreshRateSlider {
        label {Refresh rate [Hz]:}
        xywh {132 22 105 15} type Horizontal align 4 minimum 1 maximum 48 step 1 value 15
      }
      Fl_Output m_CalibrationFileName {
        label {Template File Dir:}
        xywh {142 199 221 30}
      }
      Fl_Button {} {
        label {...}
        callback {char * fileName = fl_file_chooser( "Select calibration file","*.igstk","" );
if( fileName )
{
  this->m_CalibrationFileName->value( fileName );
}}
        xywh {367 201 25 25} labelsize 8
      }
    }
  }
  Function {~MicronSingleToolTrackerConfigurationGUI()} {open return_type virtual
  } {}
  Function {GetConfiguration()} {open return_type {virtual igstk::TrackerConfiguration *}
  } {
    code {igstk::MicronTrackerConfiguration *conf = new igstk::MicronTrackerConfiguration();

conf->AddObserver( igstk::TrackerConfiguration::AddToolFailureEvent(), this );
conf->AddObserver( igstk::TrackerConfiguration::FrequencySetErrorEvent(), this ); 

         //get the desired tracker referesh rate
conf->RequestSetFrequency( this->m_RefreshRateSlider->value() );

if( this->m_ConfigurationErrorOccured )
{
  conf->Delete();
  this->m_ConfigurationErrorOccured = false;
  return NULL;
}

conf->SetCameraCalibrationFileDirectory( this->m_CalibrationFileDir->value() );
conf->SetInitializationFile( this->m_InitializationFile->value() ); 
conf->SetTemplatesDirectory( this->m_TemplateFileDir->value() );
          //set the tool parameters
igstk::MicronToolConfiguration tool;
  
tool.SetMarkerName( this->m_TrackerToolMarker->text() );

const std::string toolCalibrationFileName = 
  conf->GetTemplatesDirectory() + "/" + tool.GetMarkerName() + "_Calibration.igstk";

//tool.SetCalibrationFileName( toolCalibrationFileName );

conf->RequestAddTool( &tool );
if( this->m_ConfigurationErrorOccured )
{
  conf->Delete();
  this->m_ConfigurationErrorOccured = false;
  return NULL;
}
return conf;} {selected
    }
  }
  Function {Show()} {return_type {virtual void}
  } {
    code {this->m_TrackerConfigurationWindow->show();} {}
  }
  Function {Hide()} {return_type {virtual void}
  } {
    code {this->m_TrackerConfigurationWindow->hide();} {}
  }
}