Class PyramidToolbox

  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.event.WindowListener, java.lang.Runnable, java.util.EventListener

    public class PyramidToolbox
    extends AlgorithmBase
    • Field Detail

      • BORDER_CONSTANT

        public final int BORDER_CONSTANT
        This code is a port of the MATLAB Pyramid Toolbox =========================== matlabPyrTools ============================ This package contains some MatLab tools for multi-scale image processing. Briefly, the tools include: - Recursive multi-scale image decompositions (pyramids), including Laplacian pyramids, QMFs, Wavelets, and steerable pyramids. These operate on 1D or 2D signals of arbitrary dimension. Data structures are compatible with the MatLab wavelet toolbox. - Fast 2D convolution routines, with subsampling and boundary-handling. - Fast point-operations, histograms, histogram-matching. - Fast synthetic image generation: sine gratings, zone plates, fractals, etc. - Display routines for images and pyramids. These include several auto-scaling options, rounding to integer zoom factors to avoid resampling artifacts, and useful labeling (dimensions and gray-range). The package is available as a gnu-zipped UNIX "tar" file, accessible from the web page: http://www.cns.nyu.edu/~lcv/software.html The MIT License (MIT) Copyright (c) 2015 LabForComputationalVision 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, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 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, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
        See Also:
        Constant Field Values
    • Constructor Detail

      • PyramidToolbox

        public PyramidToolbox()
    • Method Detail

      • runAlgorithm

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

        public void buildSpyr​(java.util.Vector<double[][]> pyr,
                              java.util.Vector<int[]> pind,
                              java.util.Vector<int[]> harmonics,
                              java.util.Vector<double[][]> steermtx,
                              double[][] im,
                              int ht,
                              java.lang.String filtfile,
                              int borderType)
      • maxPyrHt

        private int maxPyrHt​(int imszy,
                             int imszx,
                             int filtsz)
      • copyMakeBorder

        public double[][] copyMakeBorder​(double[][] src,
                                         int top,
                                         int bottom,
                                         int left,
                                         int right,
                                         int borderType,
                                         double borderValue)
      • filter2SameWithDownSample

        private double[][] filter2SameWithDownSample​(double[][] img,
                                                     double[][] win,
                                                     int borderType,
                                                     int downSampleY,
                                                     int downSampleX)
      • buildSpyrLevs

        private void buildSpyrLevs​(java.util.Vector<double[][]> pyr,
                                   java.util.Vector<int[]> pind,
                                   double[][] lo0,
                                   int ht,
                                   double[][] lofilt,
                                   double[][] bfilts,
                                   int borderType)