IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 27817


Ignore:
Timestamp:
May 2, 2010, 11:23:11 AM (16 years ago)
Author:
eugene
Message:

create match2d function in dvo; allow kapa bg to be "none"; better help on "break"; fit1 and fit2d recast the vectors; histogram can create an output index vector

Location:
trunk/Ohana/src
Files:
1 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/libdvo/include/dvo.h

    r27580 r27817  
    443443void sort_image_subset (Image *image, off_t *subset, off_t N);
    444444void sort_coords_index (double *X, double *Y, off_t *S, off_t N);
     445void sort_coords_indexonly (double *X, double *Y, off_t *S, off_t N);
    445446void sort_regions (SkyRegion *region, off_t N);
    446447
  • trunk/Ohana/src/libdvo/src/dvosorts.c

    r27435 r27817  
    4646}
    4747
     48/* sort a coordinate pair (X,Y) and the associated index (S) */
     49void sort_coords_indexonly (double *X, double *Y, off_t *S, off_t N) {
     50 
     51# define SWAPFUNC(A,B){ off_t itmp; \
     52  itmp = S[A]; S[A] = S[B]; S[B] = itmp; \
     53}
     54# define COMPARE(A,B)(X[S[A]] < X[S[B]])
     55
     56  OHANA_SORT (N, COMPARE, SWAPFUNC);
     57
     58# undef SWAPFUNC
     59# undef COMPARE
     60
     61}
     62
    4863void sort_regions (SkyRegion *region, off_t N) {
    4964
  • trunk/Ohana/src/libkapa/src/KapaColors.c

    r7080 r27817  
    3737    }   
    3838  }
     39  if (!strcasecmp (name, "none")) return (-1);
     40
    3941  fprintf (stderr, "color may be one of:\n");
    4042  for (i = 0; i < N_KAPA_COLORS; i++) {
  • trunk/Ohana/src/opihi/cmd.basic/break.c

    r23582 r27817  
    11# include "basic.h"
    22
     3// auto_break is currently a global
    34int exec_break (int argc, char **argv) {
    45
    56  int N, value;
    67
     8  if ((N = get_argument (argc, argv, "-h"))) goto usage;
     9  if ((N = get_argument (argc, argv, "-help"))) goto usage;
     10  if ((N = get_argument (argc, argv, "--help"))) goto usage;
     11
    712  if ((N = get_argument (argc, argv, "-auto"))) {
    813    remove_argument (N, &argc, argv);
    9     value = -1;
    10     if (!strcasecmp (argv[N], "on")) value = 1;
    11     if (!strcasecmp (argv[N], "off")) value = 0;
    12     if (value == -1) {
    13       gprint (GP_ERR, "USAGE: break -auto [on / off]\n");
     14    if (N == argc) {
    1415      if (auto_break)
    1516        gprint (GP_ERR, "auto break on\n");
     
    1819      return (FALSE);
    1920    }
     21    value = -1;
     22    if (!strcasecmp (argv[N], "on")) value = 1;
     23    if (!strcasecmp (argv[N], "off")) value = 0;
     24    if (value == -1) goto usage;
    2025    auto_break = value;
    2126    return (TRUE);
    2227  }
    23 
     28 
    2429  loop_break = TRUE;
    2530  return (FALSE);
    26 
     31 
     32usage:
     33  gprint (GP_ERR, "USAGE: break -auto [on / off]\n");
     34  return (FALSE);
    2735}
  • trunk/Ohana/src/opihi/cmd.data/Makefile

    r26891 r27817  
    7272$(SRC)/lookup.$(ARCH).o \
    7373$(SRC)/matrix.$(ARCH).o \
     74$(SRC)/match2d.$(ARCH).o        \
    7475$(SRC)/mkrgb.$(ARCH).o  \
    7576$(SRC)/mcreate.$(ARCH).o        \
  • trunk/Ohana/src/opihi/cmd.data/create.c

    r20936 r27817  
    1414
    1515  if ((argc != 5) && (argc != 4)) {
    16     gprint (GP_ERR, "USAGE: create vector start end [delta]\n");
     16    gprint (GP_ERR, "USAGE: create vector start end [delta] [-int]\n");
     17    gprint (GP_ERR, " -int : resulting vector is integer type (delta must be integer)\n");
    1718    return (FALSE);
    1819  }
     
    2021  if ((vec = SelectVector (argv[1], ANYVECTOR, TRUE)) == NULL) return (FALSE);
    2122
     23  delta = 1;
    2224  start = atof (argv[2]);
    2325  end   = atof (argv[3]);
    24   delta = 1;
    2526  if (argc == 5) delta = atof (argv[4]);
     27
    2628  if ((start == end) || (delta == 0)) {
    2729    gprint (GP_ERR, "error in value: %f to %f, %f\n", start, end, delta);
  • trunk/Ohana/src/opihi/cmd.data/fit1d.c

    r24081 r27817  
    5353    return (FALSE);
    5454  }
    55   REQUIRE_VECTOR_FLT (xvec, FALSE);
    56   REQUIRE_VECTOR_FLT (yvec, FALSE);
     55  CastVector (xvec, OPIHI_FLT);
     56  CastVector (yvec, OPIHI_FLT);
    5757
    5858  if (Weight) {
    59     REQUIRE_VECTOR_FLT (dyvec, FALSE);
     59    CastVector (dyvec, OPIHI_FLT);
    6060    if (xvec[0].Nelements != dyvec[0].Nelements) {
    6161      gprint (GP_ERR, "vectors must have same length\n");
  • trunk/Ohana/src/opihi/cmd.data/fit2d.c

    r20936 r27817  
    6464    return (FALSE);
    6565  }
    66   REQUIRE_VECTOR_FLT (xvec, FALSE);
    67   REQUIRE_VECTOR_FLT (yvec, FALSE);
    68   REQUIRE_VECTOR_FLT (zvec, FALSE);
     66  CastVector (xvec, OPIHI_FLT);
     67  CastVector (yvec, OPIHI_FLT);
     68  CastVector (zvec, OPIHI_FLT);
    6969
    7070  if (Weight) {
    71     REQUIRE_VECTOR_FLT (dzvec, FALSE);
     71    CastVector (dzvec, OPIHI_FLT);
    7272    if (xvec[0].Nelements != dzvec[0].Nelements) {
    7373      gprint (GP_ERR, "vectors must have same length\n");
  • trunk/Ohana/src/opihi/cmd.data/histogram.c

    r20936 r27817  
    33int histogram (int argc, char **argv) {
    44 
    5   int i, bin, Nbins;
     5  int i, N, bin, Nbins;
    66  opihi_int *OUT;
    77  opihi_flt start, end, delta;
    8   Vector *xvec, *yvec;
     8  Vector *xvec, *yvec, *range;
     9
     10  range = NULL;
     11  if ((N = get_argument (argc, argv, "-range"))) {
     12    remove_argument (N, &argc, argv);
     13    if ((range = SelectVector (argv[N], ANYVECTOR, TRUE)) == NULL) return (FALSE);   
     14    remove_argument (N, &argc, argv);
     15  }
    916
    1017  if ((argc != 6) && (argc != 5)) {
    11     gprint (GP_ERR, "USAGE: hist invec outvec start end [delta]\n");
     18    gprint (GP_ERR, "USAGE: hist invec outvec start end [delta] [-range range]\n");
    1219    return (FALSE);
    1320  }
     
    3138  if ((xvec = SelectVector (argv[1], OLDVECTOR, TRUE)) == NULL) return (FALSE);
    3239  if ((yvec = SelectVector (argv[2], ANYVECTOR, TRUE)) == NULL) return (FALSE);
     40
     41  if (range) {
     42    ResetVector (range, OPIHI_FLT, Nbins);
     43    for (i = 0; i < range[0].Nelements; i++) {
     44      range[0].elements.Flt[i] = start + i*delta;
     45    }
     46  }
    3347
    3448  ResetVector (yvec, OPIHI_INT, Nbins);
  • trunk/Ohana/src/opihi/cmd.data/init.c

    r26891 r27817  
    6161int lookup           PROTO((int, char **));
    6262int matrix           PROTO((int, char **));
     63int match2d          PROTO((int, char **));
    6364int mkrgb            PROTO((int, char **));
    6465int mcreate          PROTO((int, char **));
     
    201202  {1, "iminterp",     minterp,          "interpolate image pixels"},
    202203  {1, "matrix",       matrix,           "matrix math operations"},
     204  {1, "match2d",      match2d,          "match 2 pairs of X,Y vectors and return matched indexes"},
    203205  {1, "mkrgb",        mkrgb,            "convert 3 images to rgb jpeg (use Kapa for better control)"},
    204206  {1, "mset",         mset,             "insert a vector in an image"},
Note: See TracChangeset for help on using the changeset viewer.