Commit Graph

29 Commits

Author SHA1 Message Date
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