Artifact 9db1d61cd7d96c733b0d89bf56ed9d27d45b25e8:
- File
operator/gaussian-01-float.crimp
— part of check-in
[1da2e834b8]
at
2011-11-18 02:24:25
on branch infinite-plane
— New branch.
Embed images into the infinite 2d plane, i.e. make them bounded rectangles with a location in that plane. We had a start on that with the operators for projective warp, storing the origin point in the user-meta data. This information is now in the C level structures.
This commit provides the basic change, plus new accessors for the geometry data, and updates all users of said geometry data in C to use these new accessors.
The semantics of the various operations which could make use of the location information has not changed yet. This is for future commits in this branch. (user: andreask size: 882) [more...]
gaussian_01_float Tcl_Obj* imageObj int whichDeriv double radius /* * Apply a Gaussian blur filter or one of its derivatives to the rows * of an image * * Copyright (c) 2011 by Kevin B. Kenny. * * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. */ crimp_image* image; crimp_image* result; GaussianFilterSet filter = GaussianCreateFilter(fabs(radius)); crimp_input (imageObj, image, float); result = crimp_new_like (image); GaussianFilter01 (filter, whichDeriv, crimp_h (image), crimp_w (image), (float*)(image->pixel), (float*)(result->pixel)); GaussianDeleteFilter(filter); Tcl_SetObjResult(interp, crimp_new_image_obj (result)); return TCL_OK; /* vim: set sts=4 sw=4 tw=80 et ft=c: */ /* * Local Variables: * mode: c * c-basic-offset: 4 * fill-column: 78 * End: */