Hi David,
Ø
But i can't find a description for how to use it in the docs or the code.
ADFrameType is used to tell the driver what type of frame to collect: normal, background, flat field, etc. This is mainly used by drivers that can perform the background and/or flat-field corrections in the vendor SDK, often using an FPGA.
There appear to be 6 drivers that currently use ADFrameType. This is a list of those drivers determined using “find”.
****************
corvette:~/devel/areaDetector>find . -name '*.cpp' -exec grep -H FrameType {} \;
./ADDexela/dexelaApp/src/Dexela.cpp: getIntegerParam(ADFrameType, &frameType);
./ADDexela/dexelaApp/src/Dexela.cpp: setIntegerParam(ADFrameType, ADFrameNormal);
./ADDexela/dexelaApp/src/Dexela.cpp: setIntegerParam(ADFrameType, ADFrameBackground);
./ADDexela/dexelaApp/src/Dexela.cpp: setIntegerParam(ADFrameType, ADFrameFlatField);
./ADBruker/brukerApp/src/BISDetector.cpp: getIntegerParam(ADFrameType, &frameType);
./ADPixirad/pixiradApp/src/pixirad.cpp: status |= setIntegerParam(ADFrameType, FTOneColorLow);
./ADPixirad/pixiradApp/src/pixirad.cpp: getIntegerParam(ADFrameType, &frameType);
./ADPixirad/pixiradApp/src/pixirad.cpp: getIntegerParam(ADFrameType, &frameType);
./ADPixirad/pixiradApp/src/pixirad.cpp: getIntegerParam(ADFrameType, &frameType);
./ADPixirad/pixiradApp/src/pixirad.cpp: } else if ((function == ADFrameType) ||
./ADPCO/pcoApp/src/pco.cpp: if (getIntParam(ADFrameType) == ADFrameNormal) // normal
./ADPCO/pcoApp/src/pco.cpp: else if (getIntParam(ADFrameType) == ADFrameBackground) // dark
./ADPCO/pcoApp/src/pco.cpp: else if (getIntParam(ADFrameType) == ADFrameFlatField) // white flood
./ADmarCCD/marCCDApp/src/marCCD.cpp: getIntegerParam(ADFrameType, &frameType);
./ADmarCCD/marCCDApp/src/marCCD.cpp: getIntegerParam(ADFrameType, &frameType);
./ADmarCCD/marCCDApp/src/marCCD.cpp: getIntegerParam(ADFrameType, &frameType);
./ADPhotonII/PhotonIIApp/src/PhotonII.cpp: getIntegerParam(ADFrameType, &frameType);
****************
The Dexela and marCCD drivers are probably the best ones to look at.
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of David Vine via Tech-talk
Sent: Wednesday, May 12, 2021 11:11 AM
To: tech-talk at aps.anl.gov
Subject: AreaDetector FrameType
Hi all,
I see the frame type enum definition in ADCore:
typedef enum
{
ADFrameNormal, /**< Normal frame type */
ADFrameBackground, /**< Background frame type */
ADFrameFlatField, /**< Flat field (no sample) frame type */
ADFrameDoubleCorrelation /**< Double correlation frame type, used to remove zingers */
} ADFrameType_t
But i can't find a description for how to use it in the docs or the code.
Could someone point me to the documentation or an example?
![]()
This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have
received this email in error, please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee, you should not disseminate, distribute or copy this email. Please
notify the sender immediately by email if you have received this email by mistake and delete this email from your system. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the
contents of this information is strictly prohibited