IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 21172


Ignore:
Timestamp:
Jan 26, 2009, 2:00:45 PM (17 years ago)
Author:
eugene
Message:

adding mask and maskVal to vector eval functions

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/imageops/psImageMap.c

    r20767 r21172  
    77 *  @author Eugene Magnier, IfA
    88 *
    9  *  @version $Revision: 1.11 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2008-11-17 02:37:28 $
     9 *  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2009-01-27 00:00:21 $
    1111 *
    1212 *  Copyright 2007 Institute for Astronomy, University of Hawaii
     
    353353}
    354354
    355 psVector *psImageMapEvalVector(const psImageMap *map, const psVector *x, const psVector *y)
     355psVector *psImageMapEvalVector(const psImageMap *map, const psVector *mask, psMaskType maskValue, const psVector *x, const psVector *y)
    356356{
    357357    PS_ASSERT_IMAGE_MAP_NON_NULL(map, NULL);
     
    365365
    366366    for (int i = 0; i < x->n; i++) {
    367         result->data.F32[i] = psImageUnbinPixel(x->data.F32[i], y->data.F32[i], map->map, map->binning);
     367      if (mask && (mask->data.U8[i] & maskValue)) {
     368        result->data.F32[i] = 0.0;
     369      } else { 
     370        result->data.F32[i] = psImageUnbinPixel(x->data.F32[i], y->data.F32[i], map->map, map->binning);
     371      }
    368372    }
    369373
  • trunk/psLib/src/imageops/psImageMap.h

    r19960 r21172  
    77 *  @author Eugene Magnier, IfA
    88 *
    9  *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2008-10-07 22:23:06 $
     9 *  @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2009-01-27 00:00:21 $
    1111 *
    1212 *  Copyright 2007 Institute for Astronomy, University of Hawaii
     
    7777
    7878// apply the psImageMap to the given coordinate vectors (fine image pixels)
    79 psVector *psImageMapEvalVector (const psImageMap *map, const psVector *x, const psVector *y);
     79psVector *psImageMapEvalVector (const psImageMap *map, const psVector *mask, psMaskType maskValue, const psVector *x, const psVector *y);
    8080
    8181/// @}
  • trunk/psLib/src/imageops/psImageMapFit.c

    r20075 r21172  
    77 *  @author Eugene Magnier, IfA
    88 *
    9  *  @version $Revision: 1.11 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2008-10-13 01:55:48 $
     9 *  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2009-01-27 00:00:21 $
    1111 *
    1212 *  Copyright 2007 Institute for Astronomy, University of Hawaii
     
    397397        }
    398398
    399         psVector *fit = psImageMapEvalVector(map, x, y);
     399        psVector *fit = psImageMapEvalVector(map, mask, maskValue, x, y);
    400400        if (fit == NULL) {
    401401            psError(PS_ERR_UNKNOWN, false, "Failure in psImageMapEvalVector().\n");
  • trunk/psModules/src/objects/pmTrend2D.c

    r19961 r21172  
    33 *  @author EAM, IfA
    44 *
    5  *  @version $Revision: 1.10 $ $Name: not supported by cvs2svn $
    6  *  @date $Date: 2008-10-07 22:47:04 $
     5 *  @version $Revision: 1.11 $ $Name: not supported by cvs2svn $
     6 *  @date $Date: 2009-01-27 00:00:44 $
    77 *  Copyright 2004 Institute for Astronomy, University of Hawaii
    88 *
     
    234234}
    235235
    236 psVector *pmTrend2DEvalVector(const pmTrend2D *trend, const psVector *x, const psVector *y)
     236psVector *pmTrend2DEvalVector(const pmTrend2D *trend, psVector *mask, psMaskType maskValue, const psVector *x, const psVector *y)
    237237{
    238238    PM_ASSERT_TREND2D_NON_NULL(trend, NULL);
     
    244244      case PM_TREND_POLY_ORD:
    245245      case PM_TREND_POLY_CHEB:
     246        // XXX supply a mask here as well.
    246247        result = psPolynomial2DEvalVector (trend->poly, x, y);
    247248        break;
    248249
    249250      case PM_TREND_MAP:
    250         result = psImageMapEvalVector (trend->map, x, y);
     251        result = psImageMapEvalVector (trend->map, mask, maskValue, x, y);
    251252        break;
    252253
  • trunk/psModules/src/objects/pmTrend2D.h

    r19961 r21172  
    55 * @author EAM, IfA
    66 *
    7  * @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
    8  * @date $Date: 2008-10-07 22:47:04 $
     7 * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
     8 * @date $Date: 2009-01-27 00:00:45 $
    99 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii
    1010 */
     
    9090                     float x, float y
    9191    );
    92 psVector *pmTrend2DEvalVector(const pmTrend2D *trend,
     92psVector *pmTrend2DEvalVector(const pmTrend2D *trend, psVector *mask, psMaskType maskValue,
    9393                              const psVector *x, const psVector *y
    9494    );
Note: See TracChangeset for help on using the changeset viewer.