• Skip to content
  • Skip to link menu
KDE 4.0 API Reference
  • KDE API Reference
  • kdeedu
  • Sitemap
  • Contact Us
 

kstars

ApnCamData_CCD7700B.cpp

Go to the documentation of this file.
00001 
00002 //
00003 // ApnCamData_CCD7700B.cpp:  Implementation file for the CApnCamData_CCD7700B class.
00004 //
00005 // Copyright (c) 2003, 2004 Apogee Instruments, Inc.
00006 //
00008 
00009 #include "ApnCamData_CCD7700B.h"
00010 
00011 #include <stdlib.h>
00012 #include <string.h>
00013 
00014 
00016 // Construction/Destruction
00018 
00019 
00020 CApnCamData_CCD7700B::CApnCamData_CCD7700B()
00021 {
00022 }
00023 
00024 
00025 CApnCamData_CCD7700B::~CApnCamData_CCD7700B()
00026 {
00027 }
00028 
00029 
00030 void CApnCamData_CCD7700B::Initialize()
00031 {
00032     strcpy( m_Sensor, "CCD7700B" );
00033     strcpy( m_CameraModel, "77" );
00034     m_CameraId = 23;
00035     m_InterlineCCD = false;
00036     m_SupportsSerialA = true;
00037     m_SupportsSerialB = true;
00038     m_SensorTypeCCD = true;
00039     m_TotalColumns = 527;
00040     m_ImagingColumns = 512;
00041     m_ClampColumns = 15;
00042     m_PreRoiSkipColumns = 0;
00043     m_PostRoiSkipColumns = 0;
00044     m_OverscanColumns = 0;
00045     m_TotalRows = 512;
00046     m_ImagingRows = 512;
00047     m_UnderscanRows = 0;
00048     m_OverscanRows = 0;
00049     m_VFlushBinning = 1;
00050     m_EnableSingleRowOffset = false;
00051     m_RowOffsetBinning = 1;
00052     m_HFlushDisable = false;
00053     m_ShutterCloseDelay = 300;
00054     m_PixelSizeX = 24;
00055     m_PixelSizeY = 24;
00056     m_Color = false;
00057     m_ReportedGainSixteenBit = 2;
00058     m_MinSuggestedExpTime = 20.0;
00059     m_CoolingSupported = true;
00060     m_RegulatedCoolingSupported = true;
00061     m_TempSetPoint = -20.0;
00062     m_TempRampRateOne = 700;
00063     m_TempRampRateTwo = 4000;
00064     m_TempBackoffPoint = 2.0;
00065     m_PrimaryADType = ApnAdType_Alta_Sixteen;
00066     m_AlternativeADType = ApnAdType_Alta_Twelve;
00067     m_DefaultGainTwelveBit = 400;
00068     m_DefaultOffsetTwelveBit = 200;
00069     m_DefaultRVoltage = 1000;
00070 
00071     set_vpattern();
00072 
00073     set_hpattern_clamp_sixteen();
00074     set_hpattern_skip_sixteen();
00075     set_hpattern_roi_sixteen();
00076 
00077     set_hpattern_clamp_twelve();
00078     set_hpattern_skip_twelve();
00079     set_hpattern_roi_twelve();
00080 }
00081 
00082 
00083 void CApnCamData_CCD7700B::set_vpattern()
00084 {
00085     const unsigned short Mask = 0xE;
00086     const unsigned short NumElements = 180;
00087     unsigned short Pattern[NumElements] = 
00088     {
00089         0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 
00090         0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 
00091         0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 
00092         0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 
00093         0x0002, 0x0002, 0x0002, 0x0002, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 
00094         0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 
00095         0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 
00096         0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 
00097         0x0006, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 
00098         0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x000C, 0x000C, 
00099         0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 
00100         0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 
00101         0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 
00102         0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00103         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00104         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00105         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00106         0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 
00107     };
00108 
00109     m_VerticalPattern.Mask = Mask;
00110     m_VerticalPattern.NumElements = NumElements;
00111     m_VerticalPattern.PatternData = 
00112         (unsigned short *)malloc(NumElements * sizeof(unsigned short));
00113 
00114     for ( int i=0; i<NumElements; i++ )
00115     {
00116         m_VerticalPattern.PatternData[i] = Pattern[i];
00117     }
00118 }
00119 
00120 
00121 void CApnCamData_CCD7700B::set_hpattern_skip_sixteen()
00122 {
00123     const unsigned short Mask = 0x2;
00124     const unsigned short BinningLimit = 1;
00125     const unsigned short RefNumElements = 22;
00126     const unsigned short SigNumElements = 8;
00127 
00128     unsigned short RefPatternData[RefNumElements] = 
00129     {
00130         0x006C, 0x0068, 0x006A, 0x006A, 0x1068, 0x1068, 0x1068, 0x0068, 0x00E8, 0x00C8, 
00131         0x00D8, 0x00D8, 0x00D8, 0x00D8, 0x00D0, 0x00D0, 0x00D0, 0x00D0, 0x00D4, 0x00D4, 
00132         0x00D4, 0x00D4
00133     };
00134 
00135     unsigned short SigPatternData[SigNumElements] = 
00136     {
00137         0x0144, 0x0104, 0x0104, 0x0104, 0x0104, 0x0004, 0x0005, 0x0004
00138     };
00139 
00140     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00141     {
00142         0x0002
00143     };
00144 
00145     unsigned short BinPatternData[1][256] = {
00146     {
00147         0x0054, 0x0044
00148     } };
00149 
00150     set_hpattern(   &m_SkipPatternSixteen,
00151                     Mask,
00152                     BinningLimit,
00153                     RefNumElements,
00154                     SigNumElements,
00155                     BinNumElements,
00156                     RefPatternData,
00157                     SigPatternData,
00158                     BinPatternData );
00159 }
00160 
00161 
00162 void CApnCamData_CCD7700B::set_hpattern_clamp_sixteen()
00163 {
00164     const unsigned short Mask = 0x2;
00165     const unsigned short BinningLimit = 1;
00166     const unsigned short RefNumElements = 22;
00167     const unsigned short SigNumElements = 8;
00168 
00169     unsigned short RefPatternData[RefNumElements] = 
00170     {
00171         0x006C, 0x0068, 0x006A, 0x006A, 0x1068, 0x1068, 0x1068, 0x0068, 0x00E8, 0x00C8, 
00172         0x00D8, 0x00D8, 0x00D8, 0x00D8, 0x00D0, 0x00D0, 0x00D0, 0x00D0, 0x00D4, 0x00D4, 
00173         0x00D4, 0x00D4
00174     };
00175 
00176     unsigned short SigPatternData[SigNumElements] = 
00177     {
00178         0x0144, 0x0104, 0x0104, 0x0104, 0x0104, 0x0004, 0x0005, 0x0004
00179     };
00180 
00181     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00182     {
00183         0x0002
00184     };
00185 
00186     unsigned short BinPatternData[1][256] = {
00187     {
00188         0x0054, 0x0044
00189     } };
00190 
00191     set_hpattern(   &m_ClampPatternSixteen,
00192                     Mask,
00193                     BinningLimit,
00194                     RefNumElements,
00195                     SigNumElements,
00196                     BinNumElements,
00197                     RefPatternData,
00198                     SigPatternData,
00199                     BinPatternData );
00200 }
00201 
00202 
00203 void CApnCamData_CCD7700B::set_hpattern_roi_sixteen()
00204 {
00205     const unsigned short Mask = 0x2;
00206     const unsigned short BinningLimit = 6;
00207     const unsigned short RefNumElements = 59;
00208     const unsigned short SigNumElements = 35;
00209 
00210     unsigned short RefPatternData[RefNumElements] = 
00211     {
00212         0x006C, 0x006C, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0078, 0x0078, 0x0078, 
00213         0x0078, 0x0078, 0x0070, 0x0070, 0x0074, 0x0074, 0x0076, 0x0076, 0x0076, 0x0074, 
00214         0x0074, 0x0074, 0x0074, 0x0074, 0x0074, 0x1074, 0x1074, 0x0074, 0x0074, 0x0074, 
00215         0x0074, 0x0074, 0x00F4, 0x00F4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 
00216         0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 
00217         0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4
00218     };
00219 
00220     unsigned short SigPatternData[SigNumElements] = 
00221     {
00222         0x0044, 0x0044, 0x0044, 0x0144, 0x0144, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 
00223         0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 
00224         0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x8104, 
00225         0x8104, 0x0004, 0x0004, 0x0405, 0x0404
00226     };
00227 
00228     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00229     {
00230         0x0002, 0x0024, 0x0048, 0x006C, 0x0090, 0x00B4
00231     };
00232 
00233     unsigned short BinPatternData[6][256] = {
00234     {
00235         0x00C4, 0x0044
00236     },
00237     {
00238         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 
00239         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 
00240         0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 
00241         0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044
00242     },
00243     {
00244         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 
00245         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 
00246         0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 
00247         0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00248         0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0048, 0x0048, 0x0048, 0x0048, 
00249         0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 0x0050, 0x0050, 0x0050, 0x0050, 
00250         0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0044, 0x0044, 0x0044, 
00251         0x0044, 0x0044
00252     },
00253     {
00254         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 
00255         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 
00256         0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 
00257         0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00258         0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0048, 0x0048, 0x0048, 0x0048, 
00259         0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 0x0050, 0x0050, 0x0050, 0x0050, 
00260         0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0044, 0x0044, 0x0044, 
00261         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 
00262         0x004C, 0x004C, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 
00263         0x0058, 0x0058, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 
00264         0x0054, 0x0054, 0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044
00265     },
00266     {
00267         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 
00268         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 
00269         0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 
00270         0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00271         0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0048, 0x0048, 0x0048, 0x0048, 
00272         0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 0x0050, 0x0050, 0x0050, 0x0050, 
00273         0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0044, 0x0044, 0x0044, 
00274         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 
00275         0x004C, 0x004C, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 
00276         0x0058, 0x0058, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 
00277         0x0054, 0x0054, 0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00278         0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0048, 0x0048, 
00279         0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 0x0050, 0x0050, 
00280         0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0044, 
00281         0x0044, 0x0044, 0x0044, 0x0044
00282     },
00283     {
00284         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 
00285         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 
00286         0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 
00287         0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00288         0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0048, 0x0048, 0x0048, 0x0048, 
00289         0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 0x0050, 0x0050, 0x0050, 0x0050, 
00290         0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0044, 0x0044, 0x0044, 
00291         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 
00292         0x004C, 0x004C, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 
00293         0x0058, 0x0058, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 
00294         0x0054, 0x0054, 0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00295         0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0048, 0x0048, 
00296         0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 0x0050, 0x0050, 
00297         0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0044, 
00298         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 
00299         0x004C, 0x004C, 0x004C, 0x004C, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00300         0x0058, 0x0058, 0x0058, 0x0058, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 
00301         0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00302     } };
00303 
00304     set_hpattern(   &m_RoiPatternSixteen,
00305                     Mask,
00306                     BinningLimit,
00307                     RefNumElements,
00308                     SigNumElements,
00309                     BinNumElements,
00310                     RefPatternData,
00311                     SigPatternData,
00312                     BinPatternData );
00313 }
00314 
00315 
00316 void CApnCamData_CCD7700B::set_hpattern_skip_twelve()
00317 {
00318     const unsigned short Mask = 0x0;
00319     const unsigned short BinningLimit = 1;
00320     const unsigned short RefNumElements = 0;
00321     const unsigned short SigNumElements = 0;
00322 
00323     unsigned short *RefPatternData = NULL;
00324 
00325     unsigned short *SigPatternData = NULL;
00326 
00327     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00328     {
00329         0x0017
00330     };
00331 
00332     unsigned short BinPatternData[1][256] = {
00333     {
00334         0x000C, 0x0008, 0x400A, 0x000A, 0x0008, 0x0008, 0x0218, 0x0018, 0x0018, 0x0018, 
00335         0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x2014, 0x0004, 0x0004, 0x0004, 0x0004, 
00336         0x0004, 0x0005, 0x0004
00337     } };
00338 
00339     set_hpattern(   &m_SkipPatternTwelve,
00340                     Mask,
00341                     BinningLimit,
00342                     RefNumElements,
00343                     SigNumElements,
00344                     BinNumElements,
00345                     RefPatternData,
00346                     SigPatternData,
00347                     BinPatternData );
00348 }
00349 
00350 
00351 void CApnCamData_CCD7700B::set_hpattern_clamp_twelve()
00352 {
00353     const unsigned short Mask = 0x0;
00354     const unsigned short BinningLimit = 3;
00355     const unsigned short RefNumElements = 0;
00356     const unsigned short SigNumElements = 0;
00357 
00358     unsigned short *RefPatternData = NULL;
00359 
00360     unsigned short *SigPatternData = NULL;
00361 
00362     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00363     {
00364         0x0017, 0x002E, 0x0044
00365     };
00366 
00367     unsigned short BinPatternData[3][256] = {
00368     {
00369         0x080C, 0x0808, 0x0A0A, 0x080A, 0x0808, 0x0808, 0x0818, 0x0818, 0x0818, 0x0818, 
00370         0x0810, 0x0810, 0x2810, 0x0810, 0x0814, 0x0814, 0x0804, 0x0804, 0x0804, 0x0804, 
00371         0x4804, 0x0805, 0x0804
00372     },
00373     {
00374         0x000C, 0x0008, 0x400A, 0x000A, 0x0008, 0x0008, 0x0218, 0x0018, 0x0018, 0x0018, 
00375         0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x2014, 0x0004, 0x0004, 0x0004, 0x0004, 
00376         0x0004, 0x0004, 0x0004, 0x000C, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0018, 
00377         0x0018, 0x0018, 0x0018, 0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x0014, 0x0004, 
00378         0x0004, 0x0004, 0x0004, 0x0004, 0x8005, 0x8004
00379     },
00380     {
00381         0x000C, 0x0008, 0x400A, 0x000A, 0x0008, 0x0008, 0x0218, 0x0018, 0x0018, 0x0018, 
00382         0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x2014, 0x0004, 0x0004, 0x0004, 0x0004, 
00383         0x0004, 0x0004, 0x0004, 0x000C, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0018, 
00384         0x0018, 0x0018, 0x0018, 0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x0014, 0x0004, 
00385         0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 
00386         0x0008, 0x0018, 0x0018, 0x0018, 0x0018, 0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 
00387         0x0014, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x8005, 0x8004
00388     } };
00389 
00390     set_hpattern(   &m_ClampPatternTwelve,
00391                     Mask,
00392                     BinningLimit,
00393                     RefNumElements,
00394                     SigNumElements,
00395                     BinNumElements,
00396                     RefPatternData,
00397                     SigPatternData,
00398                     BinPatternData );
00399 }
00400 
00401 
00402 void CApnCamData_CCD7700B::set_hpattern_roi_twelve()
00403 {
00404     const unsigned short Mask = 0x6802;
00405     const unsigned short BinningLimit = 3;
00406     const unsigned short RefNumElements = 0;
00407     const unsigned short SigNumElements = 0;
00408 
00409     unsigned short *RefPatternData = NULL;
00410 
00411     unsigned short *SigPatternData = NULL;
00412 
00413     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00414     {
00415         0x0017, 0x002E, 0x0044
00416     };
00417 
00418     unsigned short BinPatternData[3][256] = {
00419     {
00420         0x000C, 0x0008, 0x020A, 0x000A, 0x0008, 0x0008, 0x0018, 0x0018, 0x0018, 0x0018, 
00421         0x0010, 0x0010, 0x2010, 0x2010, 0x0014, 0x0014, 0x0004, 0x0004, 0x0004, 0x0004, 
00422         0x0004, 0xC005, 0xC004
00423     },
00424     {
00425         0x000C, 0x0008, 0x400A, 0x000A, 0x0008, 0x0008, 0x0218, 0x0018, 0x0018, 0x0018, 
00426         0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x2014, 0x0004, 0x0004, 0x0004, 0x0004, 
00427         0x0004, 0x0004, 0x0004, 0x000C, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0018, 
00428         0x0018, 0x0018, 0x0018, 0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x0014, 0x0004, 
00429         0x0004, 0x0004, 0x0004, 0x0004, 0x8005, 0x8004
00430     },
00431     {
00432         0x000C, 0x0008, 0x400A, 0x000A, 0x0008, 0x0008, 0x0218, 0x0018, 0x0018, 0x0018, 
00433         0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x2014, 0x0004, 0x0004, 0x0004, 0x0004, 
00434         0x0004, 0x0004, 0x0004, 0x000C, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0018, 
00435         0x0018, 0x0018, 0x0018, 0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x0014, 0x0004, 
00436         0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 
00437         0x0008, 0x0018, 0x0018, 0x0018, 0x0018, 0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 
00438         0x0014, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x8005, 0x8004
00439     } };
00440 
00441     set_hpattern(   &m_RoiPatternTwelve,
00442                     Mask,
00443                     BinningLimit,
00444                     RefNumElements,
00445                     SigNumElements,
00446                     BinNumElements,
00447                     RefPatternData,
00448                     SigPatternData,
00449                     BinPatternData );
00450 }
00451 
00452 
00453 void CApnCamData_CCD7700B::set_hpattern(    APN_HPATTERN_FILE   *Pattern,
00454                                             unsigned short  Mask,
00455                                             unsigned short  BinningLimit,
00456                                             unsigned short  RefNumElements,
00457                                             unsigned short  SigNumElements,
00458                                             unsigned short  BinNumElements[],
00459                                             unsigned short  RefPatternData[],
00460                                             unsigned short  SigPatternData[],
00461                                             unsigned short  BinPatternData[][APN_MAX_PATTERN_ENTRIES] )
00462 {
00463     int i, j;
00464 
00465     Pattern->Mask = Mask;
00466     Pattern->BinningLimit = BinningLimit;
00467     Pattern->RefNumElements = RefNumElements;
00468     Pattern->SigNumElements = SigNumElements;
00469 
00470     if ( RefNumElements > 0 )
00471     {
00472         Pattern->RefPatternData = 
00473             (unsigned short *)malloc(RefNumElements * sizeof(unsigned short));
00474 
00475         for ( i=0; i<RefNumElements; i++ )
00476         {
00477             Pattern->RefPatternData[i] = RefPatternData[i];
00478         }
00479     }
00480 
00481     if ( SigNumElements > 0 )
00482     {
00483         Pattern->SigPatternData = 
00484             (unsigned short *)malloc(SigNumElements * sizeof(unsigned short));
00485 
00486         for ( i=0; i<SigNumElements; i++ )
00487         {
00488             Pattern->SigPatternData[i] = SigPatternData[i];
00489         }
00490     }
00491 
00492     if ( BinningLimit > 0 )
00493     {
00494         for ( i=0; i<BinningLimit; i++ )
00495         {
00496             Pattern->BinNumElements[i] = BinNumElements[i];
00497 
00498             Pattern->BinPatternData[i] = 
00499                 (unsigned short *)malloc(BinNumElements[i] * sizeof(unsigned short));
00500 
00501             for ( j=0; j<BinNumElements[i]; j++ )
00502             {
00503                 Pattern->BinPatternData[i][j] = BinPatternData[i][j];
00504             }
00505         }
00506     }
00507 }

kstars

Skip menu "kstars"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

kdeedu

Skip menu "kdeedu"
  • kalzium
  • kanagram
  • kig
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  •   docs
  •   src
  • parley
Generated for kdeedu by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal