Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Hybrid/vtkMILVideoSource.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00045 #ifndef __vtkMILVideoSource_h
00046 #define __vtkMILVideoSource_h
00047
00048 #include "vtkVideoSource.h"
00049
00050
00051 #define VTK_MIL_DEFAULT 0
00052 #define VTK_MIL_METEOR "M_SYSTEM_METEOR"
00053 #define VTK_MIL_METEOR_II "M_SYSTEM_METEOR_II"
00054 #define VTK_MIL_METEOR_II_DIG "M_SYSTEM_METEOR_II_DIG"
00055 #define VTK_MIL_METEOR_II_CL "M_SYSTEM_METEOR_II_CL"
00056 #define VTK_MIL_METEOR_II_1394 "M_SYSTEM_METEOR_II_1394"
00057 #define VTK_MIL_CORONA "M_SYSTEM_CORONA"
00058 #define VTK_MIL_CORONA_II "M_SYSTEM_CORONA_II"
00059 #define VTK_MIL_PULSAR "M_SYSTEM_PULSAR"
00060 #define VTK_MIL_GENESIS "M_SYSTEM_GENESIS"
00061 #define VTK_MIL_GENESIS_PLUS "M_SYSTEM_GENESIS_PLUS"
00062 #define VTK_MIL_ORION "M_SYSTEM_ORION"
00063 #define VTK_MIL_CRONOS "M_SYSTEM_CRONOS"
00064 #define VTK_MIL_ODYSSEY "M_SYSTEM_ODYSSEY"
00065
00066
00067 #define VTK_MIL_MONO 0
00068 #define VTK_MIL_COMPOSITE 1
00069 #define VTK_MIL_YC 2
00070 #define VTK_MIL_RGB 3
00071 #define VTK_MIL_DIGITAL 4
00072
00073
00074 #define VTK_MIL_RS170 0
00075 #define VTK_MIL_NTSC 1
00076 #define VTK_MIL_CCIR 2
00077 #define VTK_MIL_PAL 3
00078 #define VTK_MIL_SECAM 4
00079 #define VTK_MIL_NONSTANDARD 5
00080
00081 class VTK_HYBRID_EXPORT vtkMILVideoSource : public vtkVideoSource
00082 {
00083 public:
00084 static vtkMILVideoSource *New();
00085 vtkTypeRevisionMacro(vtkMILVideoSource,vtkVideoSource);
00086 void PrintSelf(ostream& os, vtkIndent indent);
00087
00089 void Record();
00090
00092 void Play();
00093
00095 void Stop();
00096
00098 void Grab();
00099
00101 void SetFrameSize(int x, int y, int z);
00102
00104 void SetOutputFormat(int format);
00105
00107
00108 virtual void SetVideoChannel(int channel);
00109 vtkGetMacro(VideoChannel, int);
00111
00113
00114 virtual void SetVideoFormat(int format);
00115 void SetVideoFormatToNTSC() { this->SetVideoFormat(VTK_MIL_NTSC); };
00116 void SetVideoFormatToPAL() { this->SetVideoFormat(VTK_MIL_PAL); };
00117 void SetVideoFormatToSECAM() { this->SetVideoFormat(VTK_MIL_SECAM); };
00118 void SetVideoFormatToRS170() { this->SetVideoFormat(VTK_MIL_RS170); };
00119 void SetVideoFormatToCCIR() { this->SetVideoFormat(VTK_MIL_CCIR); };
00120 void SetVideoFormatToNonStandard() {
00121 this->SetVideoFormat(VTK_MIL_NONSTANDARD); };
00122 vtkGetMacro(VideoFormat,int);
00124
00126
00127 virtual void SetVideoInput(int input);
00128 void SetVideoInputToMono() { this->SetVideoInput(VTK_MIL_MONO); };
00129 void SetVideoInputToComposite() {this->SetVideoInput(VTK_MIL_COMPOSITE);};
00130 void SetVideoInputToYC() { this->SetVideoInput(VTK_MIL_YC); };
00131 void SetVideoInputToRGB() { this->SetVideoInput(VTK_MIL_RGB); };
00132 void SetVideoInputToDigital() { this->SetVideoInput(VTK_MIL_DIGITAL); };
00133 vtkGetMacro(VideoInput,int);
00135
00137
00140 virtual void SetContrastLevel(float contrast);
00141 vtkGetMacro(ContrastLevel,float);
00142 virtual void SetBrightnessLevel(float brightness);
00143 vtkGetMacro(BrightnessLevel,float);
00144 virtual void SetHueLevel(float hue);
00145 vtkGetMacro(HueLevel,float);
00146 virtual void SetSaturationLevel(float saturation);
00147 vtkGetMacro(SaturationLevel,float);
00149
00151
00153 virtual void SetBlackLevel(float value);
00154 virtual float GetBlackLevel() {
00155 return this->BlackLevel; };
00156 virtual void SetWhiteLevel(float value);
00157 virtual float GetWhiteLevel() {
00158 return this->WhiteLevel; };
00160
00162
00164 vtkSetStringMacro(MILSystemType);
00165 vtkGetStringMacro(MILSystemType);
00166 void SetMILSystemTypeToMeteor() { this->SetMILSystemType(VTK_MIL_METEOR); };
00167 void SetMILSystemTypeToMeteorII() { this->SetMILSystemType(VTK_MIL_METEOR_II); };
00168 void SetMILSystemTypeToMeteorIIDig() { this->SetMILSystemType(VTK_MIL_METEOR_II_DIG); };
00169 void SetMILSystemTypeToMeteorIICL() { this->SetMILSystemType(VTK_MIL_METEOR_II_CL); };
00170 void SetMILSystemTypeToMeteorII1394() { this->SetMILSystemType(VTK_MIL_METEOR_II_1394); };
00171 void SetMILSystemTypeToCorona() { this->SetMILSystemType(VTK_MIL_CORONA); };
00172 void SetMILSystemTypeToCoronaII() { this->SetMILSystemType(VTK_MIL_CORONA_II); };
00173 void SetMILSystemTypeToPulsar() { this->SetMILSystemType(VTK_MIL_PULSAR); };
00174 void SetMILSystemTypeToGenesis() { this->SetMILSystemType(VTK_MIL_GENESIS); };
00175 void SetMILSystemTypeToGenesisPlus() { this->SetMILSystemType(VTK_MIL_GENESIS_PLUS); };
00176 void SetMILSystemTypeToOrion() { this->SetMILSystemType(VTK_MIL_ORION); };
00177 void SetMILSystemTypeToCronos() { this->SetMILSystemType(VTK_MIL_CRONOS); };
00178 void SetMILSystemTypeToOdyssey() { this->SetMILSystemType(VTK_MIL_ODYSSEY); };
00179
00180
00181 vtkSetMacro(MILSystemNumber,int);
00182 vtkGetMacro(MILSystemNumber,int);
00184
00186
00187 vtkSetStringMacro(MILDigitizerDCF);
00188 vtkGetStringMacro(MILDigitizerDCF);
00190
00192
00193 vtkSetMacro(MILDigitizerNumber,int);
00194 vtkGetMacro(MILDigitizerNumber,int);
00196
00198
00199 virtual void SetMILErrorMessages(int yesno);
00200 vtkBooleanMacro(MILErrorMessages,int);
00201 vtkGetMacro(MILErrorMessages,int);
00203
00205
00206 vtkSetMacro(MILAppID,long);
00207 vtkGetMacro(MILAppID,long);
00208 vtkSetMacro(MILSysID,long);
00209 vtkGetMacro(MILSysID,long);
00210 vtkGetMacro(MILDigID,long);
00211 vtkGetMacro(MILBufID,long);
00213
00216 void Initialize();
00217
00219 void ReleaseSystemResources();
00220
00222
00223 void *OldHookFunction;
00224 void *OldUserDataPtr;
00225 int FrameCounter;
00226 int ForceGrab;
00227 void InternalGrab();
00229
00230 protected:
00231 vtkMILVideoSource();
00232 ~vtkMILVideoSource();
00233
00234 virtual void AllocateMILDigitizer();
00235 virtual void AllocateMILBuffer();
00236
00237 virtual void *MILInterpreterForSystem(const char *system);
00238 char *MILInterpreterDLL;
00239
00240 int VideoChannel;
00241 int VideoInput;
00242 int VideoInputForColor;
00243 int VideoFormat;
00244
00245 float ContrastLevel;
00246 float BrightnessLevel;
00247 float HueLevel;
00248 float SaturationLevel;
00249
00250 float BlackLevel;
00251 float WhiteLevel;
00252
00253 int FrameMaxSize[2];
00254
00255 long MILAppID;
00256 long MILSysID;
00257 long MILDigID;
00258 long MILBufID;
00259
00260
00261
00262 char *MILSystemType;
00263 int MILSystemNumber;
00264
00265 int MILDigitizerNumber;
00266 char *MILDigitizerDCF;
00267
00268 int MILErrorMessages;
00269
00270 int MILAppInternallyAllocated;
00271 int MILSysInternallyAllocated;
00272
00273 int FatalMILError;
00274
00278 double CreateTimeStampForFrame(unsigned long frame);
00279
00280 double LastTimeStamp;
00281 unsigned long LastFrameCount;
00282 double EstimatedFramePeriod;
00283 double NextFramePeriod;
00284
00285 private:
00286 vtkMILVideoSource(const vtkMILVideoSource&);
00287 void operator=(const vtkMILVideoSource&);
00288 };
00289
00290 #endif