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

kstars

ApnCamData_CCD5520.cpp

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

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