Class AlgorithmPhaseCongruency

java.lang.Object
java.lang.Thread
gov.nih.mipav.model.algorithms.AlgorithmBase
gov.nih.mipav.model.algorithms.AlgorithmPhaseCongruency
All Implemented Interfaces:
ActionListener, WindowListener, Runnable, EventListener

public class AlgorithmPhaseCongruency extends AlgorithmBase
Ported from Peter Kovesi's MATLAB code for Phase Congruency Available from: http://www.csse.uwa.edu.au/~pk/research/matlabfns/PhaseCongruency/phasecong3.m and: http://www.csse.uwa.edu.au/~pk/research/matlabfns/FrequencyFilt/lowpassfilter.m in reference to the method lowpassFilter(); % References: % % Peter Kovesi, "Image Features From Phase Congruency". Videre: A % Journal of Computer Vision Research. MIT Press. Volume 1, Number 3, % Summer 1999 http://mitpress.mit.edu/e-journals/Videre/001/v13.html % % Peter Kovesi, "Phase Congruency Detects Corners and % Edges". Proceedings DICTA 2003, Sydney Dec 10-12 % Copyright (c) 1996-2010 Peter Kovesi % Centre for Exploration Targeting % The University of Western Australia % peter.kovesi at uwa edu au % % Permission is hereby granted, free of charge, to any person obtaining a copy % of this software and associated documentation files (the "Software"), to deal % in the Software without restriction, subject to the following conditions: % % The above copyright notice and this permission notice shall be included in % all copies or substantial portions of the Software. % % The Software is provided "as is", without warranty of any kind.
  • Field Details

    • nscale

      private int nscale
    • norient

      private int norient
    • minWaveLength

      private int minWaveLength
    • mult

      private double mult
    • sigmaOnf

      private double sigmaOnf
    • k

      private double k
    • cutOff

      private double cutOff
    • g

      private int g
    • noiseMethod

      private int noiseMethod
    • epsilon

      private double epsilon
    • width

      private int width
    • height

      private int height
    • length

      private int length
    • M

      private double[] M
    • m

      private double[] m
    • or

      private double[] or
    • ft

      private double[] ft
    • T

      private double T
  • Constructor Details

    • AlgorithmPhaseCongruency

      public AlgorithmPhaseCongruency(ModelImage src)
  • Method Details

    • finalize

      public void finalize()
      Description copied from class: AlgorithmBase
      Calls garbage collector to release system resources.
      Overrides:
      finalize in class AlgorithmBase
    • setArguments

      public void setArguments(int _nscale, int _norient, int _minWaveLength, double _mult, double _sigmaOnf, double _k, double _cutOff, int _g, int _noiseMethod)
      % Arguments: % Default values Description % % nscale 4 - Number of wavelet scales, try values 3-6 % norient 6 - Number of filter orientations. % minWaveLength 3 - Wavelength of smallest scale filter. % mult 2.1 - Scaling factor between successive filters. % sigmaOnf 0.55 - Ratio of the standard deviation of the Gaussian % describing the log Gabor filter's transfer function % in the frequency domain to the filter center frequency. % k 2.0 - No of standard deviations of the noise energy beyond % the mean at which we set the noise threshold point. % You may want to vary this up to a value of 10 or % 20 for noisy images % cutOff 0.5 - The fractional measure of frequency spread % below which phase congruency values get penalized. % g 10 - Controls the sharpness of the transition in % the sigmoid function used to weight phase % congruency for frequency spread. % noiseMethod -1 - Parameter specifies method used to determine % noise statistics. % -1 use median of smallest scale filter responses % -2 use mode of smallest scale filter responses % 0+ use noiseMethod value as the fixed noise threshold
    • runAlgorithm

      public void runAlgorithm()
      Description copied from class: AlgorithmBase
      Actually runs the algorithm. Implemented by inheriting algorithms.
      Specified by:
      runAlgorithm in class AlgorithmBase
    • getEdges

      public double[] getEdges()
    • getCorners

      public double[] getCorners()
    • getOrientations

      public double[] getOrientations()
    • getFeatureType

      public double[] getFeatureType()
    • lowpassFilter

      private double[] lowpassFilter(int n)
    • findMedian

      private double findMedian(double[] array)
    • rayleighmode

      private double rayleighmode(double[] array)
    • ifftShift

      private double[] ifftShift(double[] array)