NAME

     High_Freq_Emphasis  -  performs  high   frequency   emphasis
     filtering

SYNOPSIS

      #include <math.h>
      #include <stdio.h>
      #include <stdlib.h>
      #include "CVIPdef.h"
      #include "CVIPimage.h"
      #include <CVIPtransform.h>
      #include <CVIPxformfilter.h>

     Image *High_Freq_Emphasis(Image *in_Image,int block_size,int
     dc,int Cutoff,float alfa,int order)

      <in_Image> - pointer to an Image structure
      <block_size> - desired block size
      <dc> - drop(0) or retain(1) dc component
      <Cutoff> - cutoff frequency
      <alfa> - a constant (typically 1.0 to 2.0)
      <order> - filter order

PATH

     $CVIPHOME/XFORMFILTER/filter.c

DESCRIPTION

     High_Freq_Emphasis() performs a  two-dimensional  high  fre-
     quency  emphasis  filtering  in  transform  domain  on input
     image.It is implemented by adding a constant  to  a  butter-
     worth high pass filter transfer function. This preserves the
     low frequency components of the image and at the same  time,
     amplifies  the high-frequency components. The result of this
     process is better tonality in the final image.  The  cut-off
     frequency cutoff and filter order <order> is for the butter-
     worth high pass filter used in this high frequency  emphasis
     filter.  Experiment  revealed  that the constant alfa in the
     range of 1.0 to 2.0 yields good result. If dc equals 1,  the
     dc  component  will be retained, if it equals 0, the dc com-
     penent will be dropped.

TYPES AND CONSTANTS

     None

RETURN VALUES

     A filtered image

HISTORY

     History information recorded: None

EXAMPLE

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

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

      (void) 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 fft_transform on the
      input image with the block size equal to 256 */
      cvipImage=(Image *)fft_transform(cvipImage,256);
      /* the following call performs the high frequency emphasis
      on the transformed image with the cut off frequency equal
      to 64 and alpha equal to 1.2 */
      cvipImage = (Image *)High_Freq_Emphasis(cvipImage,256,1,
      64,1.2,2);
      /* the following call performs the inverse fft_transform in
      the filtered image with the block size equal to 256 */
      cvipImage = (Image *)ifft_transform(cvipImage,256);
      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

     libxformfilter

AUTHOR

     Copyright (C) 1996 SIUE - by Scott E. Umbaugh and Simon Low.