Filter Library Camera Interface Physics

__SpmUpdateFrame Struct Reference

#include <InterfaceDLL.h>

List of all members.


Detailed Description

Structure: SPMUPDATEFRAME for PROTOCOL [main program - camera dll].

Type to support the exchange of data between the CameraDLL and the main program.

 typedef struct __SpmStartIV
 {
        DWORD dwFlags;                                  // Update flags (SPM_SDFF)
        DWORD dwPixelOffset;                    // Offset in partial frame
        DWORD dwNumOfPixels;                    // Number of pixels to add to frame
  DWORD dwFrameNumber;                  // Frame number
  CTime ctTime;                                 // Time/date, use Ctime::GetCurrentTime();
 
  LPSPMSCANPOSITION     lpScanPosition;
  LPSPMDEVICESPECIFICFRAMEDATA   lpDevSpecFrameData;
 
        CScanTransferBuffer *Channels[8];               // Pointers to the frames data (8 channels)
 
        // ------------------ these buffers contain: -------------------------
        
  // DWORD dwFlags;                                     // Left/Right data flags (SPM_SDBF)
  // DWORD dwSizeX;                                     // Frame Size in X pixels
  // DWORD dwSizeY;                                     // Frame Size in Y pixels
  // DWORD dwPixels;                                    // Number of Pixels in buffer
 
  // LPWORD wScanData;                          // ptr to scandata base address
  // double dDataConversionFactor;      // Factor to convert 1 lsb to the unit name
  // int        dDataOffset;                            // Offset in ADC values, so that:
                                                                        // ConvFactor * (ADC+Offset) = Abs.Value
 
  // DWORD dwParamMask;                         // Parameter mask (SPM_SDBPM)
        // double dSlopeX;                                      // X Slope of background plane
        // double dSlopeY;                                      // Y Slope of background plane
        // double dAveragdeZ;                           // Average Z
        // int nMinZ;                                           // Minimal Z 
        // int nMaxZ;                                           // Maximal Z
  // ----------------------------------------------------------------------------
 } SPMNEWIVDOC, *LPSPMNEWIVDOC;

This structure is used by the Dll notification UpdateFrameData. It contains information about the frames to be updated on the display. This frame can be a complete frame or a partial frame.

The dwFlags parameter defines if the frame is completed or partial, if the lpDevSpecFrameData parameter is valid and also it sets flags for further display processing: subback/differentiate. It uses the SPM_SDFF_xxx defines, See paragraph 'Defines'.

The dwPixelOffset and dwNumOfPixels are used when adding partial frames. The Offset parameter is the number of pixels already added before and therefore the start pixel of the data in this frame. The NumOfPixels parameter specifies the number of new valid pixels in this frame.

When adding complete frames the Offset parameter must be 0 and the NumOfPixels parameter should be X-size times Y-size pixels.

The dwFrameNumber is a framecounter, the Dll should count the frames it adds to the document. The main program can use this number to check if it is missing frames (underrun).

The lpScanPostion is a pointer to a structure that gives information about the scan location. The lpDevSpecFrameData parameter is a pointer to a device specific data structure that can contain all sorts of parameters. E.g. Sample Voltage, Drift compensation, RegulationLoop parameters. etc.

For each active channel there is a pointer to a CScanBuffer class which contains the actual measurement data. The not active channels must point to NULL.

Within the buffer:

dwFlags flag defining Left/Right data, it uses the SPM_SDBF_xx defines. dwSizeX size of buffer in samplepoint (pixels) in X direction. dwSizeY size of buffer in samplepoint (pixels) in Y direction. dwPixels size of scandata block, should be X*Y for unidirectional frames, 2*X*Y for bi-directional frames.

The factor dDataConversionFactor is the conversion factor for calulating 1 lsb of data to the unit specified in field name in the SPMSTARTSCAN structure.

lpScanData is a pointer to the first point in the scanframe, all pixels are 16 bit.

dwMask specifies which parameters are valid. If the Dll has the opportunity to calculate these values it can pass them to the main program (when the frame is completed). dwMask can be any combination of the SPM_SDBPM_xxx defines, see paragraph 'Defines'.

dSlopeX is the average slope angle in X-direction in radians of the data set. dSlopeY is the average slope angle in Y-direction in radians. dAveragdeZ is the average of the data set. dMinZ and dMaxZ are the minimal respectively maximal value of the data.

Definition at line 1103 of file InterfaceDLL.h.

Public Attributes

DWORD dwFlags
 Update flags (SPM_SDFF-flags).
DWORD dwPixelOffset [8]
 Offset in partial frame.
DWORD dwNumOfPixels [8]
 Number of pixels to add to frame.
DWORD dwFrameNumber
 Frame number.
CTime ctTime
 Time of aquisition.
LPSPMSCANPOSITION lpScanPosition
LPSPMDEVICESPECIFICFRAMEDATA lpDevSpecFrameData
CScanTransferBufferChannels [8]
 8 pointers to channel scanbuffers


The documentation for this struct was generated from the following file:
Camera Filter Library documentation © 2004-2007 by Leiden Probe Microscopy