IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 4, 2005, 11:37:01 AM (21 years ago)
Author:
Paul Price
Message:

Updated to psLib rel5alpha1

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/stac/src/stacRead.c

    r2897 r3375  
    88    psArray *filenames = config->inputs;// The file names
    99    int nFiles = filenames->n;          // The number of input files
    10     psArray *files = psArrayAlloc(nFiles); // The input files, to be returned
     10    psArray *images = psArrayAlloc(nFiles); // The input files, to be returned
     11    psRegion *imageRegion = psRegionAlloc(0, 0, 0, 0); // Region of image to read
    1112
    12     psTrace("stac.read.images",1,"Reading input images....\n");
     13    psTrace("stac.read.images", 1, "Reading input images....\n");
    1314    for (int i = 0; i < nFiles; i++) {
     15        psTrace("stac.read.images", 2, "Reading input image %s....\n",filenames->data[i]);
     16        psFits *imageFile = psFitsAlloc(filenames->data[i]);
    1417        // We only read PHUs --- not mucking around with extensions for now
    15         psTrace("stac.read.images",2,"Reading input image %s....\n",filenames->data[i]);
    16         files->data[i] = psImageReadSection(NULL, 0, 0, 0, 0, 0, NULL, 0, filenames->data[i]);
    17         if (files->data[i] == NULL) {
     18        psImage *image = psFitsReadImage(NULL, imageFile, *imageRegion, 0);
     19        if (image == NULL) {
    1820            psErrorStackPrint(stderr,"Fatal error: Unable to read %s\n",filenames->data[i]);
    1921            exit(EXIT_FAILURE);
    2022        }
    21         // Big assumption: input images are 32-bit.
    22         if (((psImage*)(files->data[i]))->type.type != PS_TYPE_F32) {
    23             psError("stac.read.images", "Image %d is not 32-bit\n",i);
     23        psTrace("stac.read.images", 4, "Image %s is %dx%d\n", filenames->data[i], image->numCols,
     24                image->numRows);
     25        // Convert to 32-bit floating point, in necessary
     26        if (image->type.type != PS_TYPE_F32) {
     27            psTrace("stac.read.images", 3, "Converting %s to floating point in memory....",
     28                    filenames->data[i]);
     29            images->data[i] = psImageCopy(NULL, image, PS_TYPE_F32);
     30            psFree(image);
     31        } else {
     32            images->data[i] = image;
    2433        }
     34        psFree(imageFile);
    2535    }
    2636    psTrace("stac.read.images",1,"%d input images read.\n",nFiles);
     37    psFree(imageRegion);
    2738
    28     return files;
     39    return images;
    2940}
    3041
Note: See TracChangeset for help on using the changeset viewer.