NAME

     mean_filter - filtering operation used on an image to remove
     short tailed noise such as uniform and gaussian noises.

SYNOPSIS

      #include <CVIPtoolkit.h>
      #include <CVIPdef.h>
      #include <CVIPspfltr.h>
      #include <float.h>

     Image *mean_filter(Image *imageP, int mask_size)
           <imageP> - pointer to Image structure.
           <mask_size> - size of the filtering window (e.g.,  3->
     3x3).

PATH

     $CVIPHOME/SPATIALFILTER/spatial_filter.c

OPTIONS

     None.

DESCRIPTION

     Returns the average value of the set of pixels contained  in
     the N x N filter window.  The filter  size  should be an odd
     integer limited from < 3 - 31>.

TIPS

     Works best on short-tailed noise like uniform  and  Gaussian
     noise.  Keep the mask size small to minimize blurring.

DIAGNOSTICS

     Returns a pointer to the modified Image  structure  on  suc-
     cess.  Returns a NULL pointer if the input Image datatype is
     not CVIP_BYTE and can't be cast to CVIP_FLOAT.

RETURN VALUES

     Pointer to an image

HISTORY

     History information recorded: None

EXAMPLE

      #include <CVIPtoolkit.h>
      #include <CVIPimage.h>
      #include <CVIPdef.h>
      #include <CVIPspfltr.h>
      #include <CVIPconvert.h>
      #include <CVIPview.h>
      #define VIEWER "picture"
      #define VIDEO_APP "SunVideo &"

      void main()
      {
      Image *cvipImage;
      IMAGE_FORMAT format;
      char *inputfile,*outputfile;

      setDisplay_Image(VIEWER, "Default");

      print_CVIP("\n\t\tEnter the  Input File Name:  ");
      inputfile =(char *) getString_CVIP();
      format = getFormat_CVIP(inputfile);
      cvipImage = read_Image(inputfile, 1);
      view_Image(cvipImage, inputfile);
      free(inputfile);
      /* the following call performs the averaging
      operation in every 3 x 3 window */
      cvipImage = mean_filter(cvipImage,3);
      print_CVIP("\n\t\tEnter the Output File Name:  ");
      outputfile = getString_CVIP();
      view_Image(cvipImage,outputfile);
      write_Image(cvipImage,outputfile,CVIP_NO,CVIP_NO,format,1);
      free(outputfile);
      }

BUGS

     None.

AUTHOR

     Copyright (C) 1992, 1996 SIUE - by Scott E. Umbaugh and John
     A Creighton.