~ubuntu-branches/ubuntu/jaunty/gimp/jaunty-security

« back to all changes in this revision

Viewing changes to app/base/siox.h

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Holbach
  • Date: 2007-05-02 16:33:03 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20070502163303-bvzhjzbpw8qglc4y
Tags: 2.3.16-1ubuntu1
* Resynchronized with Debian, remaining Ubuntu changes:
  - debian/rules: i18n magic.
* debian/control.in:
  - Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
* debian/patches/02_help-message.patch,
  debian/patches/03_gimp.desktop.in.in.patch,
  debian/patches/10_dont_show_wizard.patch: updated.
* debian/patches/04_composite-signedness.patch,
  debian/patches/05_add-letter-spacing.patch: dropped, used upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * SIOX: Simple Interactive Object Extraction
 
3
 *
 
4
 * For algorithm documentation refer to:
 
5
 * G. Friedland, K. Jantz, L. Knipping, R. Rojas:
 
6
 * "Image Segmentation by Uniform Color Clustering
 
7
 *  -- Approach and Benchmark Results",
 
8
 * Technical Report B-05-07, Department of Computer Science,
 
9
 * Freie Universitaet Berlin, June 2005.
 
10
 * http://www.inf.fu-berlin.de/inst/pubs/tr-b-05-07.pdf
 
11
 *
 
12
 * See http://www.siox.org/ for more information.
 
13
 *
 
14
 * Algorithm idea by Gerald Friedland.
 
15
 * This implementation is Copyright (C) 2005
 
16
 * by Gerald Friedland <fland@inf.fu-berlin.de>
 
17
 * and Kristian Jantz <jantz@inf.fu-berlin.de>.
 
18
 *
 
19
 * This program is free software; you can redistribute it and/or
 
20
 * modify it under the terms of the GNU General Public License
 
21
 * as published by the Free Software Foundation; either version 2
 
22
 * of the License, or (at your option) any later version.
 
23
 *
 
24
 * This program is distributed in the hope that it will be useful,
 
25
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
26
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
27
 * GNU General Public License for more details.
 
28
 *
 
29
 * You should have received a copy of the GNU General Public License
 
30
 * along with this program; if not, write to the Free Software
 
31
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 
32
 * 02110-1301, USA.
 
33
 */
 
34
 
 
35
 
 
36
#ifndef __SIOX_H__
 
37
#define __SIOX_H__
 
38
 
 
39
 
 
40
#define SIOX_DEFAULT_SMOOTHNESS     3
 
41
 
 
42
#define SIOX_DEFAULT_SENSITIVITY_L  0.64
 
43
#define SIOX_DEFAULT_SENSITIVITY_A  1.28
 
44
#define SIOX_DEFAULT_SENSITIVITY_B  2.56
 
45
 
 
46
/*  FIXME: turn this into an enum  */
 
47
#define SIOX_DRB_ADD                0
 
48
#define SIOX_DRB_SUBTRACT           1
 
49
 
 
50
 
 
51
typedef void (* SioxProgressFunc) (gpointer  progress_data,
 
52
                                   gdouble   fraction);
 
53
 
 
54
SioxState * siox_init               (TileManager        *pixels,
 
55
                                     const guchar       *colormap,
 
56
                                     gint                offset_x,
 
57
                                     gint                offset_y,
 
58
                                     gint                x,
 
59
                                     gint                y,
 
60
                                     gint                width,
 
61
                                     gint                height);
 
62
void        siox_foreground_extract (SioxState          *state,
 
63
                                     SioxRefinementType  refinement,
 
64
                                     TileManager        *mask,
 
65
                                     gint                x1,
 
66
                                     gint                y1,
 
67
                                     gint                x2,
 
68
                                     gint                y2,
 
69
                                     gint                smoothness,
 
70
                                     const gdouble       sensitivity[3],
 
71
                                     gboolean            multiblob,
 
72
                                     SioxProgressFunc    progress_callback,
 
73
                                     gpointer            progress_data);
 
74
void        siox_done               (SioxState          *state);
 
75
 
 
76
void        siox_drb                (SioxState          *state,
 
77
                                     TileManager        *mask,
 
78
                                     gint                x,
 
79
                                     gint                y,
 
80
                                     gint                brush_radius,
 
81
                                     gint                brush_mode,
 
82
                                     gfloat              threshold);
 
83
 
 
84
 
 
85
#endif /* __SIOX_H__ */