/* Constructor, in which all calibration parameters
         * and  auxiliary variables, flags and lists are initilized */
        public CalibrationAssistant()
        {
            //
            _imgQualityExaminer = new BackgroundWorker() { WorkerReportsProgress = true, WorkerSupportsCancellation = true };
            _imgQualityExaminer.DoWork += _imgQualityExaminer_DoWork;
            _imgQualityExaminer.ProgressChanged += _imgQualityExaminer_ProgressChanged;
            _imgQualityExaminer.RunWorkerCompleted += _imgQualityExaminer_RunWorkerCompleted;

            _addImagTasks = new List<string>();

            _imageTaskTimer = new System.Windows.Forms.Timer();
            _imageTaskTimer.Tick += _imageTaskTimer_Tick;

            CalibData = new ArrayList(15);
            mReferenceIndex = -1;
            mDescrFileName = "caltab_30mm.descr";
            mCalibValid = false;
            mCanCalib = true;
            mAtImgCoord = false;

            mReferenceImage = new HImage();
            mSimulatedImage = new HImage();

            mFilterSize = resetFilterSize;
            mMarkThresh = resetMarkThresh;
            mMinMarkDiam = resetMinMarkDiam;
            mInitThresh = resetInitThresh;
            mThreshDecr = resetThreshDecr;
            mMinThresh = resetMinThresh;
            mSmoothing = resetSmoothing;
            mMinContLength = resetMinContL;
            mMaxMarkDiam = resetMaxMarkDiam;

            mWarnLevel = 70;
            mImageTests = QUALITY_ISSUE_TEST_ALL;
            mSequenceTests = QUALITY_ISSUE_TEST_ALL;
            mSeqQualityList = new ArrayList(15);
            procedure = new QualityProcedures();

            mThickness = 630;       // micrometer
            mCameraType = CAMERA_TYP_AREA_SCAN_DIV;
            mCellWidth = 8300.0;    // nm
            mCellHeight = 8300.0;    // nm
            mFocalLength = 8000;      // micrometer
            isTelecentric = false;
            mKappa = 0.0;
            mK1 = 0.0;
            mK2 = 0.0;
            mK3 = 0.0;
            mP1 = 0.0;
            mP2 = 0.0;
            mMotionVx = 0.0;
            mMotionVy = 500.0;
            mMotionVz = 0.0;

            NotifyCalibObserver = new CalibDelegate(dummy);
        }
        /* Constructor, in which all calibration parameters
           * and  auxiliary variables, flags and lists are initilized */
        public CalibrationAssistant()
        {
            CalibData       = new ArrayList(15);
            mReferenceIndex = -1;
            mDescrFileName  = "caltab_30mm.descr";
            mCalibValid     = false;
            mCanCalib       = true;
            mAtImgCoord     = false;

            mReferenceImage = new HImage();
            mSimulatedImage = new HImage();

            mFilterSize    = resetFilterSize;
            mMarkThresh    = resetMarkThresh;
            mMinMarkDiam   = resetMinMarkDiam;
            mInitThresh    = resetInitThresh;
            mThreshDecr    = resetThreshDecr;
            mMinThresh     = resetMinThresh;
            mSmoothing     = resetSmoothing;
            mMinContLength = resetMinContL;
            mMaxMarkDiam   = resetMaxMarkDiam;

            mWarnLevel      = 70;
            mImageTests     = QUALITY_ISSUE_TEST_ALL;
            mSequenceTests  = QUALITY_ISSUE_TEST_ALL;
            mSeqQualityList = new ArrayList(15);
            procedure       = new QualityProcedures();

            mThickness     = 1.00;       // millimeter
            mCameraType    = CAMERA_TYP_AREA_SCAN_DIV;
            mCellWidth     = 8.300;         // micrometer
            mCellHeight    = 8.300;        // micrometer
            mFocalLength   = 8.000;          // millimeter
            isTelecentric  = false;
            mKappa         = 0.0;
            mK1            = 0.0;
            mK2            = 0.0;
            mK3            = 0.0;
            mP1            = 0.0;
            mP2            = 0.0;
            mMotionVx      = 0.0;
            mMotionVy      = 500.0;
            mMotionVz      = 0.0;

            NotifyCalibObserver = new CalibDelegate(dummy);
        }