IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 26, 2007, 5:33:37 PM (19 years ago)
Author:
Paul Price
Message:

Fixing problem with mosaicked versions of cameras --- they have file->format set, but they aren't supposed to have pmFPACopy run on them. Solution is to check if the file->camera is the default camera; if not, then don't do any copy in pmFPAfileSuitableFPA.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/camera/pmFPAfileFitsIO.c

    r11255 r11339  
    1818#include "pmFPACopy.h"
    1919
    20 pmFPA *pmFPAfileSuitableFPA(const pmFPAfile *file, const pmFPAview *view)
     20pmFPA *pmFPAfileSuitableFPA(const pmFPAfile *file, const pmFPAview *view, const pmConfig *config)
    2121{
    2222    PS_ASSERT_PTR_NON_NULL(file, NULL);
    2323    PS_ASSERT_PTR_NON_NULL(view, NULL);
    2424
    25     if (!file->format) {
     25    if (file->camera == config->camera || // Need to mosaic, not copy
     26            !file->format) {                // Working with the same output format as input format
    2627        return psMemIncrRefCounter(file->fpa);
    2728    }
     
    225226static bool fpaViewWriteFitsImage(const pmFPAview *view, // FPA view, specifying the level of interest
    226227                                  pmFPAfile *file, // FPA file of interest
     228                                  const pmConfig *config, // Configuration
    227229                                  bool (*fpaWriteFunc)(pmFPA*, psFits*, psDB*, bool, bool), // Func for FPA
    228230                                  bool (*chipWriteFunc)(pmChip*, psFits*, psDB*, bool, bool), // Func for chip
     
    236238    PS_ASSERT_PTR_NON_NULL(fits, false);
    237239
    238     pmFPA *fpa = pmFPAfileSuitableFPA(file, view); // FPA to write
     240    pmFPA *fpa = pmFPAfileSuitableFPA(file, view, config); // FPA to write
    239241
    240242    switch (pmFPAviewLevel(view)) {
     
    284286}
    285287
    286 bool pmFPAviewWriteFitsImage(const pmFPAview *view, pmFPAfile *file)
    287 {
    288     PS_ASSERT_PTR_NON_NULL(view, false);
    289     PS_ASSERT_PTR_NON_NULL(file, false);
    290     return fpaViewWriteFitsImage(view, file, pmFPAWrite, pmChipWrite, pmCellWrite);
    291 }
    292 
    293 bool pmFPAviewWriteFitsMask(const pmFPAview *view, pmFPAfile *file)
    294 {
    295     PS_ASSERT_PTR_NON_NULL(view, false);
    296     PS_ASSERT_PTR_NON_NULL(file, false);
    297     return fpaViewWriteFitsImage(view, file, pmFPAWriteMask, pmChipWriteMask, pmCellWriteMask);
    298 }
    299 
    300 bool pmFPAviewWriteFitsWeight(const pmFPAview *view, pmFPAfile *file)
    301 {
    302     PS_ASSERT_PTR_NON_NULL(view, false);
    303     PS_ASSERT_PTR_NON_NULL(file, false);
    304     return fpaViewWriteFitsImage(view, file, pmFPAWriteWeight, pmChipWriteWeight, pmCellWriteWeight);
     288bool pmFPAviewWriteFitsImage(const pmFPAview *view, pmFPAfile *file, pmConfig *config)
     289{
     290    PS_ASSERT_PTR_NON_NULL(view, false);
     291    PS_ASSERT_PTR_NON_NULL(file, false);
     292    return fpaViewWriteFitsImage(view, file, config, pmFPAWrite, pmChipWrite, pmCellWrite);
     293}
     294
     295bool pmFPAviewWriteFitsMask(const pmFPAview *view, pmFPAfile *file, pmConfig *config)
     296{
     297    PS_ASSERT_PTR_NON_NULL(view, false);
     298    PS_ASSERT_PTR_NON_NULL(file, false);
     299    return fpaViewWriteFitsImage(view, file, config, pmFPAWriteMask, pmChipWriteMask, pmCellWriteMask);
     300}
     301
     302bool pmFPAviewWriteFitsWeight(const pmFPAview *view, pmFPAfile *file, pmConfig *config)
     303{
     304    PS_ASSERT_PTR_NON_NULL(view, false);
     305    PS_ASSERT_PTR_NON_NULL(file, false);
     306    return fpaViewWriteFitsImage(view, file, config, pmFPAWriteWeight, pmChipWriteWeight, pmCellWriteWeight);
    305307}
    306308
Note: See TracChangeset for help on using the changeset viewer.