IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 3990


Ignore:
Timestamp:
May 19, 2005, 1:57:37 PM (21 years ago)
Author:
gusciora
Message:

...

Location:
trunk/psLib/src
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/astro/psCoord.c

    r3977 r3990  
    1010*  @author GLG, MHPCC
    1111*
    12 *  @version $Revision: 1.67 $ $Name: not supported by cvs2svn $
    13 *  @date $Date: 2005-05-19 05:18:20 $
     12*  @version $Revision: 1.68 $ $Name: not supported by cvs2svn $
     13*  @date $Date: 2005-05-19 23:57:36 $
    1414*
    1515*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    8989      (Y2 * (1.0 / (F - ((C*E)/B))));
    9090 
    91 XXX: Since thre is now a general psPlaneTransformInvert() function, we
     91XXX: Since there is now a general psPlaneTransformInvert() function, we
    9292should rename this.
    9393 *****************************************************************************/
     
    122122    psPlaneTransform *out = psPlaneTransformAlloc(2, 2);
    123123
     124    /* This is sample code from IfA.  It didn't work initially, and I did not
     125       spend any time debugging it.
     126     
     127        psF64 a = transform->x->coeff[1][0];
     128        psF64 b = transform->x->coeff[0][1];
     129        psF64 c = transform->y->coeff[1][0];
     130        psF64 d = transform->y->coeff[0][1];
     131        psF64 e = transform->x->coeff[0][0];
     132        psF64 f = transform->y->coeff[0][0];
     133     
     134        psF64 invDet = 1.0 / (a * d - b * c); // Inverse of the determinant
     135     
     136        // Not entirely sure why this works, but it appears to do so....................................!
     137        out->x->coeff[1][0] = invDet * a;
     138        out->x->coeff[0][1] = - invDet * b;
     139        out->y->coeff[1][0] = - invDet * c;
     140        out->y->coeff[0][1] = invDet * d;
     141     
     142        out->x->coeff[0][0] = - invDet * (d * e + c * f);
     143        out->y->coeff[0][0] = - invDet * (b * e + a * f);
     144    */
    124145    out->x->coeff[0][0] = (-D + ((F*A)/C)) / (E - ((F*B)/C));
    125146    out->x->coeff[1][0] = -(F/C) / (E - ((F*B)/C));
     
    10321053    psS32 numCoords = PS_MIN(source->n, dest->n);
    10331054    psS32 order = PS_MAX(trans->x->nX, trans->x->nY);
     1055    order = PS_MAX(order, trans->y->nX);
     1056    order = PS_MAX(order, trans->y->nY);
    10341057
    10351058    //
     
    11331156psPlaneTransform *psPlaneTransformInvert(psPlaneTransform *out,
    11341157        const psPlaneTransform *in,
    1135         psRegion region,
     1158        psRegion *region,
    11361159        int nSamples)
    11371160{
     
    11511174        psError(PS_ERR_BAD_PARAMETER_TYPE, true, "Input transformation must have same nX==nY.");
    11521175    }
    1153     psS32 order = PS_MAX(in->x->nX, in->x->nY);
     1176    psS32 order = in->x->nX;
    11541177
    11551178    psPlaneTransform *myPT = NULL;
     
    11971220
    11981221    //
    1199     // Initialize the grid.
     1222    // Initialize the grid.  Since we want the inverse of the transformation, the
     1223    // inCoords are written to the outData vector, and the outCoords are written
     1224    // to the inData vector.
    12001225    //
    12011226    psS32 cnt = 0;
     
    12051230            inCoord->x = region.x0 + ((psF32) xint) * ((region.x1 - region.x0) / ((psF32) nSamples));
    12061231            (void)psPlaneTransformApply(outCoord, in, inCoord);
    1207 
    12081232            ((psPlane *) outData->data[cnt])->x = inCoord->x;
    12091233            ((psPlane *) outData->data[cnt])->y = inCoord->y;
     
    12141238        }
    12151239    }
     1240    // XXX: what values should be used here?
    12161241    bool rc = psPlaneTransformFit(myPT, inData, outData, 10, 100.0);
    12171242
  • trunk/psLib/src/astronomy/psCoord.c

    r3977 r3990  
    1010*  @author GLG, MHPCC
    1111*
    12 *  @version $Revision: 1.67 $ $Name: not supported by cvs2svn $
    13 *  @date $Date: 2005-05-19 05:18:20 $
     12*  @version $Revision: 1.68 $ $Name: not supported by cvs2svn $
     13*  @date $Date: 2005-05-19 23:57:36 $
    1414*
    1515*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    8989      (Y2 * (1.0 / (F - ((C*E)/B))));
    9090 
    91 XXX: Since thre is now a general psPlaneTransformInvert() function, we
     91XXX: Since there is now a general psPlaneTransformInvert() function, we
    9292should rename this.
    9393 *****************************************************************************/
     
    122122    psPlaneTransform *out = psPlaneTransformAlloc(2, 2);
    123123
     124    /* This is sample code from IfA.  It didn't work initially, and I did not
     125       spend any time debugging it.
     126     
     127        psF64 a = transform->x->coeff[1][0];
     128        psF64 b = transform->x->coeff[0][1];
     129        psF64 c = transform->y->coeff[1][0];
     130        psF64 d = transform->y->coeff[0][1];
     131        psF64 e = transform->x->coeff[0][0];
     132        psF64 f = transform->y->coeff[0][0];
     133     
     134        psF64 invDet = 1.0 / (a * d - b * c); // Inverse of the determinant
     135     
     136        // Not entirely sure why this works, but it appears to do so....................................!
     137        out->x->coeff[1][0] = invDet * a;
     138        out->x->coeff[0][1] = - invDet * b;
     139        out->y->coeff[1][0] = - invDet * c;
     140        out->y->coeff[0][1] = invDet * d;
     141     
     142        out->x->coeff[0][0] = - invDet * (d * e + c * f);
     143        out->y->coeff[0][0] = - invDet * (b * e + a * f);
     144    */
    124145    out->x->coeff[0][0] = (-D + ((F*A)/C)) / (E - ((F*B)/C));
    125146    out->x->coeff[1][0] = -(F/C) / (E - ((F*B)/C));
     
    10321053    psS32 numCoords = PS_MIN(source->n, dest->n);
    10331054    psS32 order = PS_MAX(trans->x->nX, trans->x->nY);
     1055    order = PS_MAX(order, trans->y->nX);
     1056    order = PS_MAX(order, trans->y->nY);
    10341057
    10351058    //
     
    11331156psPlaneTransform *psPlaneTransformInvert(psPlaneTransform *out,
    11341157        const psPlaneTransform *in,
    1135         psRegion region,
     1158        psRegion *region,
    11361159        int nSamples)
    11371160{
     
    11511174        psError(PS_ERR_BAD_PARAMETER_TYPE, true, "Input transformation must have same nX==nY.");
    11521175    }
    1153     psS32 order = PS_MAX(in->x->nX, in->x->nY);
     1176    psS32 order = in->x->nX;
    11541177
    11551178    psPlaneTransform *myPT = NULL;
     
    11971220
    11981221    //
    1199     // Initialize the grid.
     1222    // Initialize the grid.  Since we want the inverse of the transformation, the
     1223    // inCoords are written to the outData vector, and the outCoords are written
     1224    // to the inData vector.
    12001225    //
    12011226    psS32 cnt = 0;
     
    12051230            inCoord->x = region.x0 + ((psF32) xint) * ((region.x1 - region.x0) / ((psF32) nSamples));
    12061231            (void)psPlaneTransformApply(outCoord, in, inCoord);
    1207 
    12081232            ((psPlane *) outData->data[cnt])->x = inCoord->x;
    12091233            ((psPlane *) outData->data[cnt])->y = inCoord->y;
     
    12141238        }
    12151239    }
     1240    // XXX: what values should be used here?
    12161241    bool rc = psPlaneTransformFit(myPT, inData, outData, 10, 100.0);
    12171242
  • trunk/psLib/src/collections/psPixels.h

    r3959 r3990  
    77 *  @author Robert DeSonia, MHPCC
    88 *
    9  *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2005-05-18 21:38:19 $
     9 *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2005-05-19 23:57:36 $
    1111 *
    1212 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    7979 *
    8080 *  psPixelsToMask shall return an image of type U8 with the pixels lying
    81  *  within the specified region set to the maskVal. The out image shall be
    82  *  modified if supplied, or allocated and returned if NULL. The size of the
     81 *  within the specified region set to the maskVal. The out image shall be
     82 *  modified if supplied, or allocated and returned if NULL. The size of the
    8383 *  output image shall be region->x1 - region->x0 by region->y1 - region->y0,
    8484 *  with out->x0 = region->x0 and out->y0 = region->y0. In the event that
  • trunk/psLib/src/dataManip/psConstants.h

    r3884 r3990  
    66 *  @author GLG, MHPCC
    77 *
    8  *  @version $Revision: 1.66 $ $Name: not supported by cvs2svn $
    9  *  @date $Date: 2005-05-11 22:02:16 $
     8 *  @version $Revision: 1.67 $ $Name: not supported by cvs2svn $
     9 *  @date $Date: 2005-05-19 23:57:37 $
    1010 *
    1111 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    1717 *  that we ensure that an argument which is expected to be output is
    1818 *  psFree'ed before reurning NULL.
     19 *
     20 *  XXX: The macros have a name similar to PS_CHECK_CONDITION() and generally
     21 *  throw a psError if the CONDITION is true.  However, some throw the error
     22 *  if the CONDITION is false.  This should be consistant.
    1923 *
    2024 */
     
    6872}
    6973
     74// Return an error if the arg is less than zero.
     75#define PS_INT_CHECK_NEGATIVE(NAME, RVAL) \
     76if (NAME < 0) { \
     77    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
     78            "Error: %s is less than 0.", #NAME); \
     79    return(RVAL); \
     80}
     81
     82// Return an error if the arg is less than zero.
     83// XXX: This naming scheme is opposite most other macros.  This should be
     84// corrected as soon as a fresh checkin/out can be performed.
    7085#define PS_INT_CHECK_NON_NEGATIVE(NAME, RVAL) \
    7186if (NAME < 0) { \
     
    7590}
    7691
     92// Return an error if the arg is less than or equal to zero.
     93// XXX: This naming scheme is opposite most other macros.  This should be
     94// corrected as soon as a fresh checkin/out can be performed.
    7795#define PS_INT_CHECK_POSITIVE(NAME, RVAL) \
    7896if (NAME < 1) { \
     
    82100}
    83101
     102// Return an error if the arg is not equal to zero.
     103#define PS_INT_CHECK_NON_ZERO(NAME, RVAL) \
     104if (NAME != 0) { \
     105    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
     106            "Error: %s is 0.", #NAME); \
     107    return(RVAL); \
     108}
     109
     110// Return an error if the arg is equal to zero.
    84111#define PS_INT_CHECK_ZERO(NAME, RVAL) \
    85 if (NAME < 1) { \
     112if (NAME == 0) { \
    86113    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
    87114            "Error: %s is 0.", #NAME); \
     
    89116}
    90117
     118// Return an error if the arg is lies outside the supplied range.
    91119#define PS_INT_CHECK_RANGE(NAME, LOWER, UPPER, RVAL) \
    92120if ((int)NAME < LOWER || (int)NAME > UPPER) { \
     
    106134}
    107135
    108 
    109136// Produce an error if ((NAME1 > NAME2)
    110137#define PS_FLOAT_COMPARE(NAME1, NAME2, RVAL) \
     
    116143}
    117144
     145// Generate an error if the two floats are equal.
     146// XXX: Inconsistent naming.
    118147#define PS_FLOAT_CHECK_NON_EQUAL(NAME1, NAME2, RVAL) \
    119148if (fabs(NAME2 - NAME1) < FLT_EPSILON) { \
     
    124153}
    125154
     155// Return an error if the arg is lies outside the supplied range.
    126156#define PS_FLOAT_CHECK_RANGE(NAME, LOWER, UPPER, RVAL) \
    127157if ((NAME) < (LOWER) || (NAME) > (UPPER)) { \
  • trunk/psLib/src/dataManip/psFunctions.c

    r3988 r3990  
    77 *  polynomials.  It also contains a Gaussian functions.
    88 *
    9  *  @version $Revision: 1.102 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2005-05-19 22:53:47 $
     9 *  @version $Revision: 1.103 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2005-05-19 23:57:37 $
    1111 *
    1212 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    247247{
    248248    PS_INT_CHECK_NON_NEGATIVE(maxChebyPoly, NULL);
    249 
    250     printf("HERE: 00\n");
    251249
    252250    psPolynomial1D **chebPolys = NULL;
  • trunk/psLib/src/dataManip/psMinimize.c

    r3989 r3990  
    99 *  @author GLG, MHPCC
    1010 *
    11  *  @version $Revision: 1.118 $ $Name: not supported by cvs2svn $
    12  *  @date $Date: 2005-05-19 23:52:19 $
     11 *  @version $Revision: 1.119 $ $Name: not supported by cvs2svn $
     12 *  @date $Date: 2005-05-19 23:57:37 $
    1313 *
    1414 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    14371437    min->value = 0.0;
    14381438    min->iter = 0;
    1439     min->lastDelta = tol + 1;
     1439    min->lastDelta = NAN;
    14401440
    14411441    return(min);
  • trunk/psLib/src/dataManip/psStats.c

    r3769 r3990  
    99 *  @author GLG, MHPCC
    1010 *
    11  *  @version $Revision: 1.126 $ $Name: not supported by cvs2svn $
    12  *  @date $Date: 2005-04-26 19:53:30 $
     11 *  @version $Revision: 1.127 $ $Name: not supported by cvs2svn $
     12 *  @date $Date: 2005-05-19 23:57:37 $
    1313 *
    1414 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    15121512
    15131513    // Determine minimum and maximum values in the data vector.
     1514    // XXX: remove this conditional?
    15141515    if (isnan(tmpStats->min)) {
    15151516        if (0 != p_psVectorMin(myVector, maskVector, maskVal, tmpStats)) {
     
    15191520        }
    15201521    }
     1522    // XXX: remove this conditional?
    15211523    if (isnan(tmpStats->max)) {
    15221524        if (0 != p_psVectorMax(myVector, maskVector, maskVal, tmpStats)) {
     
    16561658        }
    16571659
    1658 
     1660        // XXX: Must fit a 2-D polynomial, not a Gaussian.  (bug 366)
    16591661        psBool rc = psMinimizeLMChi2(min,
    16601662                                     NULL,
  • trunk/psLib/src/image/psImage.h

    r3977 r3990  
    1111 *  @author Ross Harman, MHPCC
    1212 *
    13  *  @version $Revision: 1.52 $ $Name: not supported by cvs2svn $
    14  *  @date $Date: 2005-05-19 05:18:20 $
     13 *  @version $Revision: 1.53 $ $Name: not supported by cvs2svn $
     14 *  @date $Date: 2005-05-19 23:57:37 $
    1515 *
    1616 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    2020
    2121#include <complex.h>
    22 
     22#include <stdio.h>
    2323#include "psType.h"
    2424#include "psArray.h"
  • trunk/psLib/src/math/psConstants.h

    r3884 r3990  
    66 *  @author GLG, MHPCC
    77 *
    8  *  @version $Revision: 1.66 $ $Name: not supported by cvs2svn $
    9  *  @date $Date: 2005-05-11 22:02:16 $
     8 *  @version $Revision: 1.67 $ $Name: not supported by cvs2svn $
     9 *  @date $Date: 2005-05-19 23:57:37 $
    1010 *
    1111 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    1717 *  that we ensure that an argument which is expected to be output is
    1818 *  psFree'ed before reurning NULL.
     19 *
     20 *  XXX: The macros have a name similar to PS_CHECK_CONDITION() and generally
     21 *  throw a psError if the CONDITION is true.  However, some throw the error
     22 *  if the CONDITION is false.  This should be consistant.
    1923 *
    2024 */
     
    6872}
    6973
     74// Return an error if the arg is less than zero.
     75#define PS_INT_CHECK_NEGATIVE(NAME, RVAL) \
     76if (NAME < 0) { \
     77    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
     78            "Error: %s is less than 0.", #NAME); \
     79    return(RVAL); \
     80}
     81
     82// Return an error if the arg is less than zero.
     83// XXX: This naming scheme is opposite most other macros.  This should be
     84// corrected as soon as a fresh checkin/out can be performed.
    7085#define PS_INT_CHECK_NON_NEGATIVE(NAME, RVAL) \
    7186if (NAME < 0) { \
     
    7590}
    7691
     92// Return an error if the arg is less than or equal to zero.
     93// XXX: This naming scheme is opposite most other macros.  This should be
     94// corrected as soon as a fresh checkin/out can be performed.
    7795#define PS_INT_CHECK_POSITIVE(NAME, RVAL) \
    7896if (NAME < 1) { \
     
    82100}
    83101
     102// Return an error if the arg is not equal to zero.
     103#define PS_INT_CHECK_NON_ZERO(NAME, RVAL) \
     104if (NAME != 0) { \
     105    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
     106            "Error: %s is 0.", #NAME); \
     107    return(RVAL); \
     108}
     109
     110// Return an error if the arg is equal to zero.
    84111#define PS_INT_CHECK_ZERO(NAME, RVAL) \
    85 if (NAME < 1) { \
     112if (NAME == 0) { \
    86113    psError(PS_ERR_BAD_PARAMETER_VALUE, true, \
    87114            "Error: %s is 0.", #NAME); \
     
    89116}
    90117
     118// Return an error if the arg is lies outside the supplied range.
    91119#define PS_INT_CHECK_RANGE(NAME, LOWER, UPPER, RVAL) \
    92120if ((int)NAME < LOWER || (int)NAME > UPPER) { \
     
    106134}
    107135
    108 
    109136// Produce an error if ((NAME1 > NAME2)
    110137#define PS_FLOAT_COMPARE(NAME1, NAME2, RVAL) \
     
    116143}
    117144
     145// Generate an error if the two floats are equal.
     146// XXX: Inconsistent naming.
    118147#define PS_FLOAT_CHECK_NON_EQUAL(NAME1, NAME2, RVAL) \
    119148if (fabs(NAME2 - NAME1) < FLT_EPSILON) { \
     
    124153}
    125154
     155// Return an error if the arg is lies outside the supplied range.
    126156#define PS_FLOAT_CHECK_RANGE(NAME, LOWER, UPPER, RVAL) \
    127157if ((NAME) < (LOWER) || (NAME) > (UPPER)) { \
  • trunk/psLib/src/math/psMinimize.c

    r3989 r3990  
    99 *  @author GLG, MHPCC
    1010 *
    11  *  @version $Revision: 1.118 $ $Name: not supported by cvs2svn $
    12  *  @date $Date: 2005-05-19 23:52:19 $
     11 *  @version $Revision: 1.119 $ $Name: not supported by cvs2svn $
     12 *  @date $Date: 2005-05-19 23:57:37 $
    1313 *
    1414 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    14371437    min->value = 0.0;
    14381438    min->iter = 0;
    1439     min->lastDelta = tol + 1;
     1439    min->lastDelta = NAN;
    14401440
    14411441    return(min);
  • trunk/psLib/src/math/psPolynomial.c

    r3988 r3990  
    77 *  polynomials.  It also contains a Gaussian functions.
    88 *
    9  *  @version $Revision: 1.102 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2005-05-19 22:53:47 $
     9 *  @version $Revision: 1.103 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2005-05-19 23:57:37 $
    1111 *
    1212 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    247247{
    248248    PS_INT_CHECK_NON_NEGATIVE(maxChebyPoly, NULL);
    249 
    250     printf("HERE: 00\n");
    251249
    252250    psPolynomial1D **chebPolys = NULL;
  • trunk/psLib/src/math/psSpline.c

    r3988 r3990  
    77 *  polynomials.  It also contains a Gaussian functions.
    88 *
    9  *  @version $Revision: 1.102 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2005-05-19 22:53:47 $
     9 *  @version $Revision: 1.103 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2005-05-19 23:57:37 $
    1111 *
    1212 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    247247{
    248248    PS_INT_CHECK_NON_NEGATIVE(maxChebyPoly, NULL);
    249 
    250     printf("HERE: 00\n");
    251249
    252250    psPolynomial1D **chebPolys = NULL;
  • trunk/psLib/src/math/psStats.c

    r3769 r3990  
    99 *  @author GLG, MHPCC
    1010 *
    11  *  @version $Revision: 1.126 $ $Name: not supported by cvs2svn $
    12  *  @date $Date: 2005-04-26 19:53:30 $
     11 *  @version $Revision: 1.127 $ $Name: not supported by cvs2svn $
     12 *  @date $Date: 2005-05-19 23:57:37 $
    1313 *
    1414 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    15121512
    15131513    // Determine minimum and maximum values in the data vector.
     1514    // XXX: remove this conditional?
    15141515    if (isnan(tmpStats->min)) {
    15151516        if (0 != p_psVectorMin(myVector, maskVector, maskVal, tmpStats)) {
     
    15191520        }
    15201521    }
     1522    // XXX: remove this conditional?
    15211523    if (isnan(tmpStats->max)) {
    15221524        if (0 != p_psVectorMax(myVector, maskVector, maskVal, tmpStats)) {
     
    16561658        }
    16571659
    1658 
     1660        // XXX: Must fit a 2-D polynomial, not a Gaussian.  (bug 366)
    16591661        psBool rc = psMinimizeLMChi2(min,
    16601662                                     NULL,
  • trunk/psLib/src/mathtypes/psImage.h

    r3977 r3990  
    1111 *  @author Ross Harman, MHPCC
    1212 *
    13  *  @version $Revision: 1.52 $ $Name: not supported by cvs2svn $
    14  *  @date $Date: 2005-05-19 05:18:20 $
     13 *  @version $Revision: 1.53 $ $Name: not supported by cvs2svn $
     14 *  @date $Date: 2005-05-19 23:57:37 $
    1515 *
    1616 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    2020
    2121#include <complex.h>
    22 
     22#include <stdio.h>
    2323#include "psType.h"
    2424#include "psArray.h"
  • trunk/psLib/src/types/psPixels.h

    r3959 r3990  
    77 *  @author Robert DeSonia, MHPCC
    88 *
    9  *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2005-05-18 21:38:19 $
     9 *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2005-05-19 23:57:36 $
    1111 *
    1212 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    7979 *
    8080 *  psPixelsToMask shall return an image of type U8 with the pixels lying
    81  *  within the specified region set to the maskVal. The out image shall be
    82  *  modified if supplied, or allocated and returned if NULL. The size of the
     81 *  within the specified region set to the maskVal. The out image shall be
     82 *  modified if supplied, or allocated and returned if NULL. The size of the
    8383 *  output image shall be region->x1 - region->x0 by region->y1 - region->y0,
    8484 *  with out->x0 = region->x0 and out->y0 = region->y0. In the event that
Note: See TracChangeset for help on using the changeset viewer.