IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 23677


Ignore:
Timestamp:
Apr 2, 2009, 11:55:52 AM (17 years ago)
Author:
Paul Price
Message:

Removing warpSkyfile.ignored from database, in favour of using the quality flags. This means that we can ignore skycells on the basis of usefulness (whether we can measure the PSF) rather than an arbitrary cut of 10% lit pixels (which pixels may or may not be useful).

Location:
branches/pap
Files:
31 edited

Legend:

Unmodified
Added
Removed
  • branches/pap/dbconfig/changes.txt

    r23532 r23677  
    905905ALTER TABLE chipProcessedImfile ADD COLUMN quality SMALLINT AFTER fault;
    906906ALTER TABLE rawImfile ADD COLUMN quality SMALLINT AFTER fault;
     907
     908ALTER TABLE warpSkyfile DROP COLUMN ignored;
     909
     910ALTER TABLE diffSkyfile ADD KEY(quality);
     911ALTER TABLE stackSumSkyfile ADD KEY(quality);
     912ALTER TABLE warpSkyfile ADD KEY(quality);
     913ALTER TABLE camProcessedExp ADD KEY(quality);
     914ALTER TABLE chipProcessedImfile ADD KEY(quality);
     915ALTER TABLE rawImfile ADD KEY(quality);
  • branches/pap/dbconfig/warp.md

    r23532 r23677  
    5555    ymin           S32      0
    5656    ymax           S32      0
    57     ignored        BOOL     f       # Key
    5857    fault          S16      0       # Key
    5958    quality        S16      0
  • branches/pap/ippScripts/scripts/warp_skycell.pl

    r23653 r23677  
    175175# Run pswarp
    176176my $cmdflags;
    177 my $accept = 1;                 # Accept the skycell?
    178177my $do_stats;
    179178unless ($no_op) {
     
    215214
    216215    if ($do_stats) {
    217         # Check first for the stats file, and if the ACCEPT flag is set.
     216        # Check first for the stats file
    218217        my $outputStatsReal = $ipprc->file_resolve($outputStats);
    219218        &my_die("Couldn't find expected output file: $outputStats", $warp_id, $skycell_id, $tess_dir, $PS_EXIT_SYS_ERROR) unless -f $outputStatsReal;
     
    234233        my ($quality) = $cmdflags =~ /-quality (\d+)/; # Quality flag
    235234
    236         if (!$quality and $cmdflags =~ /-accept/) {
     235        if (!$quality) {
    237236            &my_die("Couldn't find expected output file: $outputImage", $warp_id, $skycell_id, $tess_dir, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputImage);
    238237            &my_die("Couldn't find expected output file: $outputMask", $warp_id, $skycell_id, $tess_dir, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputMask);
     
    251250            $command .= " -magicked" if $magicked;
    252251
    253             $command .= " -uri $outputImage" if $accept;
     252            $command .= " -uri $outputImage" if !$quality;
    254253            $command .= (" -dtime_script " . ((DateTime->now->mjd - $mjd_start) * 86400));
    255             $command .= " $cmdflags" if $accept;
     254            $command .= " $cmdflags";
    256255            $command .= " -hostname $host"   if defined $host;
    257256            $command .= " -dbname $dbname"   if defined $dbname;
  • branches/pap/ippTools/share/difftool_definebyquery.sql

    r23581 r23677  
    3838    WHERE
    3939        warpSkyfile.fault = 0
    40         AND warpSkyfile.ignored = 0
    4140        AND warpSkyfile.quality = 0
    4241    -- warpsToDiff WHERE hook %s
     
    5251    WHERE stackRun.state = 'full'
    5352        AND stackSumSkyfile.fault = 0
     53        AND stackSumSkyfile.quality = 0
    5454    -- stacksForDiff WHERE hook %s
    5555    GROUP BY
  • branches/pap/ippTools/share/difftool_definebyquery_part1.sql

    r23619 r23677  
    1     SELECT
    2         exp_id,
    3         warp_id,
    4         rawExp.filter,
    5         warpRun.label,
    6         warpRun.tess_id,
    7         count(skycell_id) as skycell_count
    8     FROM warpRun
    9     JOIN warpSkyfile USING(warp_id)
    10     JOIN fakeRun USING(fake_id)
    11     JOIN camRun USING(cam_id)
    12     JOIN chipRun USING (chip_id)
    13     JOIN rawExp USING(exp_id)
    14     LEFT JOIN diffRun USING(exp_id)
    15 
    16     WHERE
    17         warpSkyfile.fault = 0
    18         AND warpSkyfile.ignored = 0
    19         AND warpSkyfile.quality = 0
    20         -- warp where hook %s
    21         -- exp where hook %s
    22         -- diff where hook %s
    23 
    24     GROUP BY exp_id, warp_id DESC
     1SELECT
     2    exp_id,
     3    warp_id,
     4    rawExp.filter,
     5    warpRun.label,
     6    warpRun.tess_id,
     7    COUNT(skycell_id) as skycell_count
     8FROM warpRun
     9JOIN warpSkyfile USING(warp_id)
     10JOIN fakeRun USING(fake_id)
     11JOIN camRun USING(cam_id)
     12JOIN chipRun USING(chip_id)
     13JOIN rawExp USING(exp_id)
     14LEFT JOIN diffRun USING(exp_id)
     15WHERE
     16    warpSkyfile.fault = 0
     17    AND warpSkyfile.quality = 0
     18    -- warp where hook %s
     19    -- exp where hook %s
     20    -- diff where hook %s
     21GROUP BY exp_id, warp_id DESC
  • branches/pap/ippTools/share/difftool_definebyquery_part2.sql

    r21308 r23677  
    11-- insert skycells to diff
    22INSERT INTO skycellsToDiff
     3SELECT
     4    0,                      -- diff_id
     5    warpSkyfile.skycell_id,
     6    warpSkyfile.warp_id,    -- warp1
     7    NULL,                   -- stack1
     8    NULL,                   -- warp2
     9    max_stack_id,           -- stack2
     10    warpSkyfile.tess_id,
     11    0
     12FROM warpSkyfile
     13JOIN warpRun USING(warp_id)
     14LEFT JOIN (
    315    SELECT
    4         0,                      -- diff_id
    5         warpSkyfile.skycell_id,
    6         warpSkyfile.warp_id,    -- warp1
    7         NULL,                   -- stack1
    8         NULL,                   -- warp2
    9         max_stack_id,           -- stack2
    10         warpSkyfile.tess_id,
    11         0
    12         FROM warpSkyfile
    13         JOIN warpRun USING(warp_id)
    14         LEFT JOIN (
    15             SELECT
    16                 MAX(stack_id) AS max_stack_id, -- most recent stack, by virtue of auto-increment
    17                 stackRun.skycell_id,
    18                 stackRun.tess_id,
    19                 filter
    20             FROM stackRun
    21             JOIN stackSumSkyfile USING(stack_id)
    22             WHERE stackSumSkyfile.fault = 0
    23                 AND stackRun.state = 'full'
    24             -- stacks where hook %s
    25             GROUP BY
    26                 skycell_id,
    27                 filter
    28             ) as bestStacks
    29         USING(skycell_id)
    30         WHERE
    31             warpSkyfile.warp_id = %lld
    32             AND ignored = 0
    33             AND filter = '%s'
    34             AND warpSkyfile.tess_id = bestStacks.tess_id
    35         -- (good fraction test goes here for example also above)
    36         -- warp where hook %s
     16        MAX(stack_id) AS max_stack_id, -- most recent stack, by virtue of auto-increment
     17        stackRun.skycell_id,
     18        stackRun.tess_id,
     19        filter
     20    FROM stackRun
     21    JOIN stackSumSkyfile USING(stack_id)
     22    WHERE stackSumSkyfile.fault = 0
     23        AND stackSumSkyfile.quality = 0
     24        AND stackRun.state = 'full'
     25    -- stacks where hook %s
     26    GROUP BY
     27        skycell_id,
     28        filter
     29    ) as bestStacks USING(skycell_id)
     30WHERE
     31    warpSkyfile.warp_id = %lld
     32    AND warpSkyfile.fault = 0
     33    AND warpSkyfile.quality = 0
     34    AND filter = '%s'
     35    AND warpSkyfile.tess_id = bestStacks.tess_id
     36-- warp where hook %s
  • branches/pap/ippTools/share/difftool_definewarpwarp_insert.sql

    r23504 r23677  
    1111FROM warpSkyfile AS inputWarpSkyfile
    1212JOIN warpSkyfile AS templateWarpSkyfile USING(skycell_id, tess_id)
    13 WHERE inputWarpSkyfile.ignored = 0
    14     AND templateWarpSkyfile.ignored = 0
     13WHERE inputWarpSkyfile.quality = 0
     14    AND templateWarpSkyfile.quality = 0
    1515    AND inputWarpSkyfile.warp_id = %s
    1616    AND templateWarpSkyfile.warp_id = %s
  • branches/pap/ippTools/share/difftool_todiffskyfile.sql

    r21308 r23677  
    6363    AND diffSkyfile.diff_id IS NULL)
    6464    OR (diffRun.state = 'update'
    65     AND diffSkyfile.fault = 0)
     65    AND diffSkyfile.fault = 0
     66    AND diffSkyfile.quality = 0)
    6667    )
    6768-- Ensure input warps are available
     
    6970    OR (warpRun.state = 'full'
    7071    AND warpSkyfile.fault = 0
    71     AND warpSkyfile.ignored = 0))
     72    AND warpSkyfile.quality = 0))
    7273-- Ensure input stacks are available
    7374    AND (diffInputSkyfile.stack1 IS NULL
    7475    OR (stackRun.state = 'full'
    75     AND stackSumSkyfile.fault = 0))
     76    AND stackSumSkyfile.fault = 0
     77    AND stackSumSkyfile.quality = 0))
    7678-- Ensure template warps are available
    7779    AND (diffInputSkyfile.warp2 IS NULL
    7880    OR (warpTemplateRun.state = 'full'
    7981    AND warpTemplateSkyfile.fault = 0
    80     AND warpTemplateSkyfile.ignored = 0))
     82    AND warpTemplateSkyfile.quality = 0))
    8183-- Ensure template stacks are available
    8284    AND (diffInputSkyfile.stack2 IS NULL
    8385    OR (stackTemplateRun.state = 'full'
    84     AND stackTemplateSkyfile.fault = 0))
     86    AND stackTemplateSkyfile.fault = 0
     87    AND stackTemplateSkyfile.quality = 0))
    8588
    8689
  • branches/pap/ippTools/share/disttool_toadvance.sql

    r23245 r23677  
    77    (
    88-- raw stage
    9 SELECT 
     9SELECT
    1010    distRun.dist_id,
    1111    stage,
     
    2929UNION
    3030-- chip stage
    31 SELECT 
     31SELECT
    3232    distRun.dist_id,
    3333    stage,
     
    5151UNION
    5252-- warp stage
    53 SELECT 
     53SELECT
    5454    distRun.dist_id,
    5555    stage,
     
    6666        AND distRun.stage = 'warp'
    6767--        AND warpSkyfile.fault = 0
    68 --        AND warpSkyfile.ignored = 0
     68--        AND warpSkyfile.quality = 0
    6969    GROUP BY
    7070        distRun.dist_id,
     
    9999UNION
    100100-- stack stage
    101 SELECT 
     101SELECT
    102102    distRun.dist_id,
    103103    stage,
  • branches/pap/ippTools/share/magicdstool_completed_runs.sql

    r23389 r23677  
    44    (
    55-- raw stage
    6 SELECT 
     6SELECT
    77    magicDSRun.magic_ds_id
    88    FROM magicDSRun
     
    2222UNION
    2323-- chip stage
    24 SELECT 
     24SELECT
    2525    magicDSRun.magic_ds_id
    2626    FROM magicDSRun
     
    4040UNION
    4141-- warp stage
    42 SELECT 
     42SELECT
    4343    magicDSRun.magic_ds_id
    4444    FROM magicDSRun
     
    5151        AND magicDSRun.stage = 'warp'
    5252        AND warpSkyfile.fault = 0
    53         AND warpSkyfile.ignored = 0
     53        AND warpSkyfile.quality = 0
    5454    GROUP BY
    5555        magicDSRun.magic_ds_id,
     
    7575        AND magicDSRun.stage = 'diff'
    7676        AND diffSkyfile.fault = 0
     77        AND diffSkyfile.quality = 0
    7778    GROUP BY
    7879        magicDSRun.magic_ds_id,
  • branches/pap/ippTools/share/magicdstool_getskycells.sql

    r20973 r23677  
    2121    ON warpSkyfile.warp_id = warpSkyCellMap.warp_id
    2222    AND warpSkyfile.skycell_id = warpSkyCellMap.skycell_id
    23     AND warpSkyfile.ignored = 0
     23    AND warpSkyfile.quality = 0
    2424WHERE
    2525    diffSkyfile.fault = 0
     26    AND diffSkyfile.quality = 0
    2627    AND magic_ds_id = %lld
  • branches/pap/ippTools/share/magicdstool_todestreak.sql

    r23389 r23677  
    6161    AND chipRun.state = 'full'
    6262    AND chipProcessedImfile.fault = 0
     63    AND chipProcessedImfile.quality = 0
    6364    AND magicDSFile.component IS NULL
    6465UNION
     
    9596    AND warpRun.state = 'full'
    9697    AND warpSkyfile.fault = 0
    97     AND warpSkyfile.ignored = 0
     98    AND warpSkyfile.quality = 0
    9899    AND magicDSFile.component IS NULL
    99100UNION
     
    130131    AND magicDSRun.stage = 'diff'
    131132    AND diffSkyfile.fault = 0
     133    AND diffSkyfile.quality = 0
    132134    AND magicDSFile.component IS NULL
    133135) as Foo
  • branches/pap/ippTools/share/magictool_chipprocessedimfile.sql

    r23389 r23677  
    2626    chipRun.state = 'full'
    2727    AND chipProcessedImfile.fault = 0
     28    AND chipProcessedImfile.quality = 0
    2829--   AND magicRun.state = 'full'
    2930--   AND magicMask.fault = 0
  • branches/pap/ippTools/share/magictool_definebyquery.sql

    r20743 r23677  
    4545WHERE
    4646    diffSkyfile.fault = 0
     47    AND diffSkyfile.quality = 0
    4748-- WHERE hook %s
    48 AND exp_id = 36475
    49 AND diffRun.label = 'magic_2008-11-12'
     49    AND exp_id = 36475
     50    AND diffRun.label = 'magic_2008-11-12'
    5051GROUP BY
    5152    exp_id,
     
    7980    JOIN diffRun USING(diff_id)
    8081    WHERE
    81         warpSkyfile.ignored = 0
     82        warpSkyfile.quality = 0
    8283        -- magicSkycellNums WHERE hook %s
    8384AND exp_id = 36475
  • branches/pap/ippTools/share/magictool_definebyquery_insert.sql

    r20973 r23677  
    99    diff_id = @DIFF_ID@ -- Update this with the appropriate diff_id
    1010    AND fault = 0
     11    AND quality = 0
  • branches/pap/ippTools/share/magictool_definebyquery_select_test.sql

    r20475 r23677  
    2525    JOIN warpSkyfile USING(warp_id, skycell_id)
    2626    WHERE
    27         warpSkyfile.ignored = 0
     27        warpSkyfile.quality = 0
    2828        AND warpRun.state = 'full'
    2929    -- INSERT HERE any additional restrictions (e.g., exp_id, warpSkyfile.good_frac)
  • branches/pap/ippTools/share/magictool_definebyquery_temp_insert.sql

    r20973 r23677  
    2020WHERE
    2121    diffSkyfile.fault = 0
     22    AND diffSkyfile.quality = 0
    2223-- WHERE hook %s
    2324GROUP BY
  • branches/pap/ippTools/share/magictool_diffskyfile.sql

    r23389 r23677  
    2020    ON warpSkyfile.warp_id = warpSkyCellMap.warp_id
    2121    AND warpSkyfile.skycell_id = warpSkyCellMap.skycell_id
    22     AND warpSkyfile.ignored = 0
     22    AND warpSkyfile.quality = 0
    2323WHERE
    2424    diffRun.state = 'full'
    2525    AND diffSkyfile.fault = 0
     26    AND diffSkyfile.quality = 0
    2627--   AND magicRun.state = 'full'
    2728--   AND magicMask.fault = 0
  • branches/pap/ippTools/share/magictool_inputs.sql

    r20973 r23677  
    1010    diffSkyfile.path_base,
    1111    diffSkyfile.fault
     12    diffSkyfile.quality
    1213FROM magicRun
    1314JOIN magicInputSkyfile
     
    3536WHERE
    3637    fault = 0
     38    AND quality = 0
  • branches/pap/ippTools/share/magictool_warpskyfile.sql

    r23389 r23677  
    2121    warpRun.state = 'full'
    2222    AND warpSkyfile.fault = 0
     23    AND warpSkyfile.quality = 0
    2324--   AND magicRun.state = 'full'
    2425--   AND magicMask.fault = 0
  • branches/pap/ippTools/share/pxadmin_create_tables.sql

    r23532 r23677  
    1818    epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    1919    PRIMARY KEY(exp_name, camera, telescope),
    20     KEY(fault))
    21 ENGINE=innodb DEFAULT CHARSET=latin1;
     20    KEY(fault)
     21) ENGINE=innodb DEFAULT CHARSET=latin1;
    2222
    2323CREATE TABLE summitImfile (
     
    3434    PRIMARY KEY(exp_name, camera, telescope, class, class_id),
    3535    KEY(file_id),
    36     FOREIGN KEY (exp_name, camera, telescope)
    37         REFERENCES  summitExp(exp_name, camera, telescope))
    38 ENGINE=innodb DEFAULT CHARSET=latin1;
     36    FOREIGN KEY(exp_name, camera, telescope) REFERENCES summitExp(exp_name, camera, telescope)
     37) ENGINE=innodb DEFAULT CHARSET=latin1;
    3938
    4039CREATE TABLE pzDownloadExp (
     
    4645    PRIMARY KEY(exp_name, camera, telescope),
    4746    KEY(state),
    48     FOREIGN KEY (exp_name, camera, telescope)
    49         REFERENCES  summitExp(exp_name, camera, telescope))
    50 ENGINE=innodb DEFAULT CHARSET=latin1;
     47    FOREIGN KEY(exp_name, camera, telescope) REFERENCES summitExp(exp_name, camera, telescope)
     48) ENGINE=innodb DEFAULT CHARSET=latin1;
    5149
    5250CREATE TABLE pzDownloadImfile (
     
    6260    PRIMARY KEY(exp_name, camera, telescope, class, class_id),
    6361    KEY(fault),
    64     FOREIGN KEY (exp_name, camera, telescope)
    65         REFERENCES  pzDownloadExp(exp_name, camera, telescope),
    66     FOREIGN KEY (exp_name, camera, telescope, class, class_id)
    67         REFERENCES  summitImfile(exp_name, camera, telescope, class, class_id)) ENGINE=innodb DEFAULT CHARSET=latin1;
     62    FOREIGN KEY (exp_name, camera, telescope) REFERENCES pzDownloadExp(exp_name, camera, telescope),
     63    FOREIGN KEY(exp_name, camera, telescope, class, class_id) REFERENCES summitImfile(exp_name, camera, telescope, class, class_id)
     64) ENGINE=innodb DEFAULT CHARSET=latin1;
    6865
    6966CREATE TABLE newExp (
     
    9895    epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    9996    PRIMARY KEY(exp_id, tmp_class_id),
    100     FOREIGN KEY (exp_id)
    101         REFERENCES  newExp(exp_id))
    102 ENGINE=innodb DEFAULT CHARSET=latin1;
     97    FOREIGN KEY(exp_id) REFERENCES newExp(exp_id)
     98) ENGINE=innodb DEFAULT CHARSET=latin1;
    10399
    104100CREATE TABLE rawExp (
     
    172168    KEY(end_stage),
    173169    KEY(fault),
    174     FOREIGN KEY (exp_id)
    175         REFERENCES  newExp(exp_id))
    176 ENGINE=innodb DEFAULT CHARSET=latin1;
     170    FOREIGN KEY(exp_id) REFERENCES newExp(exp_id)
     171) ENGINE=innodb DEFAULT CHARSET=latin1;
    177172
    178173CREATE TABLE rawImfile (
     
    246241    KEY(fault),
    247242    KEY(raw_image_id),
     243    KEY(quality),
    248244    UNIQUE KEY(exp_id, tmp_class_id),
    249     FOREIGN KEY (exp_id, tmp_class_id)
    250         REFERENCES newImfile(exp_id, tmp_class_id))
    251 ENGINE=innodb DEFAULT CHARSET=latin1;
     245    FOREIGN KEY(exp_id, tmp_class_id) REFERENCES newImfile(exp_id, tmp_class_id)
     246) ENGINE=innodb DEFAULT CHARSET=latin1;
    252247
    253248CREATE TABLE chipRun (
     
    272267    KEY(end_stage),
    273268    INDEX(chip_id, exp_id),
    274     FOREIGN KEY (exp_id)
    275         REFERENCES rawExp(exp_id))
    276 ENGINE=innodb DEFAULT CHARSET=latin1;
     269    FOREIGN KEY(exp_id) REFERENCES rawExp(exp_id)
     270) ENGINE=innodb DEFAULT CHARSET=latin1;
    277271
    278272CREATE TABLE chipImfile (
     
    282276    PRIMARY KEY(chip_id, class_id),
    283277    KEY(chip_imfile_id),
    284     FOREIGN KEY (chip_id) REFERENCES  chipRun(chip_id))
    285 ENGINE=innodb DEFAULT CHARSET=latin1;
     278    FOREIGN KEY(chip_id) REFERENCES chipRun(chip_id)
     279) ENGINE=innodb DEFAULT CHARSET=latin1;
    286280
    287281CREATE TABLE chipProcessedImfile (
     
    348342    KEY(data_state),
    349343    KEY(fault),
    350     FOREIGN KEY (chip_id, exp_id) REFERENCES  chipRun(chip_id, exp_id),
    351     FOREIGN KEY (exp_id, class_id) REFERENCES  rawImfile(exp_id, class_id))
    352 ENGINE=innodb DEFAULT CHARSET=latin1;
     344    KEY(quality),
     345    FOREIGN KEY(chip_id, exp_id) REFERENCES chipRun(chip_id, exp_id),
     346    FOREIGN KEY(exp_id, class_id) REFERENCES rawImfile(exp_id, class_id)
     347) ENGINE=innodb DEFAULT CHARSET=latin1;
    353348
    354349CREATE TABLE chipMask (
    355350    label VARCHAR(64),
    356     PRIMARY KEY(label))
    357 ENGINE=innodb DEFAULT CHARSET=latin1;
     351    PRIMARY KEY(label)
     352) ENGINE=innodb DEFAULT CHARSET=latin1;
    358353
    359354CREATE TABLE camRun (
     
    378373    KEY(end_stage),
    379374    INDEX(cam_id, chip_id),
    380     FOREIGN KEY (chip_id)
    381         REFERENCES chipRun(chip_id))
    382 ENGINE=innodb DEFAULT CHARSET=latin1;
     375    FOREIGN KEY(chip_id) REFERENCES chipRun(chip_id)
     376) ENGINE=innodb DEFAULT CHARSET=latin1;
    383377
    384378CREATE TABLE camProcessedExp (
     
    446440    PRIMARY KEY(cam_id),
    447441    KEY(fault),
    448     FOREIGN KEY (cam_id)
    449         REFERENCES camRun(cam_id))
    450 ENGINE=innodb DEFAULT CHARSET=latin1;
     442    KEY(quality),
     443    FOREIGN KEY(cam_id) REFERENCES camRun(cam_id)
     444) ENGINE=innodb DEFAULT CHARSET=latin1;
    451445
    452446CREATE TABLE camMask (
    453447    label VARCHAR(64),
    454     PRIMARY KEY(label))
    455 ENGINE=innodb DEFAULT CHARSET=latin1;
     448    PRIMARY KEY(label)
     449) ENGINE=innodb DEFAULT CHARSET=latin1;
    456450
    457451CREATE TABLE fakeRun (
     
    474468    KEY(end_stage),
    475469    INDEX(fake_id, cam_id),
    476     FOREIGN KEY (cam_id)
    477         REFERENCES camRun(cam_id))
    478 ENGINE=innodb DEFAULT CHARSET=latin1;
     470    FOREIGN KEY(cam_id) REFERENCES camRun(cam_id)
     471) ENGINE=innodb DEFAULT CHARSET=latin1;
    479472
    480473CREATE TABLE fakeProcessedImfile (
     
    492485    PRIMARY KEY(fake_id, exp_id, class_id),
    493486    KEY(fault),
    494     FOREIGN KEY (fake_id)
    495         REFERENCES fakeRun(fake_id),
    496     FOREIGN KEY (exp_id, class_id)
    497         REFERENCES rawImfile(exp_id, class_id))
    498 ENGINE=innodb DEFAULT CHARSET=latin1;
     487    FOREIGN KEY(fake_id) REFERENCES fakeRun(fake_id),
     488    FOREIGN KEY(exp_id, class_id) REFERENCES rawImfile(exp_id, class_id)
     489) ENGINE=innodb DEFAULT CHARSET=latin1;
    499490
    500491CREATE TABLE fakeMask (
    501492    label VARCHAR(64),
    502     PRIMARY KEY(label))
    503 ENGINE=innodb DEFAULT CHARSET=latin1;
     493    PRIMARY KEY(label)
     494) ENGINE=innodb DEFAULT CHARSET=latin1;
    504495
    505496CREATE TABLE detRun (
     
    534525    ref_det_id BIGINT,
    535526    ref_iter INT,
    536     -- parent INT, :: dropping this
    537527    PRIMARY KEY(det_id),
    538528    KEY(det_id),
     
    542532    KEY(state),
    543533    KEY(label),
    544     -- KEY(parent), :: dropping this
    545     INDEX(det_id, iteration))
    546 ENGINE=innodb DEFAULT CHARSET=latin1;
     534    INDEX(det_id, iteration)
     535) ENGINE=innodb DEFAULT CHARSET=latin1;
    547536
    548537CREATE TABLE detInputExp (
    549 det_id BIGINT,
    550 iteration INT,
    551 exp_id BIGINT,
    552 include TINYINT,
    553 PRIMARY KEY(det_id, iteration, exp_id),
    554 INDEX(det_id, exp_id),
    555 INDEX(det_id, iteration),
    556 FOREIGN KEY (det_id)
    557 REFERENCES  detRun(det_id),
    558 FOREIGN KEY (exp_id)
    559 REFERENCES  rawExp(exp_id))
    560 ENGINE=innodb DEFAULT CHARSET=latin1;
     538    det_id BIGINT,
     539    iteration INT,
     540    exp_id BIGINT,
     541    include TINYINT,
     542    PRIMARY KEY(det_id, iteration, exp_id),
     543    INDEX(det_id, exp_id),
     544    INDEX(det_id, iteration),
     545    FOREIGN KEY(det_id) REFERENCES detRun(det_id),
     546    FOREIGN KEY(exp_id) REFERENCES rawExp(exp_id)
     547) ENGINE=innodb DEFAULT CHARSET=latin1;
    561548
    562549CREATE TABLE detProcessedImfile (
     
    584571    INDEX(det_id, class_id),
    585572    INDEX(det_id, exp_id),
    586     FOREIGN KEY (det_id, exp_id)
    587         REFERENCES  detInputExp(det_id, exp_id),
    588     FOREIGN KEY (exp_id, class_id)
    589         REFERENCES  rawImfile(exp_id, class_id)
     573    FOREIGN KEY(det_id, exp_id) REFERENCES detInputExp(det_id, exp_id),
     574    FOREIGN KEY(exp_id, class_id) REFERENCES rawImfile(exp_id, class_id)
    590575) ENGINE=innodb DEFAULT CHARSET=latin1;
    591576
     
    610595    PRIMARY KEY(det_id, exp_id),
    611596    KEY(fault),
    612     FOREIGN KEY (det_id, exp_id)
    613         REFERENCES  detInputExp(det_id, exp_id),
    614     FOREIGN KEY (det_id, exp_id)
    615         REFERENCES  detProcessedImfile(det_id, exp_id)
     597    FOREIGN KEY(det_id, exp_id) REFERENCES detInputExp(det_id, exp_id),
     598    FOREIGN KEY(det_id, exp_id) REFERENCES detProcessedImfile(det_id, exp_id)
    616599) ENGINE=innodb DEFAULT CHARSET=latin1;
    617600
     
    634617    PRIMARY KEY(det_id, iteration, class_id),
    635618    KEY(fault),
    636     FOREIGN KEY (det_id, iteration)
    637         REFERENCES  detInputExp(det_id, iteration),
    638     FOREIGN KEY (det_id, class_id)
    639         REFERENCES  detProcessedImfile(det_id, class_id)
     619    FOREIGN KEY(det_id, iteration) REFERENCES detInputExp(det_id, iteration),
     620    FOREIGN KEY(det_id, class_id) REFERENCES detProcessedImfile(det_id, class_id)
    640621) ENGINE=innodb DEFAULT CHARSET=latin1;
    641622
     
    649630    PRIMARY KEY(det_id, iteration, class_id),
    650631    KEY(fault),
    651     FOREIGN KEY (det_id, iteration)
    652     REFERENCES  detInputExp(det_id, iteration),
    653     FOREIGN KEY (det_id, iteration, class_id)
    654     REFERENCES  detStackedImfile(det_id, iteration, class_id)
     632    FOREIGN KEY(det_id, iteration) REFERENCES detInputExp(det_id, iteration),
     633    FOREIGN KEY(det_id, iteration, class_id) REFERENCES  detStackedImfile(det_id, iteration, class_id)
    655634) ENGINE=innodb DEFAULT CHARSET=latin1;
    656635
     
    674653    KEY(fault),
    675654    INDEX(det_id, iteration),
    676     FOREIGN KEY (det_id)
    677     REFERENCES  detInputExp(det_id),
    678     FOREIGN KEY (det_id, iteration, class_id)
    679     REFERENCES  detNormalizedStatImfile(det_id, iteration, class_id)
     655    FOREIGN KEY(det_id) REFERENCES detInputExp(det_id),
     656    FOREIGN KEY(det_id, iteration, class_id) REFERENCES detNormalizedStatImfile(det_id, iteration, class_id)
    680657) ENGINE=innodb DEFAULT CHARSET=latin1;
    681658
     
    697674    PRIMARY KEY(det_id, iteration),
    698675    KEY(fault),
    699     FOREIGN KEY (det_id, iteration)
    700     REFERENCES  detInputExp(det_id, iteration),
    701     FOREIGN KEY (det_id, iteration)
    702     REFERENCES  detNormalizedImfile(det_id, iteration)
     676    FOREIGN KEY(det_id, iteration) REFERENCES detInputExp(det_id, iteration),
     677    FOREIGN KEY(det_id, iteration) REFERENCES detNormalizedImfile(det_id, iteration)
    703678) ENGINE=innodb DEFAULT CHARSET=latin1;
    704679
     
    735710    KEY(fault),
    736711    INDEX(det_id, iteration, exp_id),
    737     FOREIGN KEY (det_id, iteration, exp_id)
    738     REFERENCES  detInputExp(det_id, iteration, exp_id),
    739     FOREIGN KEY (det_id, exp_id, class_id)
    740     REFERENCES  detProcessedImfile(det_id, exp_id, class_id)
     712    FOREIGN KEY (det_id, iteration, exp_id) REFERENCES detInputExp(det_id, iteration, exp_id),
     713    FOREIGN KEY (det_id, exp_id, class_id) REFERENCES detProcessedImfile(det_id, exp_id, class_id)
    741714) ENGINE=innodb DEFAULT CHARSET=latin1;
    742715
     
    770743       KEY(fault),
    771744       INDEX(det_id, iteration),
    772        FOREIGN KEY (det_id, iteration, exp_id)
    773        REFERENCES  detInputExp(det_id, iteration, exp_id),
    774        FOREIGN KEY (det_id, iteration, exp_id)
    775        REFERENCES  detResidImfile(det_id, iteration, exp_id)
     745       FOREIGN KEY(det_id, iteration, exp_id) REFERENCES detInputExp(det_id, iteration, exp_id),
     746       FOREIGN KEY(det_id, iteration, exp_id) REFERENCES detResidImfile(det_id, iteration, exp_id)
    776747) ENGINE=innodb DEFAULT CHARSET=latin1;
    777748
     
    787758       PRIMARY KEY(det_id, iteration),
    788759       KEY(fault),
    789        FOREIGN KEY (det_id, iteration)
    790          REFERENCES  detInputExp(det_id, iteration),
    791        FOREIGN KEY (det_id, iteration)
    792          REFERENCES  detResidExp(det_id, iteration)
     760       FOREIGN KEY(det_id, iteration) REFERENCES detInputExp(det_id, iteration),
     761       FOREIGN KEY(det_id, iteration) REFERENCES detResidExp(det_id, iteration)
    793762) ENGINE=innodb DEFAULT CHARSET=latin1;
    794763
     
    811780       PRIMARY KEY(det_id, iteration, class_id),
    812781       KEY(fault),
    813        FOREIGN KEY (det_id, iteration)
    814          REFERENCES  detRun(det_id, iteration)
     782       FOREIGN KEY(det_id, iteration) REFERENCES detRun(det_id, iteration)
    815783) ENGINE=innodb DEFAULT CHARSET=latin1;
    816784
     
    837805    KEY(end_stage),
    838806    INDEX(warp_id, fake_id),
    839     FOREIGN KEY (fake_id)
    840         REFERENCES fakeRun(fake_id)
     807    FOREIGN KEY(fake_id) REFERENCES fakeRun(fake_id)
    841808) ENGINE=innodb DEFAULT CHARSET=latin1;
    842809
     
    849816    PRIMARY KEY(warp_id, skycell_id, tess_id, class_id),
    850817    KEY(fault),
    851     FOREIGN KEY (warp_id)
    852         REFERENCES warpRun(warp_id)
     818    FOREIGN KEY(warp_id) REFERENCES warpRun(warp_id)
    853819) ENGINE=innodb DEFAULT CHARSET=latin1;
    854820
     
    859825    PRIMARY KEY(warp_id, skycell_id),
    860826    KEY(warp_skyfile_id),
    861     FOREIGN KEY (warp_id) REFERENCES  warpRun(warp_id))
    862 ENGINE=innodb DEFAULT CHARSET=latin1;
     827    FOREIGN KEY(warp_id) REFERENCES warpRun(warp_id)
     828) ENGINE=innodb DEFAULT CHARSET=latin1;
    863829
    864830
     
    880846    ymin INT,
    881847    ymax INT,
    882     ignored TINYINT,
    883848    quality SMALLINT NOT NULL,
    884849    fault SMALLINT,
     
    886851    PRIMARY KEY(warp_id, skycell_id, tess_id),
    887852    KEY(good_frac),
    888     KEY(ignored), KEY(fault),
    889     FOREIGN KEY (warp_id, skycell_id, tess_id)
    890         REFERENCES warpSkyCellMap(warp_id, skycell_id, tess_id)
     853    KEY(fault),
     854    KEY(quality),
     855    FOREIGN KEY(warp_id, skycell_id, tess_id) REFERENCES warpSkyCellMap(warp_id, skycell_id, tess_id)
    891856) ENGINE=innodb DEFAULT CHARSET=latin1;
    892857
     
    918883        warp_id BIGINT,
    919884        PRIMARY KEY(stack_id, warp_id),
    920         FOREIGN KEY (stack_id)  REFERENCES stackRun(stack_id),
    921         FOREIGN KEY (warp_id)  REFERENCES warpSkyfile(warp_id)
     885        FOREIGN KEY(stack_id) REFERENCES stackRun(stack_id),
     886        FOREIGN KEY(warp_id) REFERENCES warpSkyfile(warp_id)
    922887) ENGINE=innodb DEFAULT CHARSET=latin1;
    923888
     
    954919        KEY(good_frac),
    955920        KEY(fault),
    956         FOREIGN KEY (stack_id)  REFERENCES  stackRun(stack_id)
     921        KEY(quality),
     922        FOREIGN KEY(stack_id) REFERENCES stackRun(stack_id)
    957923) ENGINE=innodb DEFAULT CHARSET=latin1;
    958924
     
    972938        KEY(state),
    973939        KEY(tess_id),
    974         FOREIGN KEY (exp_id) REFERENCES rawExp(exp_id)
     940        FOREIGN KEY(exp_id) REFERENCES rawExp(exp_id)
    975941) ENGINE=innodb DEFAULT CHARSET=latin1;
    976942
     
    992958        KEY(skycell_id),
    993959        KEY(tess_id),
    994         FOREIGN KEY (diff_id)  REFERENCES diffRun(diff_id),
    995         FOREIGN KEY (warp1, skycell_id, tess_id)  REFERENCES warpSkyfile(warp_id, skycell_id, tess_id),
    996         FOREIGN KEY (warp2, skycell_id, tess_id)  REFERENCES warpSkyfile(warp_id, skycell_id, tess_id),
    997         FOREIGN KEY (stack1)  REFERENCES stackSumSkyfile(stack_id),
    998         FOREIGN KEY (stack2)  REFERENCES stackSumSkyfile(stack_id)
     960        FOREIGN KEY(diff_id) REFERENCES diffRun(diff_id),
     961        FOREIGN KEY(warp1, skycell_id, tess_id) REFERENCES warpSkyfile(warp_id, skycell_id, tess_id),
     962        FOREIGN KEY(warp2, skycell_id, tess_id) REFERENCES warpSkyfile(warp_id, skycell_id, tess_id),
     963        FOREIGN KEY(stack1) REFERENCES stackSumSkyfile(stack_id),
     964        FOREIGN KEY(stack2) REFERENCES stackSumSkyfile(stack_id)
    999965) ENGINE=innodb DEFAULT CHARSET=latin1;
    1000966
     
    1029995        KEY(good_frac),
    1030996        KEY(fault),
    1031         FOREIGN KEY (diff_id)  REFERENCES  diffRun(diff_id)
     997        KEY(quality),
     998        FOREIGN KEY(diff_id) REFERENCES diffRun(diff_id)
    1032999) ENGINE=innodb DEFAULT CHARSET=latin1;
    10331000
     
    10491016        KEY(label),
    10501017        KEY(fault),
    1051         FOREIGN KEY (exp_id)  REFERENCES rawExp(exp_id),
    1052         FOREIGN KEY (diff_id) REFERENCES diffRun(diff_id)
     1018        FOREIGN KEY(exp_id)  REFERENCES rawExp(exp_id),
     1019        FOREIGN KEY(diff_id) REFERENCES diffRun(diff_id)
    10531020) ENGINE=innodb DEFAULT CHARSET=latin1;
    10541021
     
    10581025        node VARCHAR(64),
    10591026        PRIMARY KEY(magic_id, diff_id, node),
    1060         FOREIGN KEY (magic_id)  REFERENCES magicRun(magic_id),
    1061         FOREIGN KEY (diff_id) REFERENCES diffRun(diff_id)
     1027        FOREIGN KEY(magic_id) REFERENCES magicRun(magic_id),
     1028        FOREIGN KEY(diff_id) REFERENCES diffRun(diff_id)
    10621029) ENGINE=innodb DEFAULT CHARSET=latin1;
    10631030
     
    10701037        KEY(dep),
    10711038        INDEX(magic_id, node),
    1072         FOREIGN KEY (magic_id)  REFERENCES magicRun(magic_id)
     1039        FOREIGN KEY(magic_id) REFERENCES magicRun(magic_id)
    10731040) ENGINE=innodb DEFAULT CHARSET=latin1;
    10741041
     
    10791046        fault SMALLINT,
    10801047        PRIMARY KEY(magic_id, node),
    1081         FOREIGN KEY (magic_id)  REFERENCES magicRun(magic_id),
    1082         FOREIGN KEY (magic_id, node)  REFERENCES magicTree(magic_id, node),
     1048        FOREIGN KEY(magic_id) REFERENCES magicRun(magic_id),
     1049        FOREIGN KEY(magic_id, node) REFERENCES magicTree(magic_id, node),
    10831050        KEY(fault)
    10841051) ENGINE=innodb DEFAULT CHARSET=latin1;
     
    10901057        fault SMALLINT,
    10911058        PRIMARY KEY(magic_id),
    1092         FOREIGN KEY (magic_id)  REFERENCES magicRun(magic_id),
     1059        FOREIGN KEY(magic_id) REFERENCES magicRun(magic_id),
    10931060        KEY(fault)
    10941061) ENGINE=innodb DEFAULT CHARSET=latin1;
     
    11111078        KEY(magic_id),
    11121079        KEY(label),
    1113         FOREIGN KEY (magic_id)  REFERENCES magicRun(magic_id)
     1080        FOREIGN KEY(magic_id) REFERENCES magicRun(magic_id)
    11141081) ENGINE=innodb DEFAULT CHARSET=latin1;
    11151082
     
    11221089    PRIMARY KEY(magic_ds_id, component),
    11231090    KEY(fault),
    1124     FOREIGN KEY (magic_ds_id) REFERENCES magicDSRun(magic_ds_id)
     1091    FOREIGN KEY(magic_ds_id) REFERENCES magicDSRun(magic_ds_id)
    11251092) ENGINE=innodb DEFAULT CHARSET=latin1;
    11261093
     
    11411108        KEY(cal_id),
    11421109        KEY(last_step),
    1143         FOREIGN KEY (cal_id)  REFERENCES calDB(cal_id)
     1110        FOREIGN KEY(cal_id) REFERENCES calDB(cal_id)
    11441111) ENGINE=innodb DEFAULT CHARSET=latin1;
    11451112
     
    11691136        include TINYINT,
    11701137        PRIMARY KEY(corr_id, chip_id),
    1171         FOREIGN KEY (corr_id)  REFERENCES flatcorrRun(corr_id),
    1172         FOREIGN KEY (chip_id)  REFERENCES chipRun(chip_id)
     1138        FOREIGN KEY(corr_id) REFERENCES flatcorrRun(corr_id),
     1139        FOREIGN KEY(chip_id) REFERENCES chipRun(chip_id)
    11731140) ENGINE=innodb DEFAULT CHARSET=latin1;
    11741141
     
    11791146        include TINYINT,
    11801147        PRIMARY KEY(corr_id, cam_id),
    1181         FOREIGN KEY (corr_id)  REFERENCES flatcorrRun(corr_id),
    1182         FOREIGN KEY (chip_id)  REFERENCES chipRun(chip_id),
    1183         FOREIGN KEY (cam_id)  REFERENCES camRun(cam_id)
     1148        FOREIGN KEY(corr_id) REFERENCES flatcorrRun(corr_id),
     1149        FOREIGN KEY(chip_id) REFERENCES chipRun(chip_id),
     1150        FOREIGN KEY(cam_id) REFERENCES camRun(cam_id)
    11841151) ENGINE=innodb DEFAULT CHARSET=latin1;
    11851152
     
    12331200        PRIMARY KEY(job_id, req_id),
    12341201        KEY(job_id),
    1235         FOREIGN KEY (req_id)  REFERENCES pstampRequest(req_id)
     1202        FOREIGN KEY(req_id) REFERENCES pstampRequest(req_id)
    12361203) ENGINE=innodb DEFAULT CHARSET=latin1;
    12371204
  • branches/pap/ippTools/share/stacktool_definebyquery_insert.sql

    r19258 r23677  
    2121    AND rawExp.filter = '%s'
    2222    AND warpSkyfile.fault = 0
    23     AND warpSkyfile.ignored = 0
     23    AND warpSkyfile.quality = 0
  • branches/pap/ippTools/share/stacktool_definebyquery_insert_random_part1.sql

    r23581 r23677  
    2828        AND rawExp.filter = '%s' -- the result of the query is grouped by filter and inserted for one at a time
    2929        AND warpSkyfile.fault = 0
    30         AND warpSkyfile.ignored = 0
    3130        AND warpSkyfile.quality = 0
    3231-- Put additional constraints here
  • branches/pap/ippTools/share/stacktool_definebyquery_part1.sql

    r23581 r23677  
    2424    WHERE
    2525        warpRun.state = 'full'
    26         AND warpSkyfile.ignored = 0
    2726        AND warpSkyfile.fault = 0
    2827        AND warpSkyfile.quality = 0
  • branches/pap/ippTools/share/stacktool_definebyquery_test.sql

    r19258 r23677  
    3131    WHERE
    3232        warpRun.state = 'full'
    33     AND warpSkyfile.ignored = 0
     33    AND warpSkyfile.quality = 0
    3434    AND warpSkyfile.fault = 0
    3535    -- Any additional selection on warps/exposures goes here
  • branches/pap/ippTools/share/stacktool_find_complete_warps.sql

    r19258 r23677  
    66    COUNT(stackRun.stack_id) AS num_extant
    77FROM warpRun
    8 JOIN warpSkyfile 
     8JOIN warpSkyfile
    99    USING(warp_id)
    1010JOIN fakeRun
     
    2323WHERE
    2424    warpRun.state = 'full'
    25     AND warpSkyfile.ignored = 0
     25    AND warpSkyfile.fault = 0
     26    AND warpSkyfile.quality = 0
    2627GROUP BY
    2728    warpSkyfile.skycell_id, stackRun.stack_id
  • branches/pap/ippTools/share/stacktool_tosum.sql

    r19678 r23677  
    1212    USING(stack_id)
    1313WHERE
    14     ((stackRun.state = 'new'
    15         AND stackSumSkyfile.stack_id IS NULL)
    16     OR
    17     (stackRun.state = 'update'
    18         AND stackSumSkyfile.fault = 0))
     14    ((stackRun.state = 'new' AND stackSumSkyfile.stack_id IS NULL)
     15    OR (stackRun.state = 'update' AND stackSumSkyfile.fault = 0 AND stackSumSkyfile.quality = 0))
  • branches/pap/pswarp/src/pswarpArguments.c

    r23314 r23677  
    163163    }
    164164
    165     float acceptFrac = psMetadataLookupF32(&status, recipe, "ACCEPT.FRAC"); ///< Min fraction of good pixels
    166     if (!status) {
    167         acceptFrac = 0.0;
    168         psWarning("ACCEPT.FRAC is not set in the %s recipe --- defaulting to %f.", PSWARP_RECIPE, poorFrac);
    169     }
    170 
    171165    // Set recipe values in the recipe (since we've possibly altered some)
    172166    psMetadataAddS32(recipe, PS_LIST_TAIL, "GRID.NX", PS_META_REPLACE,
     
    180174    psMetadataAddF32(recipe, PS_LIST_TAIL, "POOR.FRAC", PS_META_REPLACE,
    181175                     "Fraction of bad flux for a pixel to be marked as poor", poorFrac);
    182     psMetadataAddF32(recipe, PS_LIST_TAIL, "ACCEPT.FRAC", PS_META_REPLACE,
    183                      "Minimum fraction of good pixels for result to be accepted", acceptFrac);
    184176
    185177    // Set recipe values in the arguments
     
    194186    psMetadataAddF32(config->arguments, PS_LIST_TAIL, "POOR.FRAC", 0,
    195187                     "Fraction of bad flux for a pixel to be marked as poor", poorFrac);
    196     psMetadataAddF32(config->arguments, PS_LIST_TAIL, "ACCEPT.FRAC", 0,
    197                      "Minimum fraction of good pixels for result to be accepted", acceptFrac);
    198188
    199189    psTrace("pswarp", 1, "Done with pswarpArguments...\n");
  • branches/pap/pswarp/src/pswarpErrorCodes.dat

    r11268 r23677  
    99IO                      Problem in FITS I/O
    1010DATA                    Problem in data values
     11NO_OVERLAP              No overlap between input and skycell
  • branches/pap/pswarp/src/pswarpLoop.c

    r23597 r23677  
    274274    }
    275275
     276    if (!output->data_exists) {
     277        psWarning("No overlap between input and skycell.");
     278        if (stats) {
     279            psMetadataAddS32(stats, PS_LIST_TAIL, "QUALITY", PS_META_REPLACE,
     280                             "No overlap between input and skycell", PSWARP_ERR_NO_OVERLAP);
     281        }
     282        psphotFilesActivate(config, false);
     283        psFree(cells);
     284        psFree(view);
     285        return true;
     286    }
     287
    276288    pmCell *outCell = output->parent;   ///< Output cell
    277289    pmChip *outChip = outCell->parent;  ///< Output chip
    278290    pmFPA *outFPA = outChip->parent;    ///< Output FP
    279291
    280     if (!pswarpPixelFraction(output, stats, config)) {
    281         // Don't write output images, and don't bother about anything else
    282         output->data_exists = outCell->data_exists = outChip->data_exists = false;
     292    if (pswarpPixelFraction(output, stats, config)) {
     293        psError(PS_ERR_UNKNOWN, false, "Unable to calculate pixel regions.");
    283294        psFree(cells);
    284295        psFree(view);
    285         goto COMPLETED;
     296        return false;
    286297    }
    287298
     
    457468    // Now done with the skycell side of things
    458469
    459     COMPLETED:
    460470    // Write out summary statistics
    461471    if (stats) {
  • branches/pap/pswarp/src/pswarpPixelFraction.c

    r21323 r23677  
    3434    PS_ASSERT_IMAGE_TYPE(readout->mask, PS_TYPE_IMAGE_MASK, false);
    3535
    36     if (stats) {
    37         PS_ASSERT_METADATA_NON_NULL(stats, false);
     36    if (!stats) {
     37        // No point in continuing --- we record results to the statistics
     38        return true;
    3839    }
    3940    PS_ASSERT_PTR_NON_NULL(config, false);
    4041    PS_ASSERT_METADATA_NON_NULL(config->arguments, false);
    4142
    42     bool status;
    43 
    44     float minFrac = psMetadataLookupF32(NULL, config->arguments, "ACCEPT.FRAC"); ///< Minimum fraction
     43    bool status;
    4544
    4645    // load the recipe
     
    5251
    5352    // output mask bits
    54     psImageMaskType maskValue = psMetadataLookupImageMask(&status, recipe, "MASK.OUTPUT"); 
     53    psImageMaskType maskValue = psMetadataLookupImageMask(&status, recipe, "MASK.OUTPUT");
    5554    psAssert (status, "MASK.OUTPUT was not defined");
    5655
     
    5958
    6059    int numCols = image->numCols, numRows = image->numRows; ///< Size of image
    61     long numPix = numCols * numRows;
    6260
    6361    // Range of valid pixels
    6462    int xMin = INT_MAX, xMax = -INT_MAX, yMin = INT_MAX, yMax = -INT_MAX;
    6563
    66     long numBad = 0;                     ///< Number of bad pixels
     64    long numGood = 0;                   ///< Number of bad pixels
    6765    for (int y = 0; y < numRows; y++) {
    6866        for (int x = 0; x < numCols; x++) {
    69             if (mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] & maskValue) {
    70                 numBad++;
    71             } else {
     67            if (!(mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] & maskValue))
    7268                if (y > yMax) {
    7369                    yMax = y;
     
    8682    }
    8783
    88     float goodFrac = (numPix - numBad) / (float)numPix; ///< Fraction of good pixels
    89     bool accept = (goodFrac >= minFrac ? true : false); ///< Accept this readout?
    90 
    9184    if (stats) {
    92         psMetadataAddBool(stats, PS_LIST_HEAD, "ACCEPT", 0, "Accept this readout?", accept);
    93 
    9485        psMetadataAddS32(stats, PS_LIST_TAIL, "RANGE.XMIN", 0, "Minimum valid x value", xMin);
    9586        psMetadataAddS32(stats, PS_LIST_TAIL, "RANGE.XMAX", 0, "Maximum valid x value", xMax);
     
    9889    }
    9990
    100     return accept;
     91    return true;
    10192}
    10293
Note: See TracChangeset for help on using the changeset viewer.