/***************************************************************************** - - - POLONY SEQUENCER ACQUISITION SUITE - - Church Lab - - Harvard Medical School - - - - Free software for running a Polony Sequencing automated microscope - - - - ========================================================================= - - - - - - autofocus.h - - - - Program to autofocus brightfield or fluorescence images of Polony beads - - - - Written by Greg Porreca, 02-15-2006 - - - - Revised - - - - - - This software may be used, modified, and distributed freely, but this - - header may not be modified and must appear at the top of this file. - - - - - *****************************************************************************/ #ifndef AUTOFOCUS_H #define AUTOFOCUS_H #include //input and output functionality #include #include "chamcam.h" #include "cfilter.h" #include "cpifoc.h" #include "reporter.h" #include "cscope.h" #include "acquisition.h" class Autofocus{ public: Autofocus::Autofocus(Reporter*, CHamCam*, CFilter*, CScope*, CPifoc*, Acquisition*); Autofocus::~Autofocus(); double Autofocus::autofocus_fl(int num_steps_coarse, double coarse_interval, double exposure, double sensitivity, int ex, int em); double Autofocus::compute_complexity(unsigned short int *curr_img); double Autofocus::autofocus_brightfield(int num_steps_coarse, double coarse_interval); double Autofocus::compute_complexity_autofocus(short unsigned int* curr_img); void Autofocus::setFocusAxis(int f_axis); private: CHamCam* this_camera; CFilter* this_filter; Reporter* r; CScope* this_te2000; CPifoc* this_pifoc; Acquisition* acq; double exposure; double sensitivity; char log_string[500]; int focus_axis; }; #endif