## NAME

         notch - performs a selective notch filter

## SYNOPSIS

          #include <CVIPmatrix.h>
          #include <CVIPmap.h>
          #include <CVIPxformfilter.h>
          #include <string.h>

         Image*  notch(Image  *cvipImage,  char   *name,   NOTCH_ZONE
         *zone,int number, CVIP_BOOLEAN interactive)

          <cvipImage> - input image data
          <name> - the name of the image
          <zone> - a data structure containing information about
                    which part of the image  to remove
          <number> - number of notches to perform (ignored if
                     interactive = CVIP_YES)
          <interactive> - ask for input from keyboard

## PATH

         $CVIPHOME/XFORMFILTER/notch.c

## DESCRIPTION

         Notch is a function to  perform  selective  filtering  on  a
         user-defined  area  of  an  image  or  spectrum. It is often
         applied to frequency  domain  images  to  eliminate  regular
         sinusoidal interference.

## TYPES AND CONSTANTS

         NOTCH_ZONE *zone

         typedef struct {
                 int x;
                 int y;
                 int radius;
         } NOTCH_ZONE

## RETURN VALUES

         Returns a notch-filtered image.

## EXAMPLE

                #include <CVIPtoolkit.h>
                #include <CVIPimage.h>
                #include <CVIPconvert.h>
                #include <CVIPxformfilter.h>
                #include <CVIPmap.h>
                #include <string.h>

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

               setDisplay_Image("picture", "Default");

               print_CVIP("Enter the Input File Name:  ");
               inputfile =(char *) getString_CVIP();
               format = getFormat_CVIP(inputfile);
               cvipImage = read_Image(inputfile, 1);
               view_Image(cvipImage, inputfile);
               /* first do a transform */
               cvipImage = fft_transform(cvipImage, 256)
               cvipImage = (Image *)notch(cvipImage, inputfile,
               NULL, NULL, CVIP_YES);
               print_CVIP("Enter the Output File Name:  ");
               outputfile = getString_CVIP();
               view_Image(cvipImage, outputfile);
               write_Image(cvipImage, outputfile,CVIP_NO,CVIP_NO,
               format, 1);
               free(inputfile);
               free(outputfile);
               }

## BUGS

         None at this time

## SEE ALSO

         CVIPxforfilter.h

## AUTHOR

         Copyright (C) 1995 SIUE - by Scott Umbaugh and Kun Luo.