## NAME

         hist_stretch - stretches a histogram

## SYNOPSIS

          #include <math.h>
          #include "CVIPimage.h"

         Image * hist_stretch(Image * inputImage, int low_limit,  int
         high_limit, float low_clip, float high_clip)

          <inputImage> - pointer to an Image
          <low_limit> - lower limit for stretch
          <high_limit> - high limit for stretch
          <low_clip> - percentage of low values to clip
                       before stretching
          <high_clip> - percentage of high values to clip
                        before stretching

## PATH

         $CVIPHOME/HISTOGRAM/hist_stretch.c

## DESCRIPTION

         This function increases contrast in an image  by  stretching
         the  histogram to span the range low_limit to high_limit. To
         improve  performance  of  the  function  when  outliers  are
         present, percentages low_clip and high_clip pixel values can
         be removed before the stretch takes place.

## TYPES AND CONSTANTS

         None

## RETURN VALUES

         Pointer to a stretched image.

## HISTORY

         History information recorded: None

## EXAMPLE

          #include <CVIPtoolkit.h>
          #include <CVIPimage.h>
          #include <CVIPconvert.h>
          #include <CVIPview.h>
          #include "histogram.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 ranges the histogram between 100
          and 200.Before the ranging is done,the histogram is
          clipped with the low level being 10 and the high level
          being 230 */
          cvipImage = hist_stretch(cvipImage,100,200,10,230);
          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);
          }

## SEE ALSO

         libhisto

## AUTHOR

         Copyright (C) 1996 SIUE - by Scott E.  Umbaugh  and  Wenxing
         Li.