PolatSagiTest.C

Go to the documentation of this file.
00001 /*!@file CINNIC/PolatSagiTest.C [put description here] */
00002 
00003 // $HeadURL: svn://isvn.usc.edu/software/invt/trunk/saliency/src/CINNIC/PolatSagiTest.C $
00004 // $Id: PolatSagiTest.C 6410 2006-04-01 22:12:24Z rjpeters $
00005 
00006 #include "Util/Assert.H"
00007 #include "CINNIC/CINNICstatsRun.H"
00008 #include "Raster/Raster.H"
00009 #include "Image/Image.H"
00010 #include "Image/Pixels.H"
00011 
00012 #include <fstream>
00013 #include <iostream>
00014 
00015 //! this contains the name of the config file
00016 const char* configFile;
00017 //! this contains the name of the second config file
00018 const char* configFile2;
00019 //! this is the target file to open
00020 const char* targetFileName;
00021 //! this is the non target file to open
00022 const char* notargetFileName;
00023 //! This is the configFile object
00024 readConfig ReadConfig(25);
00025 //! This is the second configFile object
00026 readConfig ReadConfig2(25);
00027 //! main object for stats
00028 CINNICstatsRun runStats;
00029 //! image float
00030 Image<float> Fimage[2];
00031 //! float for return
00032 float forReturn;
00033 //! input string for parsing input files
00034 std::string in;
00035 //! image input data
00036 int height, width;
00037 //! image input data
00038 int currentX, currentY;
00039 //! This is a package to run tests on the output from CINNIC
00040 int main(int argc, char* argv[])
00041 {
00042   LINFO("Polat and Sagi 2AFC test");
00043   LINFO("Copyright 2002 ACME Vision Systems, Wallawalla, WA");
00044   ASSERT(argc > 1);
00045   targetFileName = argv[1];
00046   notargetFileName = argv[2];
00047 
00048   if(argc > 3)
00049   {
00050     configFile = argv[3];
00051   }
00052   else
00053   {
00054     configFile = "stats.conf";
00055   }
00056   if(argc > 4)
00057   {
00058     configFile2 = argv[4];
00059   }
00060   else
00061   {
00062     configFile2 = "contour.conf";
00063   }
00064 
00065   ReadConfig.openFile(configFile);
00066   ReadConfig2.openFile(configFile2);
00067   LINFO("Setting Stuff in Stats");
00068   runStats.setStuff();
00069   LINFO("Setting Stuff in Config");
00070   runStats.setConfig(ReadConfig,ReadConfig2);
00071 
00072   std::ifstream readData;
00073   int item;
00074 
00075   for(int i = 0; i < 2; i++)
00076   {
00077     if(i == 0)
00078     {
00079       readData.open(targetFileName,std::ios::in);
00080       LINFO("Opening %s",targetFileName);
00081     }
00082     if(i == 1)
00083     {
00084       readData.open(notargetFileName,std::ios::in);
00085       LINFO("Opening %s",notargetFileName);
00086     }
00087     //parse in and read data from file into an image
00088     item = 0;
00089     while (readData >> in)
00090     {
00091       if(item == 0)
00092       {
00093         width = atoi(in.c_str());
00094         currentX = 0;
00095       }
00096       if(item == 1)
00097       {
00098         height = atoi(in.c_str());
00099         currentY = 0;
00100       }
00101       if(item == 2)
00102         Fimage[i].resize(width,height);
00103       if(item >= 2)
00104       {
00105         if(currentY == height)\
00106         {
00107           currentY = 0;
00108           currentX++;
00109         }
00110         Fimage[i].setVal(currentX,currentY,atof(in.c_str()));
00111         currentY++;
00112 
00113       }
00114       item++;
00115     }
00116     readData.close();
00117     readData.clear();
00118   }
00119 
00120 
00121   LINFO("DUH, they all look the same");
00122   forReturn = runStats.polatSagi2AFC(Fimage[0],Fimage[1]);
00123   LINFO("Probability Value = %f",forReturn);
00124   std::cout << forReturn << "\n";
00125   std::cout << runStats.getMu1() << "\n";
00126   std::cout << runStats.getMu2() << "\n";
00127   return (int)(forReturn*10000);
00128 }
00129 
00130 // ######################################################################
00131 /* So things look consistent in everyone's emacs... */
00132 /* Local Variables: */
00133 /* indent-tabs-mode: nil */
00134 /* End: */
Generated on Sun May 8 08:04:42 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3