IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Aug 30, 2005, 4:07:12 PM (21 years ago)
Author:
drobbin
Message:

Updated code w.r.t the latest api-delta report

File:
1 edited

Legend:

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

    r4898 r4920  
    55 *  @author Robert DeSonia, MHPCC
    66 *
    7  *  @version $Revision: 1.24 $ $Name: not supported by cvs2svn $
    8  *  @date $Date: 2005-08-30 01:14:13 $
     7 *  @version $Revision: 1.25 $ $Name: not supported by cvs2svn $
     8 *  @date $Date: 2005-08-31 02:07:11 $
    99 *
    1010 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    488488
    489489void psImageSmooth (psImage *image,
    490                     float sigma,
    491                     float Nsigma)
     490                    double sigma,
     491                    double Nsigma)
    492492{
    493493
    494494    int Nx, Ny, Npixel, Nrange;
    495     float factor, g, s;
     495    double factor, g, s;
    496496    psVector *temp;
    497497
     
    505505
    506506    // generate gaussian
    507     psVector *gaussnorm = psVectorAlloc (Npixel, PS_TYPE_F32);
     507    psVector *gaussnorm = psVectorAlloc (Npixel, PS_TYPE_F64);
    508508    for (int i = -Nrange; i < Nrange + 1; i++) {
    509         gaussnorm->data.F32[i+Nrange] = exp (factor*i*i);
    510     }
    511     psF32 *gauss = &gaussnorm->data.F32[Nrange];
     509        gaussnorm->data.F64[i+Nrange] = exp (factor*i*i);
     510    }
     511    psF64 *gauss = &gaussnorm->data.F64[Nrange];
    512512
    513513    // smooth in X direction
    514     temp = psVectorAlloc (Nx, PS_TYPE_F32);
     514    temp = psVectorAlloc (Nx, PS_TYPE_F64);
    515515    for (int j = 0; j < Ny; j++) {
    516         psF32 *vi = image->data.F32[j];
    517         psF32 *vo = temp->data.F32;
     516        psF64 *vi = image->data.F64[j];
     517        psF64 *vo = temp->data.F64;
    518518        for (int i = 0; i < Nx; i++) {
    519519            g = s = 0;
     
    528528            vo[i] = s / g;
    529529        }
    530         memcpy (image->data.F32[j], temp->data.F32, Nx*sizeof(psF32));
     530        memcpy (image->data.F64[j], temp->data.F64, Nx*sizeof(psF64));
    531531    }
    532532    psFree (temp);
    533533
    534534    // smooth in Y direction
    535     temp = psVectorAlloc (image->numRows, PS_TYPE_F32);
     535    temp = psVectorAlloc (image->numRows, PS_TYPE_F64);
    536536    for (int i = 0; i < Nx; i++) {
    537         psF32  *vo = temp->data.F32;
    538         psF32 **vi = image->data.F32;
     537        psF64  *vo = temp->data.F64;
     538        psF64 **vi = image->data.F64;
    539539        for (int j = 0; j < Ny; j++) {
    540540            g = s = 0;
Note: See TracChangeset for help on using the changeset viewer.