Changes to the C API

This page details cumulative changes to the C API between v1.2.1 and v1.3.7, or since this package was forked from kbarbary/sep. Almost all changes to the public API are to integer parameters, many of which have been changed from int to int64_t, to fix problems which may arise with extremely large arrays. The other change of note is to the sep_image struct, which enables the user to pass an existing segmentation map, and re-extract all morphological and photometric quantities on a different image.

All changes here are transparent to users of the Python interface.

struct sep_image
  • Three new parameters have been added:

    int64_t *segids

    The unique ids in an existing segmentation map.

    int64_t *idcounts

    The number of occurrences of each unique id in an existing segmentation map.

    int64_t numids

    The total number of unique ids in an existing segmentation map.

  • The type of w` and h` has changed from int to int64_t.

struct sep_bkg
  • The type of the following parameters has changed from int to int64_t: w, h, bw, bh, nx, ny, and n.

struct sep_catalog
  • The type of the following parameters has changed from int to int64_t: npix, tnpix, xmin, xmax, ymin, ymax, xcpeak, ycpeak, xpeak, ypeak, pix, and objectspix.

int sep_background()
  • The type of the following parameters has changed from int to int64_t: bw, bh, fw, and fh.

float sep_bkg_pix()
  • The type of x and y has changed from int to int64_t.

int sep_bkg_line()
  • The type of y has changed from int to int64_t.

int sep_bkg_subline()
  • The type of y has changed from int to int64_t.

int sep_bkg_rmsline()
  • The type of y has changed from int to int64_t.

int sep_extract()
  • The type of convw and convh has changed from int to int64_t.

int sep_sum_circann_multi()
  • The type of n has changed from int to int64_t.

int sep_flux_radius()
  • The type of n has changed from int to int64_t.

void sep_set_ellipse()
  • The type of w and h has changed from int to int64_t.