//****************************************************************************
//
// Cs404 : Winter 2004 Ohio University Travis Dillon
// Homework 4 : Programming Assignment 1 MARS images
// file : picture.h
// started : 02-22-04
// summary : This is the header for the Picture class.
//
//****************************************************************************
#ifndef PICTURE_H
#define PICTURE_H
#include "prog1.h"
class Picture
{
public:
Picture(char **argv);
~Picture();
void read_info();
void read_data();
void output_filtered_picture();
void filter();
void filter_sort();
void filter_median();
size_t partition(unsigned char A[], size_t start, size_t finish);
unsigned char select(unsigned char A[], size_t start, size_t finish,
size_t ith_smallest);
private:
size_t width; //number of pixels wide
size_t height; //number of pixels tall
size_t max_value; //highest possible output value
size_t algorithm; //1 = median, 2 = 1/4, 3 = 1/10
size_t neighborhood; //size of filtering area
size_t border; //amount lost from filtering
size_t height_minus_border;
size_t width_minus_border;
size_t neighborhood_squared;
unsigned char** original_pic; //original picture
unsigned char** filtered_pic; //new picture
string format;
string comment;
int position;
};
#endif //PICTURE_H