sep_sys/
lib.rs

1/* automatically generated by rust-bindgen 0.71.1 */
2
3#![no_std]
4#![allow(non_camel_case_types)]
5
6pub const SEP_TBYTE: ::core::ffi::c_int = 11;
7pub const SEP_TINT: ::core::ffi::c_int = 31;
8pub const SEP_TFLOAT: ::core::ffi::c_int = 42;
9pub const SEP_TDOUBLE: ::core::ffi::c_int = 82;
10pub const SEP_OBJ_MERGED: ::core::ffi::c_short = 1;
11pub const SEP_OBJ_TRUNC: ::core::ffi::c_short = 2;
12pub const SEP_OBJ_DOVERFLOW: ::core::ffi::c_short = 4;
13pub const SEP_OBJ_SINGU: ::core::ffi::c_short = 8;
14pub const SEP_APER_TRUNC: ::core::ffi::c_short = 16;
15pub const SEP_APER_HASMASKED: ::core::ffi::c_short = 32;
16pub const SEP_APER_ALLMASKED: ::core::ffi::c_short = 64;
17pub const SEP_APER_NONPOSITIVE: ::core::ffi::c_short = 128;
18pub const SEP_NOISE_NONE: ::core::ffi::c_short = 0;
19pub const SEP_NOISE_STDDEV: ::core::ffi::c_short = 1;
20pub const SEP_NOISE_VAR: ::core::ffi::c_short = 2;
21pub const SEP_MASK_IGNORE: ::core::ffi::c_short = 4;
22pub const SEP_THRESH_REL: ::core::ffi::c_int = 0;
23pub const SEP_THRESH_ABS: ::core::ffi::c_int = 1;
24pub const SEP_FILTER_CONV: ::core::ffi::c_int = 0;
25pub const SEP_FILTER_MATCHED: ::core::ffi::c_int = 1;
26#[repr(C)]
27#[derive(Debug, Copy, Clone)]
28pub struct sep_image {
29    pub data: *const ::core::ffi::c_void,
30    pub noise: *const ::core::ffi::c_void,
31    pub mask: *const ::core::ffi::c_void,
32    pub segmap: *const ::core::ffi::c_void,
33    pub dtype: ::core::ffi::c_int,
34    pub ndtype: ::core::ffi::c_int,
35    pub mdtype: ::core::ffi::c_int,
36    pub sdtype: ::core::ffi::c_int,
37    pub segids: *mut i64,
38    pub idcounts: *mut i64,
39    pub numids: i64,
40    pub w: i64,
41    pub h: i64,
42    pub noiseval: f64,
43    pub noise_type: ::core::ffi::c_short,
44    pub gain: f64,
45    pub maskthresh: f64,
46}
47impl Default for sep_image {
48    fn default() -> Self {
49        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
50        unsafe {
51            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
52            s.assume_init()
53        }
54    }
55}
56#[repr(C)]
57#[derive(Debug, Copy, Clone)]
58pub struct sep_bkg {
59    pub w: i64,
60    pub h: i64,
61    pub bw: i64,
62    pub bh: i64,
63    pub nx: i64,
64    pub ny: i64,
65    pub n: i64,
66    pub global: f32,
67    pub globalrms: f32,
68    pub back: *mut f32,
69    pub dback: *mut f32,
70    pub sigma: *mut f32,
71    pub dsigma: *mut f32,
72}
73impl Default for sep_bkg {
74    fn default() -> Self {
75        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
76        unsafe {
77            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
78            s.assume_init()
79        }
80    }
81}
82#[repr(C)]
83#[derive(Debug, Copy, Clone)]
84pub struct sep_catalog {
85    pub nobj: ::core::ffi::c_int,
86    pub thresh: *mut f32,
87    pub npix: *mut i64,
88    pub tnpix: *mut i64,
89    pub xmin: *mut i64,
90    pub xmax: *mut i64,
91    pub ymin: *mut i64,
92    pub ymax: *mut i64,
93    pub x: *mut f64,
94    pub y: *mut f64,
95    pub x2: *mut f64,
96    pub y2: *mut f64,
97    pub xy: *mut f64,
98    pub errx2: *mut f64,
99    pub erry2: *mut f64,
100    pub errxy: *mut f64,
101    pub a: *mut f32,
102    pub b: *mut f32,
103    pub theta: *mut f32,
104    pub cxx: *mut f32,
105    pub cyy: *mut f32,
106    pub cxy: *mut f32,
107    pub cflux: *mut f32,
108    pub flux: *mut f32,
109    pub cpeak: *mut f32,
110    pub peak: *mut f32,
111    pub xcpeak: *mut i64,
112    pub ycpeak: *mut i64,
113    pub xpeak: *mut i64,
114    pub ypeak: *mut i64,
115    pub flag: *mut ::core::ffi::c_short,
116    pub pix: *mut *mut i64,
117    pub objectspix: *mut i64,
118}
119impl Default for sep_catalog {
120    fn default() -> Self {
121        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
122        unsafe {
123            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
124            s.assume_init()
125        }
126    }
127}
128unsafe extern "C" {
129    pub fn sep_background(
130        image: *const sep_image,
131        bw: i64,
132        bh: i64,
133        fw: i64,
134        fh: i64,
135        fthresh: f64,
136        bkg: *mut *mut sep_bkg,
137    ) -> ::core::ffi::c_int;
138    pub fn sep_bkg_global(bkg: *const sep_bkg) -> f32;
139    pub fn sep_bkg_globalrms(bkg: *const sep_bkg) -> f32;
140    pub fn sep_bkg_pix(bkg: *const sep_bkg, x: i64, y: i64) -> f32;
141    pub fn sep_bkg_line(
142        bkg: *const sep_bkg,
143        y: i64,
144        line: *mut ::core::ffi::c_void,
145        dtype: ::core::ffi::c_int,
146    ) -> ::core::ffi::c_int;
147    pub fn sep_bkg_subline(
148        bkg: *const sep_bkg,
149        y: i64,
150        line: *mut ::core::ffi::c_void,
151        dtype: ::core::ffi::c_int,
152    ) -> ::core::ffi::c_int;
153    pub fn sep_bkg_rmsline(
154        bkg: *const sep_bkg,
155        y: i64,
156        line: *mut ::core::ffi::c_void,
157        dtype: ::core::ffi::c_int,
158    ) -> ::core::ffi::c_int;
159    pub fn sep_bkg_array(
160        bkg: *const sep_bkg,
161        arr: *mut ::core::ffi::c_void,
162        dtype: ::core::ffi::c_int,
163    ) -> ::core::ffi::c_int;
164    pub fn sep_bkg_subarray(
165        bkg: *const sep_bkg,
166        arr: *mut ::core::ffi::c_void,
167        dtype: ::core::ffi::c_int,
168    ) -> ::core::ffi::c_int;
169    pub fn sep_bkg_rmsarray(
170        bkg: *const sep_bkg,
171        arr: *mut ::core::ffi::c_void,
172        dtype: ::core::ffi::c_int,
173    ) -> ::core::ffi::c_int;
174    pub fn sep_bkg_free(bkg: *mut sep_bkg);
175    pub fn sep_extract(
176        image: *const sep_image,
177        thresh: f32,
178        thresh_type: ::core::ffi::c_int,
179        minarea: ::core::ffi::c_int,
180        conv: *const f32,
181        convw: i64,
182        convh: i64,
183        filter_type: ::core::ffi::c_int,
184        deblend_nthresh: ::core::ffi::c_int,
185        deblend_cont: f64,
186        clean_flag: ::core::ffi::c_int,
187        clean_param: f64,
188        catalog: *mut *mut sep_catalog,
189    ) -> ::core::ffi::c_int;
190    pub fn sep_set_extract_pixstack(val: usize);
191    pub fn sep_get_extract_pixstack() -> usize;
192    pub fn sep_set_sub_object_limit(val: ::core::ffi::c_int);
193    pub fn sep_get_sub_object_limit() -> ::core::ffi::c_int;
194    pub fn sep_catalog_free(catalog: *mut sep_catalog);
195    pub fn sep_sum_circle(
196        image: *const sep_image,
197        x: f64,
198        y: f64,
199        r: f64,
200        id: ::core::ffi::c_int,
201        subpix: ::core::ffi::c_int,
202        inflags: ::core::ffi::c_short,
203        sum: *mut f64,
204        sumerr: *mut f64,
205        area: *mut f64,
206        flag: *mut ::core::ffi::c_short,
207    ) -> ::core::ffi::c_int;
208    pub fn sep_sum_circann(
209        image: *const sep_image,
210        x: f64,
211        y: f64,
212        rin: f64,
213        rout: f64,
214        id: ::core::ffi::c_int,
215        subpix: ::core::ffi::c_int,
216        inflags: ::core::ffi::c_short,
217        sum: *mut f64,
218        sumerr: *mut f64,
219        area: *mut f64,
220        flag: *mut ::core::ffi::c_short,
221    ) -> ::core::ffi::c_int;
222    pub fn sep_sum_ellipse(
223        image: *const sep_image,
224        x: f64,
225        y: f64,
226        a: f64,
227        b: f64,
228        theta: f64,
229        r: f64,
230        id: ::core::ffi::c_int,
231        subpix: ::core::ffi::c_int,
232        inflags: ::core::ffi::c_short,
233        sum: *mut f64,
234        sumerr: *mut f64,
235        area: *mut f64,
236        flag: *mut ::core::ffi::c_short,
237    ) -> ::core::ffi::c_int;
238    pub fn sep_sum_ellipann(
239        image: *const sep_image,
240        x: f64,
241        y: f64,
242        a: f64,
243        b: f64,
244        theta: f64,
245        rin: f64,
246        rout: f64,
247        id: ::core::ffi::c_int,
248        subpix: ::core::ffi::c_int,
249        inflags: ::core::ffi::c_short,
250        sum: *mut f64,
251        sumerr: *mut f64,
252        area: *mut f64,
253        flag: *mut ::core::ffi::c_short,
254    ) -> ::core::ffi::c_int;
255    pub fn sep_sum_circann_multi(
256        im: *const sep_image,
257        x: f64,
258        y: f64,
259        rmax: f64,
260        n: i64,
261        id: ::core::ffi::c_int,
262        subpix: ::core::ffi::c_int,
263        inflag: ::core::ffi::c_short,
264        sum: *mut f64,
265        sumvar: *mut f64,
266        area: *mut f64,
267        maskarea: *mut f64,
268        flag: *mut ::core::ffi::c_short,
269    ) -> ::core::ffi::c_int;
270    pub fn sep_flux_radius(
271        im: *const sep_image,
272        x: f64,
273        y: f64,
274        rmax: f64,
275        id: ::core::ffi::c_int,
276        subpix: ::core::ffi::c_int,
277        inflag: ::core::ffi::c_short,
278        fluxtot: *const f64,
279        fluxfrac: *const f64,
280        n: i64,
281        r: *mut f64,
282        flag: *mut ::core::ffi::c_short,
283    ) -> ::core::ffi::c_int;
284    pub fn sep_kron_radius(
285        im: *const sep_image,
286        x: f64,
287        y: f64,
288        cxx: f64,
289        cyy: f64,
290        cxy: f64,
291        r: f64,
292        id: ::core::ffi::c_int,
293        kronrad: *mut f64,
294        flag: *mut ::core::ffi::c_short,
295    ) -> ::core::ffi::c_int;
296    pub fn sep_windowed(
297        im: *const sep_image,
298        x: f64,
299        y: f64,
300        sig: f64,
301        subpix: ::core::ffi::c_int,
302        inflag: ::core::ffi::c_short,
303        xout: *mut f64,
304        yout: *mut f64,
305        niter: *mut ::core::ffi::c_int,
306        flag: *mut ::core::ffi::c_short,
307    ) -> ::core::ffi::c_int;
308    pub fn sep_set_ellipse(
309        arr: *mut ::core::ffi::c_uchar,
310        w: i64,
311        h: i64,
312        x: f64,
313        y: f64,
314        cxx: f64,
315        cyy: f64,
316        cxy: f64,
317        r: f64,
318        val: ::core::ffi::c_uchar,
319    );
320    pub fn sep_ellipse_axes(
321        cxx: f64,
322        cyy: f64,
323        cxy: f64,
324        a: *mut f64,
325        b: *mut f64,
326        theta: *mut f64,
327    ) -> ::core::ffi::c_int;
328    pub fn sep_ellipse_coeffs(
329        a: f64,
330        b: f64,
331        theta: f64,
332        cxx: *mut f64,
333        cyy: *mut f64,
334        cxy: *mut f64,
335    );
336    pub static sep_version_string: *const ::core::ffi::c_char;
337    pub fn sep_get_errmsg(status: ::core::ffi::c_int, errtext: *mut ::core::ffi::c_char);
338    pub fn sep_get_errdetail(errtext: *mut ::core::ffi::c_char);
339}