00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _Robotization_
00025 #define _Robotization_
00026
00027 #include "InPort.hxx"
00028 #include "OutPort.hxx"
00029 #include "InControl.hxx"
00030 #include "Frame.hxx"
00031 #include "FrameTransformation.hxx"
00032 #include "FrameTransformationConfig.hxx"
00033
00034 namespace CLAM{
00035
00036 class Robotization: public FrameTransformationTmpl<Spectrum>
00037 {
00038 InPort<Spectrum> mIn;
00039 OutPort<Spectrum> mOut;
00040
00041 InControl mRFactor;
00042 public:
00043 const char* GetClassName() const
00044 {
00045 return "Robotization";
00046 }
00047
00048 Robotization()
00049 :
00050 mIn("In Spectrum", this),
00051 mOut("Out Spectrum", this),
00052 mRFactor("Robotization factor", this)
00053 {
00054 Configure( FrameTransformationConfig() );
00055 }
00056
00057 ~Robotization() {}
00058
00059 bool ConcreteConfigure( const ProcessingConfig& config )
00060 {
00061 mRFactor.SetBounds(0.,100.);
00062 mRFactor.SetDefaultValue(0.);
00063 mRFactor.DoControl(0.);
00064 return true;
00065 }
00066
00067 bool Do(const Frame& in, Frame& out)
00068 {
00069 return Do(in.GetSpectrum(),
00070 out.GetSpectrum());
00071 }
00072
00073 bool Do(const Spectrum& in, Spectrum& out);
00074
00075 bool Do()
00076 {
00077 bool result = Do(mIn.GetData(), mOut.GetData());
00078 mIn.Consume();
00079 mOut.Produce();
00080 return result;
00081 }
00082 };
00083 };
00084
00085 #endif // _Robotization_