// file: $USFS/class/image_analysis/v1.0/image_analysis.h
//

// make sure the definitions are made only once
//
#ifndef __ISIP_SBE_EVAL
#define __ISIP_SBE_EVAL

// isip include files
//
#ifndef __ISIP_INTEGRAL
#include <integral.h>
#endif


// Image_analysis: a class that evaluates the scenic beauty
//
class Sbe_eval {
  
  //---------------------------------------------------------------------------
  //
  // protected members
  //
  //---------------------------------------------------------------------------
protected:
  
  // declare a variable for debugging
  //
  int_4 debug_level_d;
  int_4 no_of_input;
  int_4 no_of_output;
  
  // filename information
  //
  char_1* filename_d;       // contains the input filename
  char_1** name_d;          // buffer to store the list of ppm files
  float_4* sbe_value_d;     // array containing the sbe data
  float_4 sbe_mean_d;       // mean value of sbe
  float_4 sbe_std_d;        // standard devition of sbe
  int_4 no_of_images_d;     // number of images processed
  
  //---------------------------------------------------------------------------
  //
  // public members
  //
  //---------------------------------------------------------------------------
public:
  
  // required methods
  //
  volatile void error_handler_cc(char_1* method_name, char_1* message);
  
  // destructor/constructor
  //
  ~Sbe_eval();
  Sbe_eval();
  
  logical_1 mean_cc(FILE** fp_a);    // finding the mean value
  logical_1 std_cc();                // finding the standard deviation
  logical_1 init_cc(int_4 n, int_4 option);    // initializing the data
  logical_1 output_cc(FILE** fp_out);
  logical_1 compute_cc(char_1** input_file, char_1** output_file,
		       int option);
  logical_1 combine_cc(FILE** fp_in, FILE** fp_out);
  logical_1 error_cc(FILE** fp_in);
  logical_1 assign_cc(FILE** fp_in, FILE** fp_out);
		     
};

// end of file
//
#endif
		    










