// ======================= // // // Main exam running code // #include #include #include #include "Image.h" #include "ImageReader.h" #include "ImageLibrary.h" #include "ImageProcessor.h" #include "CalibratedImage.h" int main() { // Create an image reader ImageReader ir ; // Create a vector of images std::vector images ; // Create a vecotr of filenames std::vector files ; files.push_back( "img1.dat" ); files.push_back( "img2.dat" ); files.push_back( "img3.dat" ); files.push_back( "img4.dat" ); files.push_back( "img5.dat" ); // Read in all images images = ir.readImages( files ) ; // Create and fill a library ImageLibrary library( images ) ; // Create an ImageProcessor ImageProcessor ip ; // Dump out all the images std::cout << std::endl << "---------All images-----------" << std::endl ; ip.print( images ) ; // Obtain all images between two dates int d1= 30 ; int d2= 60 ; std::vector subImages = library.image( d1, d2 ) ; // Dump out selectedimages std::cout << std::endl << "---------Subsetimages-----------" << std::endl ; ip.print( subImages ) ; // Now find the peak position in the sum int peakPosition = ip.peakPosition( subImages ) ; std::cout << " The average peak position in subset is " << peakPosition << std::endl ; //--------- // Upgrade part // Make some calibrated images std::vector cimages ; for( int ind=0; ind < subImages.size() ;++ind ) { cimages.push_back( new CalibratedImage( *subImages[ind], ind+1 ) ) ; } // Dump out all the images std::cout << std::endl << "---------Calibrated images-----------" << std::endl ; ip.print( cimages ) ; // Now find the average peak position peakPosition = ip.peakPosition( cimages ) ; std::cout << " The average peak position is " << peakPosition << std::endl ; }