main.cpp File Reference

#include <assert.h>
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <typeinfo>
#include "DistanceTransform.h"
#include "Chamfer2D_3x3.h"
#include "Chamfer2D_5x5.h"
#include "Chamfer2D_7x7.h"
#include "Chessboard2D.h"
#include "Cityblock2D.h"
#include "DeadReckoning_3x3.h"
#include "DeadReckoning_7x7.h"
#include "DijkstraVectors.h"
#include "Euclidean2D.h"
#include "FourSED.h"
#include "EightSED.h"
#include "EightSED_modified.h"
#include "ModifiedDijkstra.h"
#include "Simple.h"
#include "SimpleList.h"
#include "CSED.h"
#include "errorfreeCSED.h"
#include "Timer.h"
#include "TIFFWriter.h"

Classes

class  Normal
 Normal class which samples random numbers from a normal distribution using the Box-Muller transform. More...

Typedefs

typedef unsigned char uchar

Functions

static void writeDistance (const char *const fname, DistanceTransform *dt)
static void writeBinaryImage (const char *const fname, const uchar *const I)
static void getMinMax (DistanceTransform *dt)
static uchar getData (const uchar *const I, const int x, const int y)
static bool isBorderElement (const uchar *const I, const int x, const int y)
static void checkError (const uchar *const I, const DistanceTransform *const dt, const char *const diffFileName, const DistanceTransform *const gold)
static void checkError (const uchar *const I, const DistanceTransform *const dt, const char *const diffFileName)
static void checkCenterPointError (DistanceTransform *dt)
static void colorParent (const DistanceTransform *const dt, const char *const binFileName, const int px, const int py)
int main (const int argc, const char *const argv[])

Variables

static const int size = 500
 2D images of size x size
static const int iterCount = 1
static const int borderOffset = 10
static const int ptCount = size*size/4
static int pt [ptCount][2]

Detailed Description

Main program to test distance transform algorithms.

Author:
George J. Grevera, Ph.D., ggrevera@sju.edu
Copyright (C) 2002, George J. Grevera

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for mor e details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA or from http://www.gnu.org/licenses/gpl.txt.

This General Public License does not permit incorporating this code into proprietary programs. (So a hypothetical company such as GH (Generally Hectic) should NOT incorporate this code into their proprietary programs.)


Generated on Thu Jan 12 10:28:46 2006 by  doxygen 1.4.5