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

kstars

ApnCamData_CCD4710ALT.cpp

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

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