Commit Graph

42 Commits

Author SHA1 Message Date
Sven Neumann d43c5c0774 applied patch from Gerald Friedland and Tobias Lenz. Introduces a hash
2005-09-25  Sven Neumann  <sven@gimp.org>

	* app/base/siox.[ch]: applied patch from Gerald Friedland and
	Tobias Lenz. Introduces a hash table to speed up the algorithm
	and changes the post-processing so that multiple disjunct objects
	can be selected.

	* app/tools/gimpforegroundselecttool.c: changed tooltip, the tool
	doesn't any longer extract single objects only.
2005-09-25 21:29:17 +00:00
Sven Neumann dc8bdb4fa1 app/base/siox.[ch] fixed API docs.
2005-08-25  Sven Neumann  <sven@gimp.org>

	* app/base/siox.[ch]
	* app/core/gimpscanconvert.c: fixed API docs.

2005-08-25  Sven Neumann  <sven@gimp.org>

	* app/app-sections.txt
	* app/app.types: minor updates.

	* libgimpbase/tmpl/gimputils.sgml: regenerated.
2005-08-25 16:52:46 +00:00
Sven Neumann 5ea47e3126 minor optimizations.
2005-08-23  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: minor optimizations.

	* app/actions/gradients-actions.c
	* app/actions/patterns-actions.c
	* plug-ins/metadata/interface.c: applied patch from Stephan Binner
	that fixes wrong use of ellipsis (bug #309657).
2005-08-22 23:30:23 +00:00
Sven Neumann 465aa7a7c5 fixed initialization of row array.
2005-08-17  Sven Neumann  <sven@gimp.org>

	* app/paint-funcs/paint-funcs.c (smooth_region): fixed
	initialization of row array.

	* app/base/siox.c: minor cleanups.
2005-08-17 15:38:43 +00:00
Sven Neumann e91e1ad5d8 applied patch by Kristian Jantz. Reimplements find_max_blob() so that it
2005-08-17  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: applied patch by Kristian Jantz. Reimplements
	find_max_blob() so that it needs less memory. Slows things down a
	bit, but that can be improved later.
2005-08-17 11:05:34 +00:00
Sven Neumann ce8dcfb497 app/base/siox.[ch] app/core/gimpdrawable-foreground-extract.[ch]
2005-08-09  Sven Neumann  <sven@gimp.org>

	* app/base/siox.[ch]
	* app/core/gimpdrawable-foreground-extract.[ch]
	* app/tools/gimpforegroundselectoptions.[ch]
	* app/tools/gimpforegroundselecttool.c: renamed Granularity to
	Color Sensitivity, both in the GUI and in the APIs.
2005-08-09 20:43:44 +00:00
Sven Neumann 6f386794b7 optimized further.
2005-08-08  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (find_max_blob): optimized further.
2005-08-08 18:31:28 +00:00
Sven Neumann 651aca218a added another call to gimp_progress_update().
2005-08-08  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: added another call to gimp_progress_update().

	* app/core/gimp.c (gimp_init): fixed harmless cut-n-paste error.
2005-08-08 17:38:25 +00:00
Sven Neumann 5c6b8e9f79 added the possibility to specify a clip rectangle.
2005-08-08  Sven Neumann  <sven@gimp.org>

	* app/core/gimpscanconvert.[ch]: added the possibility to specify
	a clip rectangle.

	* app/base/siox.c (find_max_blob): use g_try_malloc().
2005-08-08 12:05:54 +00:00
Sven Neumann 64614aa4fd optimizations.
2005-08-08  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (find_max_blob): optimizations.
2005-08-08 04:49:44 +00:00
Sven Neumann 3f9144e534 fixed for offsetted regions. Do thresholding as part of find_max_blob().
2005-08-08  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (find_max_blob): fixed for offsetted regions.
	Do thresholding as part of find_max_blob().
2005-08-08 04:17:41 +00:00
Sven Neumann eb6268e53b fixed for offsetted regions.
2005-08-08  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (find_max_blob): fixed for offsetted regions.
2005-08-08 03:41:02 +00:00
Sven Neumann a72b704ebf check boundary conditions before pushing a pixel to the queue.
2005-08-08  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (find_max_blob): check boundary conditions
	before pushing a pixel to the queue.
2005-08-08 01:27:11 +00:00
Sven Neumann 822a8a1f14 cosmetics 2005-08-08 00:31:55 +00:00
Sven Neumann e17b69fe43 made variables more local to make the code easier to read and to optimize.
2005-08-07  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: made variables more local to make the code
	easier to read and to optimize.
2005-08-07 20:20:53 +00:00
Sven Neumann 37307dcb15 more micro optimizations 2005-08-07 16:32:32 +00:00
Sven Neumann f4893406ef micro optimizations.
2005-08-07  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (siox_foreground_extract): micro optimizations.
2005-08-07 16:07:32 +00:00
Sven Neumann 46bc22c7ff reordered parameters to match the order of parameters in
2005-08-06  Sven Neumann  <sven@gimp.org>

	* app/base/siox.[ch]: reordered parameters to match the order of
	parameters in gimp_drawable_foreground_extract_siox().

	* app/core/gimpdrawable-foreground-extract.c: changed accordingly.

	* app/tools/gimpforegroundselectoptions.[ch]: draw slider value to
	the right.

	* app/tools/gimpfreeselecttool.[ch]: added
	gimp_free_select_tool_select() to calls the virtual select() method.

	* app/tools/gimpforegroundselecttool.[ch]: queue an idle select if
	the smoothness or granularity values change in the tool options.
2005-08-06 20:01:22 +00:00
Sven Neumann d670b0e11e app/base/siox.[ch] expose all parameters of the SIOX algorithm. Provide
2005-08-06  Sven Neumann  <sven@gimp.org>

	* app/base/siox.[ch]
	* app/core/gimpdrawable-foreground-extract.[ch]: expose all
	parameters of the SIOX algorithm. Provide default values.

	* app/tools/gimpforegroundselectoptions.[ch]: added properties and
	user interface for all SIOX parameters.

	* app/tools/gimpforegroundselecttool.c: changed accordingly.

2005-08-06  Sven Neumann  <sven@gimp.org>

	* plug-ins/benchmark-foreground-extract.py: pass run-mode to PDB
	calls.
2005-08-06 19:08:43 +00:00
Sven Neumann 3c8a10e925 app/base/siox.c moved rectangle intersection into
2005-08-06  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c
	* app/core/gimpdrawable-foreground-extract.c: moved rectangle
	intersection into gimp_drawable_foreground_extract().
2005-08-06 15:09:31 +00:00
Sven Neumann 71785ac8cd canonicalize hardcoded procedure names.
2005-08-06  Sven Neumann  <sven@gimp.org>

	* app/batch.c: canonicalize hardcoded procedure names.

	* app/base/siox.[ch]
	* app/core/gimpdrawable-foreground-extract.[ch]
	* app/tools/gimpforegroundselecttool.c: restrict the working area
	to the double of the bounding box of the initial selection.
2005-08-06 00:51:22 +00:00
Sven Neumann a026524412 app/base/siox.[ch] pass progress_callback and progress_data to
2005-07-29  Sven Neumann  <sven@gimp.org>

	* app/base/siox.[ch]
	* app/core/gimpdrawable-foreground-extract.c: pass progress_callback
	and progress_data to siox_foreground_extract().
2005-07-29 16:09:16 +00:00
Sven Neumann 9dfb56a435 keep a tail pointer. Speeds up the benchmark by about 50%.
2005-07-29  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (add_to_list): keep a tail pointer. Speeds up
	the benchmark by about 50%.
2005-07-29 15:25:20 +00:00
Sven Neumann fde49937b3 minor cleanup.
2005-07-29  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (siox_foreground_extract): minor cleanup.
2005-07-28 23:40:00 +00:00
Sven Neumann b82d4c46c7 accept an offset between pixels and mask, work only on the intersection
2005-07-28  Sven Neumann  <sven@gimp.org>

	* app/base/siox.[ch]: accept an offset between pixels and mask,
	work only on the intersection rectangle.

	* app/core/gimpdrawable-foreground-extract.c: pass the drawable
	offsets to siox_foreground_extract().
2005-07-28 20:12:16 +00:00
Sven Neumann 55f7b68c23 allow to enable some debug output.
2005-07-28  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: allow to enable some debug output.
2005-07-28 00:18:39 +00:00
Sven Neumann d429a944db app/core/Makefile.am moved cpercep from here ...
2005-07-28  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/cpercep.[ch]: moved cpercep from here ...

	* app/base/Makefile.am
	* app/base/cpercep.[ch]: ... to here.

	* app/base/siox.[ch]: use the cpercep routines for RGB->LAB
	conversion, gives a 20% speedup. Removed normalization which seems
	redundant. Make it work for grayscale and indexed, not only RGB.

	* app/core/gimpdrawable-foreground-extract.c
	* app/core/gimpimage-convert.c: changed accordingly.
2005-07-27 22:52:34 +00:00
Sven Neumann b8725f4878 added comments about possible improvements.
2005-07-16  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: added comments about possible improvements.
2005-07-16 00:00:11 +00:00
Sven Neumann 395c6dbf70 fixed implementations.
2005-07-15  Sven Neumann  <sven@gimp.org>

	* app/paint-funcs/paint-funcs.c (erode_region) (dilate_region):
	fixed implementations.
2005-07-15 19:07:38 +00:00
Sven Neumann 74bb5d998b formatting 2005-07-14 16:26:26 +00:00
Sven Neumann 2566531777 added erode_region() and dilate_region() 2005-07-14 15:40:19 +00:00
Sven Neumann c6ea42505b changed some more places from segmentator to siox 2005-07-13 19:37:27 +00:00
Sven Neumann 70aa10cef7 app/base/Makefile.am renamed to siox.[ch].
2005-07-13  Sven Neumann  <sven@gimp.org>

	* app/base/Makefile.am
	* app/base/segmentator.[ch]: renamed to siox.[ch].

	* app/base/siox.[ch]: added API docs and a link to the algorithm's
	new homepage. Removed unused code.

	* app/core/gimpdrawable-foreground-extract.c: changed accordingly.
2005-07-13 19:30:25 +00:00
Sven Neumann fbd53c511b added smooth_region(), a simple convolution filter to smooth a mask.
2005-07-13  Sven Neumann  <sven@gimp.org>

	* app/paint-funcs/paint-funcs.[ch]: added smooth_region(), a
	simple convolution filter to smooth a mask.

	* app/base/segmentator.c (smooth_mask): use the new function.
2005-07-13 17:27:37 +00:00
Sven Neumann 1aae154af7 for now, implement smooth_mask() by means of gaussian_blur_region().
2005-07-11  Sven Neumann  <sven@gimp.org>

	* app/base/segmentator.c: for now, implement smooth_mask() by
	means of gaussian_blur_region().
2005-07-11 21:03:10 +00:00
Sven Neumann f2382a6ef6 ported to GIMP data structures. There are still some TODOs, smooth_mask()
2005-07-10  Sven Neumann  <sven@gimp.org>

	* app/base/segmentator.[ch]: ported to GIMP data structures. There
	are still some TODOs, smooth_mask() isn't implemented yet.

	* app/core/Makefile.am
	* app/core/gimpdrawable-foreground-extract.[ch]: thin wrapper around
	the new segmentation algorithm.

	* tools/pdbgen/pdb/drawable.pdb: added a first draft of a PDB API
	for foreground extraction.

	* app/pdb/drawable_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpdrawable_pdb.[ch]: regenerated.
2005-07-09 22:44:26 +00:00
Sven Neumann d34180d5a0 temporarily added uint->RGB conversion for Java byteorder 2005-07-08 23:58:45 +00:00
Sven Neumann 6248b954db plugged memory leaks.
2005-07-09  Sven Neumann  <sven@gimp.org>

	* app/base/segmentator.c: plugged memory leaks.
2005-07-08 22:33:18 +00:00
Sven Neumann edc6dc95e6 minor cleanup, use a GQueue instead of a custom queue implementation.
2005-07-08  Sven Neumann  <sven@gimp.org>

	* app/base/segmentator.c: minor cleanup, use a GQueue instead of a
	custom queue implementation.
2005-07-08 21:24:55 +00:00
Sven Neumann 447ee79608 minor cleanup.
2005-07-08  Sven Neumann  <sven@gimp.org>

	* app/base/segmentator.c: minor cleanup.
2005-07-08 19:42:29 +00:00
Sven Neumann bc170c2e2c applied GIMP coding style, switch to glib functions for memory allocation.
2005-07-08  Sven Neumann  <sven@gimp.org>

	* app/base/segmentator.[ch]: applied GIMP coding style, switch to
	glib functions for memory allocation.
2005-07-07 23:48:58 +00:00
Sven Neumann 3b8751e5c9 app/base/Makefile.am added foreground extraction algorithm. This code is
2005-07-08  Sven Neumann  <sven@gimp.org>

	* app/base/Makefile.am
	* app/base/segmentator.[ch]: added foreground extraction
	algorithm.  This code is contributed by Gerald Friedland. Please
	see the comments in the code for links to further information.
	This is work in progress. Don't expect it to do anything yet.
2005-07-07 23:45:38 +00:00