IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 8128


Ignore:
Timestamp:
Aug 4, 2006, 2:17:45 AM (20 years ago)
Author:
eugene
Message:

skip pixels which map outside of the input/output image

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/cmd.astro/drizzle.c

    r7917 r8128  
    99int map_output_to_input (int Npix, double df);
    1010int map_input_to_output (int Npix, double df);
    11 void set_linear_terms (Coords *in, Coords *out, int i, int j, int Npix);
     11int set_linear_terms (Coords *in, Coords *out, int i, int j, int Npix);
    1212void apply_terms (double *Xout, double *Yout, double Xin, double Yin);
    1313
     
    9191  }
    9292
     93  gprint (GP_ERR, "mapping output to input\n");
     94
    9395  for (j = 0; j < Ny; j+=Npix) {
    9496    for (i = 0; i < Nx; i+=Npix) {
    9597     
    9698      /* define linear transformation in region */
    97       set_linear_terms (&coords_out, &coords_in, i, j, Npix);
     99      if (!set_linear_terms (&coords_out, &coords_in, i, j, Npix)) continue;
    98100
    99101      for (X = i; (X < i + Npix) && (X < Nx); X += df) {
     
    140142  }
    141143
     144  gprint (GP_ERR, "mapping input to output\n");
     145
    142146  for (j = 0; j < Ny; j+=Npix) {
    143147    for (i = 0; i < Nx; i+=Npix) {
    144148     
    145149      /* define linear transformation in region */
    146       set_linear_terms (&coords_in, &coords_out, i, j, Npix);
     150      if (!set_linear_terms (&coords_in, &coords_out, i, j, Npix)) continue;
    147151
    148152      for (X = i; (X < i + Npix) && (X < Nx); X += df) {
     
    167171
    168172/* find the linear astrometric fix between images at this location */
    169 void set_linear_terms (Coords *in, Coords *out, int i, int j, int Npix) {
     173int set_linear_terms (Coords *in, Coords *out, int i, int j, int Npix) {
    170174
    171175  int n;
     
    196200    }
    197201
    198     XY_to_RD (&r, &d, Xin, Yin, in);
    199     RD_to_XY (&Xout, &Yout, r, d, out);
     202    if (!XY_to_RD (&r, &d, Xin, Yin, in)) return (FALSE);
     203    if (!RD_to_XY (&Xout, &Yout, r, d, out)) return (FALSE);
    200204
    201205    x  += Xin;
Note: See TracChangeset for help on using the changeset viewer.