diff --git a/TODO b/TODO index 1fd4ef85..b5860f24 100644 --- a/TODO +++ b/TODO @@ -8,6 +8,8 @@ now we can get rid of im_aconvsep() since it's just vips_convsep() with prec set to approx + aconv needs some more work, get it going at least with gaussian + - do conv and morph quickly as simple wrappers over the vips7 operations - add vips_gaussian_blur() with approx / int / float precision, maybe diff --git a/libvips/convolution/Makefile.am b/libvips/convolution/Makefile.am index 4e2f0bb4..a156a44f 100644 --- a/libvips/convolution/Makefile.am +++ b/libvips/convolution/Makefile.am @@ -8,7 +8,6 @@ libconvolution_la_SOURCES = \ compass.c \ morph.c \ convol_dispatch.c \ - im_addgnoise.c \ im_aconv.c \ im_aconvsep.c \ im_conv.c \ diff --git a/libvips/convolution/im_addgnoise.c b/libvips/convolution/im_addgnoise.c deleted file mode 100644 index 428eb2d9..00000000 --- a/libvips/convolution/im_addgnoise.c +++ /dev/null @@ -1,83 +0,0 @@ -/* im_addgnoise - * - * Copyright 1990, N. Dessipris. - * - * File written on 2/12/1986 - * Author : N. Dessipris - * Updated : 22/01/1991 - * 1/2/95 JC - * - junked! - * - now uses partial im_gaussnoise() and partial im_add() to do the - * same job - & 1/5/01 JC - * - oops, failed for not-1-band images - * - * 2008-01-28 tcv: - * - now works (was broken) - * - no limit on bands - * 4/2/10 - * - no need to bandup here now, im_add() does that - * - gtkdoc - */ - -/* - - This file is part of VIPS. - - VIPS is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301 USA - - */ - -/* - - These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk - - */ - - -#ifdef HAVE_CONFIG_H -#include -#endif /*HAVE_CONFIG_H*/ -#include - -#include - -/** - * im_addgnoise: - * @in: input image - * @out: output image - * @sigma: standard deviation of noise - * - * Add gaussian noise with mean 0 and variance sigma to @in. - * The noise is generated by averaging 12 random numbers, - * see page 78, PIETGEN, 1989. - * - * See also: im_gaussnoise(). - * - * Returns: 0 on success, -1 on error - */ -int -im_addgnoise( IMAGE *in, IMAGE *out, double sigma ) -{ - IMAGE *t; - - if( !(t = im_open_local( out, "im_addgnoise", "p" )) || - im_gaussnoise( t, in->Xsize, in->Ysize, 0, sigma ) || - im_add( in, t, out ) ) - return( -1 ); - - return( 0 ); -} diff --git a/libvips/deprecated/vips7compat.c b/libvips/deprecated/vips7compat.c index 5a3ccba9..a541845a 100644 --- a/libvips/deprecated/vips7compat.c +++ b/libvips/deprecated/vips7compat.c @@ -2221,6 +2221,19 @@ im_convsep_f( IMAGE *in, IMAGE *out, DOUBLEMASK *mask ) return( 0 ); } +int +im_addgnoise( IMAGE *in, IMAGE *out, double sigma ) +{ + IMAGE *t; + + if( !(t = im_open_local( out, "im_addgnoise", "p" )) || + im_gaussnoise( t, in->Xsize, in->Ysize, 0, sigma ) || + im_add( in, t, out ) ) + return( -1 ); + + return( 0 ); +} + static int vips__round( VipsImage *in, VipsImage *out, VipsOperationRound round ) { diff --git a/libvips/include/vips/convolution.h b/libvips/include/vips/convolution.h index 4d256b3f..3ce122f8 100644 --- a/libvips/include/vips/convolution.h +++ b/libvips/include/vips/convolution.h @@ -97,8 +97,6 @@ int im_gradcor( VipsImage *in, VipsImage *ref, VipsImage *out ); int im_contrast_surface( VipsImage *in, VipsImage *out, int half_win_size, int spacing ); -int im_addgnoise( VipsImage *in, VipsImage *out, double sigma ); - #ifdef __cplusplus } #endif /*__cplusplus*/ diff --git a/libvips/include/vips/vips7compat.h b/libvips/include/vips/vips7compat.h index bf4830b8..ba476e4c 100644 --- a/libvips/include/vips/vips7compat.h +++ b/libvips/include/vips/vips7compat.h @@ -916,6 +916,8 @@ int im_compass( VipsImage *in, VipsImage *out, INTMASK *mask ); int im_gradient( VipsImage *in, VipsImage *out, INTMASK *mask ); int im_lindetect( VipsImage *in, VipsImage *out, INTMASK *mask ); +int im_addgnoise( VipsImage *in, VipsImage *out, double sigma ); + #ifdef __cplusplus } #endif /*__cplusplus*/