;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; LUSH Lisp Universal Shell
;;;   Copyright (C) 2002 Leon Bottou, Yann Le Cun, AT&T Corp, NECI.
;;; Includes parts of TL3:
;;;   Copyright (C) 1987-1999 Leon Bottou and Neuristique.
;;; Includes selected parts of SN3.2:
;;;   Copyright (C) 1991-2001 AT&T Corp.
;;;
;;; Includes information derived from the GSL (Gnu Scientific Library)
;;;   header files which are copyrighted and distributed under the GPL
;;;   by their respective authors.
;;;
;;; 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; either version 2 of the License, or
;;; (at your option) any later version.
;;;
;;; 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 more 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, USA
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(libload "opencv/cv-config")



#? *** disttrans

;; dummy function that adds OpenCV C header files in C file
(eval `(de dummy_disttrans () ,cv-cpheader-cmd ()))

;; #? * (dummy_disttrans)
;; #? * (cvdisttransform <src> <dst> <distype> <masksize> <mask>)

;; ********************************************************

;;  /****************************************************************************************\
;;  *                                  Distance Transform                                    *
;;  \****************************************************************************************/
#? (cvDistTransform  <src> <dst> <distype> <masksize> <mask> <labels>)
;;.VP
;;  /*F///////////////////////////////////////////////////////////////////////////////////////
;;  //    Name:     cvDistTransform
;;  //    Purpose:  calculates distance transform of binary image 
;;  //    Context:
;;  //    Parameters:
;;  //      src - source binary image
;;  //      dst - output floating-point image, whose pixel values are distances from
;;  //            the correspondend pixel in the source image to the nearest 0-pixel.
;;  //      distance_type - type of metric used
;;  //      maskSize - size of discrete aperture that approximates the metric; can be 3 or 5.
;;  //      mask - array of 2 (for 3x3 mask) or 3 numbers (for 5x5 mask) that characterizes
;;  //             metric if disType is CV_DIST_USER (user-defined metric)
;;   //     labels - 
;;  //    Notes:
;;  //F*/
;;  OPENCVAPI  void  cvDistTransform( const CvArr* src, CvArr* dst,
;;                                    int distance_type CV_DEFAULT(CV_DIST_L2),
;;                                    int maskSize CV_DEFAULT(3),
;;                                    const float* mask CV_DEFAULT(0),
;;                                    CvArr* labels CV_DEFAULT(NULL));
(de cvDistTransform (src dst distype masksize mask labels)
    ((-gptr- "const CvArr *") src)
    ((-gptr- "CvArr *") dst labels)
    ((-int-) distype masksize)
    ((-gptr- "const float *") mask)
    #{ cvDistTransform($src, $dst, $distype, $masksize, $mask, $labels); #}
    ())

;; ********************************************************

(dhc-make ()
  dummy_disttrans
  cvdisttransform
)
