IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 26776


Ignore:
Timestamp:
Feb 4, 2010, 8:59:31 PM (16 years ago)
Author:
Paul Price
Message:

Adding code to tweak background of nominated cells within a chip to match the mean of the rest, which I call 'cell pattern correction'. The old 'pattern correction' has effectively been renamed as 'row pattern correction'.

Location:
branches/eam_branches/20091201
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/20091201/ippconfig/gpc1/ppImage.config

    r26730 r26776  
    2424NOISEMAP                BOOL    FALSE          # Apply read noise map
    2525
    26 PATTERN         BOOL    FALSE   # Do any pattern subtraction at all?
    27 PATTERN.SUBSET  METADATA        # List of chips and whether to do pattern subtraction
     26PATTERN.ROW             BOOL    FALSE   # Do any row pattern correction at all?
     27PATTERN.ROW.SUBSET      METADATA        # List of chips and whether to do row pattern correction
    2828        XY01    BOOL    FALSE
    2929        XY02    BOOL    FALSE
     
    283283END
    284284
     285PATTERN.CELL            BOOL    TRUE    # Do any cell pattern correction at all?
     286PATTERN.CELL.SUBSET     METADATA        # List of chips and whether to do cell pattern correction
     287        XY01    BOOL    FALSE
     288        XY02    BOOL    FALSE
     289        XY03    BOOL    FALSE
     290        XY04    BOOL    FALSE
     291        XY05    BOOL    FALSE
     292        XY06    METADATA
     293                xy00    BOOL    TRUE
     294                xy01    BOOL    FALSE
     295                xy02    BOOL    FALSE
     296                xy03    BOOL    FALSE
     297                xy04    BOOL    FALSE
     298                xy05    BOOL    FALSE
     299                xy06    BOOL    FALSE
     300                xy07    BOOL    FALSE
     301                xy10    BOOL    FALSE
     302                xy11    BOOL    FALSE
     303                xy12    BOOL    FALSE
     304                xy13    BOOL    TRUE
     305                xy14    BOOL    FALSE
     306                xy15    BOOL    FALSE
     307                xy16    BOOL    FALSE
     308                xy17    BOOL    FALSE
     309                xy20    BOOL    FALSE
     310                xy21    BOOL    FALSE
     311                xy22    BOOL    FALSE
     312                xy23    BOOL    FALSE
     313                xy24    BOOL    TRUE
     314                xy25    BOOL    FALSE
     315                xy26    BOOL    TRUE
     316                xy27    BOOL    FALSE
     317                xy30    BOOL    FALSE
     318                xy31    BOOL    TRUE
     319                xy32    BOOL    FALSE
     320                xy33    BOOL    FALSE
     321                xy34    BOOL    FALSE
     322                xy35    BOOL    FALSE
     323                xy36    BOOL    FALSE
     324                xy37    BOOL    FALSE
     325                xy40    BOOL    FALSE
     326                xy41    BOOL    FALSE
     327                xy42    BOOL    FALSE
     328                xy43    BOOL    FALSE
     329                xy44    BOOL    FALSE
     330                xy45    BOOL    FALSE
     331                xy46    BOOL    FALSE
     332                xy47    BOOL    FALSE
     333                xy50    BOOL    FALSE
     334                xy51    BOOL    FALSE
     335                xy52    BOOL    FALSE
     336                xy53    BOOL    FALSE
     337                xy54    BOOL    FALSE
     338                xy55    BOOL    FALSE
     339                xy56    BOOL    FALSE
     340                xy57    BOOL    FALSE
     341                xy60    BOOL    FALSE
     342                xy61    BOOL    FALSE
     343                xy62    BOOL    FALSE
     344                xy63    BOOL    FALSE
     345                xy64    BOOL    FALSE
     346                xy65    BOOL    FALSE
     347                xy66    BOOL    FALSE
     348                xy67    BOOL    FALSE
     349                xy70    BOOL    FALSE
     350                xy71    BOOL    FALSE
     351                xy72    BOOL    FALSE
     352                xy73    BOOL    FALSE
     353                xy74    BOOL    FALSE
     354                xy75    BOOL    FALSE
     355                xy76    BOOL    FALSE
     356                xy77    BOOL    FALSE
     357        END
     358        XY10    BOOL    FALSE
     359        XY11    BOOL    FALSE
     360        XY12    BOOL    FALSE
     361        XY13    BOOL    FALSE
     362        XY14    METADATA
     363                xy00    BOOL    FALSE
     364                xy01    BOOL    FALSE
     365                xy02    BOOL    FALSE
     366                xy03    BOOL    FALSE
     367                xy04    BOOL    FALSE
     368                xy05    BOOL    FALSE
     369                xy06    BOOL    FALSE
     370                xy07    BOOL    FALSE
     371                xy10    BOOL    FALSE
     372                xy11    BOOL    FALSE
     373                xy12    BOOL    FALSE
     374                xy13    BOOL    FALSE
     375                xy14    BOOL    FALSE
     376                xy15    BOOL    FALSE
     377                xy16    BOOL    FALSE
     378                xy17    BOOL    FALSE
     379                xy20    BOOL    FALSE
     380                xy21    BOOL    FALSE
     381                xy22    BOOL    FALSE
     382                xy23    BOOL    FALSE
     383                xy24    BOOL    FALSE
     384                xy25    BOOL    FALSE
     385                xy26    BOOL    FALSE
     386                xy27    BOOL    FALSE
     387                xy30    BOOL    FALSE
     388                xy31    BOOL    FALSE
     389                xy32    BOOL    FALSE
     390                xy33    BOOL    FALSE
     391                xy34    BOOL    FALSE
     392                xy35    BOOL    FALSE
     393                xy36    BOOL    FALSE
     394                xy37    BOOL    FALSE
     395                xy40    BOOL    FALSE
     396                xy41    BOOL    FALSE
     397                xy42    BOOL    FALSE
     398                xy43    BOOL    FALSE
     399                xy44    BOOL    FALSE
     400                xy45    BOOL    FALSE
     401                xy46    BOOL    FALSE
     402                xy47    BOOL    FALSE
     403                xy50    BOOL    FALSE
     404                xy51    BOOL    FALSE
     405                xy52    BOOL    FALSE
     406                xy53    BOOL    FALSE
     407                xy54    BOOL    FALSE
     408                xy55    BOOL    FALSE
     409                xy56    BOOL    FALSE
     410                xy57    BOOL    TRUE
     411                xy60    BOOL    FALSE
     412                xy61    BOOL    FALSE
     413                xy62    BOOL    FALSE
     414                xy63    BOOL    FALSE
     415                xy64    BOOL    FALSE
     416                xy65    BOOL    FALSE
     417                xy66    BOOL    FALSE
     418                xy67    BOOL    FALSE
     419                xy70    BOOL    FALSE
     420                xy71    BOOL    FALSE
     421                xy72    BOOL    TRUE
     422                xy73    BOOL    FALSE
     423                xy74    BOOL    TRUE
     424                xy75    BOOL    TRUE
     425                xy76    BOOL    FALSE
     426                xy77    BOOL    TRUE
     427        END
     428        XY15    METADATA
     429                xy00    BOOL    FALSE
     430                xy01    BOOL    FALSE
     431                xy02    BOOL    FALSE
     432                xy03    BOOL    FALSE
     433                xy04    BOOL    FALSE
     434                xy05    BOOL    TRUE
     435                xy06    BOOL    TRUE
     436                xy07    BOOL    TRUE
     437                xy10    BOOL    FALSE
     438                xy11    BOOL    FALSE
     439                xy12    BOOL    FALSE
     440                xy13    BOOL    TRUE
     441                xy14    BOOL    TRUE
     442                xy15    BOOL    FALSE
     443                xy16    BOOL    FALSE
     444                xy17    BOOL    FALSE
     445                xy20    BOOL    FALSE
     446                xy21    BOOL    FALSE
     447                xy22    BOOL    FALSE
     448                xy23    BOOL    FALSE
     449                xy24    BOOL    FALSE
     450                xy25    BOOL    TRUE
     451                xy26    BOOL    FALSE
     452                xy27    BOOL    FALSE
     453                xy30    BOOL    FALSE
     454                xy31    BOOL    FALSE
     455                xy32    BOOL    FALSE
     456                xy33    BOOL    FALSE
     457                xy34    BOOL    FALSE
     458                xy35    BOOL    TRUE
     459                xy36    BOOL    FALSE
     460                xy37    BOOL    FALSE
     461                xy40    BOOL    FALSE
     462                xy41    BOOL    FALSE
     463                xy42    BOOL    FALSE
     464                xy43    BOOL    FALSE
     465                xy44    BOOL    TRUE
     466                xy45    BOOL    FALSE
     467                xy46    BOOL    FALSE
     468                xy47    BOOL    TRUE
     469                xy50    BOOL    FALSE
     470                xy51    BOOL    FALSE
     471                xy52    BOOL    FALSE
     472                xy53    BOOL    TRUE
     473                xy54    BOOL    TRUE
     474                xy55    BOOL    TRUE
     475                xy56    BOOL    TRUE
     476                xy57    BOOL    TRUE
     477                xy60    BOOL    FALSE
     478                xy61    BOOL    FALSE
     479                xy62    BOOL    FALSE
     480                xy63    BOOL    TRUE
     481                xy64    BOOL    FALSE
     482                xy65    BOOL    TRUE
     483                xy66    BOOL    FALSE
     484                xy67    BOOL    FALSE
     485                xy70    BOOL    FALSE
     486                xy71    BOOL    FALSE
     487                xy72    BOOL    FALSE
     488                xy73    BOOL    TRUE
     489                xy74    BOOL    TRUE
     490                xy75    BOOL    TRUE
     491                xy76    BOOL    TRUE
     492                xy77    BOOL    TRUE
     493        END
     494        XY16    METADATA
     495                xy00    BOOL    FALSE
     496                xy01    BOOL    FALSE
     497                xy02    BOOL    FALSE
     498                xy03    BOOL    FALSE
     499                xy04    BOOL    FALSE
     500                xy05    BOOL    FALSE
     501                xy06    BOOL    FALSE
     502                xy07    BOOL    TRUE
     503                xy10    BOOL    FALSE
     504                xy11    BOOL    FALSE
     505                xy12    BOOL    FALSE
     506                xy13    BOOL    FALSE
     507                xy14    BOOL    FALSE
     508                xy15    BOOL    FALSE
     509                xy16    BOOL    FALSE
     510                xy17    BOOL    FALSE
     511                xy20    BOOL    FALSE
     512                xy21    BOOL    FALSE
     513                xy22    BOOL    FALSE
     514                xy23    BOOL    FALSE
     515                xy24    BOOL    FALSE
     516                xy25    BOOL    FALSE
     517                xy26    BOOL    FALSE
     518                xy27    BOOL    FALSE
     519                xy30    BOOL    FALSE
     520                xy31    BOOL    FALSE
     521                xy32    BOOL    FALSE
     522                xy33    BOOL    FALSE
     523                xy34    BOOL    FALSE
     524                xy35    BOOL    FALSE
     525                xy36    BOOL    FALSE
     526                xy37    BOOL    FALSE
     527                xy40    BOOL    FALSE
     528                xy41    BOOL    FALSE
     529                xy42    BOOL    FALSE
     530                xy43    BOOL    FALSE
     531                xy44    BOOL    FALSE
     532                xy45    BOOL    FALSE
     533                xy46    BOOL    FALSE
     534                xy47    BOOL    TRUE
     535                xy50    BOOL    FALSE
     536                xy51    BOOL    FALSE
     537                xy52    BOOL    FALSE
     538                xy53    BOOL    FALSE
     539                xy54    BOOL    FALSE
     540                xy55    BOOL    FALSE
     541                xy56    BOOL    FALSE
     542                xy57    BOOL    FALSE
     543                xy60    BOOL    FALSE
     544                xy61    BOOL    FALSE
     545                xy62    BOOL    FALSE
     546                xy63    BOOL    FALSE
     547                xy64    BOOL    FALSE
     548                xy65    BOOL    FALSE
     549                xy66    BOOL    FALSE
     550                xy67    BOOL    FALSE
     551                xy70    BOOL    FALSE
     552                xy71    BOOL    FALSE
     553                xy72    BOOL    FALSE
     554                xy73    BOOL    FALSE
     555                xy74    BOOL    FALSE
     556                xy75    BOOL    FALSE
     557                xy76    BOOL    FALSE
     558                xy77    BOOL    FALSE
     559        END
     560        XY17    BOOL    FALSE
     561        XY20    BOOL    FALSE
     562        XY21    BOOL    FALSE
     563        XY22    BOOL    FALSE
     564        XY23    BOOL    FALSE
     565        XY24    METADATA
     566                xy00    BOOL    FALSE
     567                xy01    BOOL    FALSE
     568                xy02    BOOL    FALSE
     569                xy03    BOOL    FALSE
     570                xy04    BOOL    FALSE
     571                xy05    BOOL    FALSE
     572                xy06    BOOL    FALSE
     573                xy07    BOOL    FALSE
     574                xy10    BOOL    FALSE
     575                xy11    BOOL    FALSE
     576                xy12    BOOL    TRUE
     577                xy13    BOOL    FALSE
     578                xy14    BOOL    FALSE
     579                xy15    BOOL    FALSE
     580                xy16    BOOL    FALSE
     581                xy17    BOOL    FALSE
     582                xy20    BOOL    FALSE
     583                xy21    BOOL    FALSE
     584                xy22    BOOL    FALSE
     585                xy23    BOOL    FALSE
     586                xy24    BOOL    FALSE
     587                xy25    BOOL    FALSE
     588                xy26    BOOL    FALSE
     589                xy27    BOOL    FALSE
     590                xy30    BOOL    FALSE
     591                xy31    BOOL    TRUE
     592                xy32    BOOL    TRUE
     593                xy33    BOOL    FALSE
     594                xy34    BOOL    TRUE
     595                xy35    BOOL    FALSE
     596                xy36    BOOL    FALSE
     597                xy37    BOOL    FALSE
     598                xy40    BOOL    FALSE
     599                xy41    BOOL    FALSE
     600                xy42    BOOL    TRUE
     601                xy43    BOOL    FALSE
     602                xy44    BOOL    FALSE
     603                xy45    BOOL    FALSE
     604                xy46    BOOL    FALSE
     605                xy47    BOOL    FALSE
     606                xy50    BOOL    FALSE
     607                xy51    BOOL    FALSE
     608                xy52    BOOL    TRUE
     609                xy53    BOOL    FALSE
     610                xy54    BOOL    FALSE
     611                xy55    BOOL    FALSE
     612                xy56    BOOL    FALSE
     613                xy57    BOOL    FALSE
     614                xy60    BOOL    FALSE
     615                xy61    BOOL    FALSE
     616                xy62    BOOL    TRUE
     617                xy63    BOOL    TRUE
     618                xy64    BOOL    TRUE
     619                xy65    BOOL    FALSE
     620                xy66    BOOL    FALSE
     621                xy67    BOOL    FALSE
     622                xy70    BOOL    FALSE
     623                xy71    BOOL    FALSE
     624                xy72    BOOL    FALSE
     625                xy73    BOOL    FALSE
     626                xy74    BOOL    FALSE
     627                xy75    BOOL    FALSE
     628                xy76    BOOL    FALSE
     629                xy77    BOOL    FALSE
     630        END
     631        XY25    METADATA
     632                xy00    BOOL    FALSE
     633                xy01    BOOL    TRUE
     634                xy02    BOOL    FALSE
     635                xy03    BOOL    FALSE
     636                xy04    BOOL    FALSE
     637                xy05    BOOL    TRUE
     638                xy06    BOOL    FALSE
     639                xy07    BOOL    FALSE
     640                xy10    BOOL    FALSE
     641                xy11    BOOL    FALSE
     642                xy12    BOOL    FALSE
     643                xy13    BOOL    FALSE
     644                xy14    BOOL    TRUE
     645                xy15    BOOL    FALSE
     646                xy16    BOOL    FALSE
     647                xy17    BOOL    TRUE
     648                xy20    BOOL    FALSE
     649                xy21    BOOL    FALSE
     650                xy22    BOOL    TRUE
     651                xy23    BOOL    FALSE
     652                xy24    BOOL    TRUE
     653                xy25    BOOL    TRUE
     654                xy26    BOOL    FALSE
     655                xy27    BOOL    FALSE
     656                xy30    BOOL    FALSE
     657                xy31    BOOL    FALSE
     658                xy32    BOOL    FALSE
     659                xy33    BOOL    FALSE
     660                xy34    BOOL    FALSE
     661                xy35    BOOL    FALSE
     662                xy36    BOOL    TRUE
     663                xy37    BOOL    FALSE
     664                xy40    BOOL    FALSE
     665                xy41    BOOL    FALSE
     666                xy42    BOOL    FALSE
     667                xy43    BOOL    FALSE
     668                xy44    BOOL    FALSE
     669                xy45    BOOL    TRUE
     670                xy46    BOOL    TRUE
     671                xy47    BOOL    TRUE
     672                xy50    BOOL    FALSE
     673                xy51    BOOL    FALSE
     674                xy52    BOOL    FALSE
     675                xy53    BOOL    TRUE
     676                xy54    BOOL    FALSE
     677                xy55    BOOL    FALSE
     678                xy56    BOOL    FALSE
     679                xy57    BOOL    FALSE
     680                xy60    BOOL    FALSE
     681                xy61    BOOL    FALSE
     682                xy62    BOOL    FALSE
     683                xy63    BOOL    FALSE
     684                xy64    BOOL    TRUE
     685                xy65    BOOL    FALSE
     686                xy66    BOOL    FALSE
     687                xy67    BOOL    FALSE
     688                xy70    BOOL    FALSE
     689                xy71    BOOL    FALSE
     690                xy72    BOOL    FALSE
     691                xy73    BOOL    FALSE
     692                xy74    BOOL    FALSE
     693                xy75    BOOL    FALSE
     694                xy76    BOOL    TRUE
     695                xy77    BOOL    FALSE
     696        END
     697        XY26    METADATA
     698                xy00    BOOL    FALSE
     699                xy01    BOOL    FALSE
     700                xy02    BOOL    FALSE
     701                xy03    BOOL    FALSE
     702                xy04    BOOL    FALSE
     703                xy05    BOOL    FALSE
     704                xy06    BOOL    FALSE
     705                xy07    BOOL    FALSE
     706                xy10    BOOL    FALSE
     707                xy11    BOOL    FALSE
     708                xy12    BOOL    FALSE
     709                xy13    BOOL    FALSE
     710                xy14    BOOL    FALSE
     711                xy15    BOOL    TRUE
     712                xy16    BOOL    FALSE
     713                xy17    BOOL    FALSE
     714                xy20    BOOL    FALSE
     715                xy21    BOOL    FALSE
     716                xy22    BOOL    FALSE
     717                xy23    BOOL    FALSE
     718                xy24    BOOL    FALSE
     719                xy25    BOOL    FALSE
     720                xy26    BOOL    FALSE
     721                xy27    BOOL    FALSE
     722                xy30    BOOL    FALSE
     723                xy31    BOOL    FALSE
     724                xy32    BOOL    FALSE
     725                xy33    BOOL    FALSE
     726                xy34    BOOL    FALSE
     727                xy35    BOOL    FALSE
     728                xy36    BOOL    FALSE
     729                xy37    BOOL    FALSE
     730                xy40    BOOL    FALSE
     731                xy41    BOOL    FALSE
     732                xy42    BOOL    FALSE
     733                xy43    BOOL    FALSE
     734                xy44    BOOL    TRUE
     735                xy45    BOOL    FALSE
     736                xy46    BOOL    FALSE
     737                xy47    BOOL    FALSE
     738                xy50    BOOL    FALSE
     739                xy51    BOOL    FALSE
     740                xy52    BOOL    TRUE
     741                xy53    BOOL    FALSE
     742                xy54    BOOL    FALSE
     743                xy55    BOOL    FALSE
     744                xy56    BOOL    FALSE
     745                xy57    BOOL    FALSE
     746                xy60    BOOL    FALSE
     747                xy61    BOOL    FALSE
     748                xy62    BOOL    FALSE
     749                xy63    BOOL    FALSE
     750                xy64    BOOL    FALSE
     751                xy65    BOOL    FALSE
     752                xy66    BOOL    FALSE
     753                xy67    BOOL    FALSE
     754                xy70    BOOL    FALSE
     755                xy71    BOOL    FALSE
     756                xy72    BOOL    FALSE
     757                xy73    BOOL    FALSE
     758                xy74    BOOL    FALSE
     759                xy75    BOOL    FALSE
     760                xy76    BOOL    FALSE
     761                xy77    BOOL    FALSE
     762        END
     763        XY27    BOOL    FALSE
     764        XY30    BOOL    FALSE
     765        XY31    BOOL    FALSE
     766        XY32    BOOL    FALSE
     767        XY33    BOOL    FALSE
     768        XY34    METADATA
     769                xy00    BOOL    FALSE
     770                xy01    BOOL    FALSE
     771                xy02    BOOL    FALSE
     772                xy03    BOOL    FALSE
     773                xy04    BOOL    FALSE
     774                xy05    BOOL    FALSE
     775                xy06    BOOL    FALSE
     776                xy07    BOOL    FALSE
     777                xy10    BOOL    FALSE
     778                xy11    BOOL    FALSE
     779                xy12    BOOL    FALSE
     780                xy13    BOOL    FALSE
     781                xy14    BOOL    FALSE
     782                xy15    BOOL    FALSE
     783                xy16    BOOL    FALSE
     784                xy17    BOOL    FALSE
     785                xy20    BOOL    FALSE
     786                xy21    BOOL    FALSE
     787                xy22    BOOL    FALSE
     788                xy23    BOOL    FALSE
     789                xy24    BOOL    FALSE
     790                xy25    BOOL    FALSE
     791                xy26    BOOL    FALSE
     792                xy27    BOOL    FALSE
     793                xy30    BOOL    FALSE
     794                xy31    BOOL    FALSE
     795                xy32    BOOL    FALSE
     796                xy33    BOOL    FALSE
     797                xy34    BOOL    FALSE
     798                xy35    BOOL    FALSE
     799                xy36    BOOL    FALSE
     800                xy37    BOOL    FALSE
     801                xy40    BOOL    FALSE
     802                xy41    BOOL    FALSE
     803                xy42    BOOL    FALSE
     804                xy43    BOOL    FALSE
     805                xy44    BOOL    FALSE
     806                xy45    BOOL    FALSE
     807                xy46    BOOL    FALSE
     808                xy47    BOOL    TRUE
     809                xy50    BOOL    FALSE
     810                xy51    BOOL    FALSE
     811                xy52    BOOL    FALSE
     812                xy53    BOOL    FALSE
     813                xy54    BOOL    FALSE
     814                xy55    BOOL    TRUE
     815                xy56    BOOL    FALSE
     816                xy57    BOOL    FALSE
     817                xy60    BOOL    FALSE
     818                xy61    BOOL    FALSE
     819                xy62    BOOL    FALSE
     820                xy63    BOOL    FALSE
     821                xy64    BOOL    TRUE
     822                xy65    BOOL    FALSE
     823                xy66    BOOL    TRUE
     824                xy67    BOOL    FALSE
     825                xy70    BOOL    FALSE
     826                xy71    BOOL    FALSE
     827                xy72    BOOL    TRUE
     828                xy73    BOOL    TRUE
     829                xy74    BOOL    TRUE
     830                xy75    BOOL    FALSE
     831                xy76    BOOL    TRUE
     832                xy77    BOOL    TRUE
     833        END
     834        XY35    BOOL    FALSE
     835        XY36    METADATA
     836                xy00    BOOL    FALSE
     837                xy01    BOOL    FALSE
     838                xy02    BOOL    FALSE
     839                xy03    BOOL    FALSE
     840                xy04    BOOL    FALSE
     841                xy05    BOOL    FALSE
     842                xy06    BOOL    FALSE
     843                xy07    BOOL    FALSE
     844                xy10    BOOL    FALSE
     845                xy11    BOOL    FALSE
     846                xy12    BOOL    FALSE
     847                xy13    BOOL    FALSE
     848                xy14    BOOL    FALSE
     849                xy15    BOOL    FALSE
     850                xy16    BOOL    FALSE
     851                xy17    BOOL    FALSE
     852                xy20    BOOL    FALSE
     853                xy21    BOOL    FALSE
     854                xy22    BOOL    FALSE
     855                xy23    BOOL    FALSE
     856                xy24    BOOL    FALSE
     857                xy25    BOOL    FALSE
     858                xy26    BOOL    FALSE
     859                xy27    BOOL    FALSE
     860                xy30    BOOL    FALSE
     861                xy31    BOOL    FALSE
     862                xy32    BOOL    FALSE
     863                xy33    BOOL    FALSE
     864                xy34    BOOL    FALSE
     865                xy35    BOOL    FALSE
     866                xy36    BOOL    FALSE
     867                xy37    BOOL    FALSE
     868                xy40    BOOL    FALSE
     869                xy41    BOOL    FALSE
     870                xy42    BOOL    FALSE
     871                xy43    BOOL    TRUE
     872                xy44    BOOL    FALSE
     873                xy45    BOOL    FALSE
     874                xy46    BOOL    FALSE
     875                xy47    BOOL    FALSE
     876                xy50    BOOL    FALSE
     877                xy51    BOOL    FALSE
     878                xy52    BOOL    FALSE
     879                xy53    BOOL    FALSE
     880                xy54    BOOL    FALSE
     881                xy55    BOOL    FALSE
     882                xy56    BOOL    FALSE
     883                xy57    BOOL    FALSE
     884                xy60    BOOL    FALSE
     885                xy61    BOOL    FALSE
     886                xy62    BOOL    FALSE
     887                xy63    BOOL    FALSE
     888                xy64    BOOL    FALSE
     889                xy65    BOOL    FALSE
     890                xy66    BOOL    FALSE
     891                xy67    BOOL    FALSE
     892                xy70    BOOL    FALSE
     893                xy71    BOOL    FALSE
     894                xy72    BOOL    FALSE
     895                xy73    BOOL    FALSE
     896                xy74    BOOL    FALSE
     897                xy75    BOOL    FALSE
     898                xy76    BOOL    FALSE
     899                xy77    BOOL    FALSE
     900        END
     901        XY37    METADATA
     902                xy00    BOOL    FALSE
     903                xy01    BOOL    FALSE
     904                xy02    BOOL    FALSE
     905                xy03    BOOL    FALSE
     906                xy04    BOOL    FALSE
     907                xy05    BOOL    FALSE
     908                xy06    BOOL    FALSE
     909                xy07    BOOL    FALSE
     910                xy10    BOOL    FALSE
     911                xy11    BOOL    FALSE
     912                xy12    BOOL    FALSE
     913                xy13    BOOL    FALSE
     914                xy14    BOOL    FALSE
     915                xy15    BOOL    FALSE
     916                xy16    BOOL    FALSE
     917                xy17    BOOL    FALSE
     918                xy20    BOOL    FALSE
     919                xy21    BOOL    FALSE
     920                xy22    BOOL    FALSE
     921                xy23    BOOL    FALSE
     922                xy24    BOOL    FALSE
     923                xy25    BOOL    FALSE
     924                xy26    BOOL    FALSE
     925                xy27    BOOL    FALSE
     926                xy30    BOOL    FALSE
     927                xy31    BOOL    FALSE
     928                xy32    BOOL    FALSE
     929                xy33    BOOL    FALSE
     930                xy34    BOOL    FALSE
     931                xy35    BOOL    FALSE
     932                xy36    BOOL    FALSE
     933                xy37    BOOL    TRUE
     934                xy40    BOOL    FALSE
     935                xy41    BOOL    FALSE
     936                xy42    BOOL    FALSE
     937                xy43    BOOL    TRUE
     938                xy44    BOOL    FALSE
     939                xy45    BOOL    FALSE
     940                xy46    BOOL    FALSE
     941                xy47    BOOL    TRUE
     942                xy50    BOOL    FALSE
     943                xy51    BOOL    FALSE
     944                xy52    BOOL    FALSE
     945                xy53    BOOL    FALSE
     946                xy54    BOOL    FALSE
     947                xy55    BOOL    FALSE
     948                xy56    BOOL    FALSE
     949                xy57    BOOL    FALSE
     950                xy60    BOOL    TRUE
     951                xy61    BOOL    FALSE
     952                xy62    BOOL    TRUE
     953                xy63    BOOL    TRUE
     954                xy64    BOOL    FALSE
     955                xy65    BOOL    FALSE
     956                xy66    BOOL    FALSE
     957                xy67    BOOL    FALSE
     958                xy70    BOOL    TRUE
     959                xy71    BOOL    FALSE
     960                xy72    BOOL    TRUE
     961                xy73    BOOL    TRUE
     962                xy74    BOOL    FALSE
     963                xy75    BOOL    TRUE
     964                xy76    BOOL    TRUE
     965                xy77    BOOL    FALSE
     966        END
     967        XY40    METADATA
     968                xy00    BOOL    FALSE
     969                xy01    BOOL    FALSE
     970                xy02    BOOL    FALSE
     971                xy03    BOOL    FALSE
     972                xy04    BOOL    FALSE
     973                xy05    BOOL    FALSE
     974                xy06    BOOL    FALSE
     975                xy07    BOOL    FALSE
     976                xy10    BOOL    FALSE
     977                xy11    BOOL    FALSE
     978                xy12    BOOL    FALSE
     979                xy13    BOOL    FALSE
     980                xy14    BOOL    FALSE
     981                xy15    BOOL    FALSE
     982                xy16    BOOL    FALSE
     983                xy17    BOOL    FALSE
     984                xy20    BOOL    FALSE
     985                xy21    BOOL    FALSE
     986                xy22    BOOL    FALSE
     987                xy23    BOOL    FALSE
     988                xy24    BOOL    FALSE
     989                xy25    BOOL    FALSE
     990                xy26    BOOL    FALSE
     991                xy27    BOOL    FALSE
     992                xy30    BOOL    FALSE
     993                xy31    BOOL    FALSE
     994                xy32    BOOL    TRUE
     995                xy33    BOOL    FALSE
     996                xy34    BOOL    TRUE
     997                xy35    BOOL    TRUE
     998                xy36    BOOL    FALSE
     999                xy37    BOOL    FALSE
     1000                xy40    BOOL    FALSE
     1001                xy41    BOOL    FALSE
     1002                xy42    BOOL    FALSE
     1003                xy43    BOOL    FALSE
     1004                xy44    BOOL    FALSE
     1005                xy45    BOOL    FALSE
     1006                xy46    BOOL    FALSE
     1007                xy47    BOOL    FALSE
     1008                xy50    BOOL    FALSE
     1009                xy51    BOOL    FALSE
     1010                xy52    BOOL    FALSE
     1011                xy53    BOOL    FALSE
     1012                xy54    BOOL    FALSE
     1013                xy55    BOOL    TRUE
     1014                xy56    BOOL    TRUE
     1015                xy57    BOOL    TRUE
     1016                xy60    BOOL    FALSE
     1017                xy61    BOOL    FALSE
     1018                xy62    BOOL    FALSE
     1019                xy63    BOOL    FALSE
     1020                xy64    BOOL    FALSE
     1021                xy65    BOOL    FALSE
     1022                xy66    BOOL    TRUE
     1023                xy67    BOOL    FALSE
     1024                xy70    BOOL    FALSE
     1025                xy71    BOOL    FALSE
     1026                xy72    BOOL    FALSE
     1027                xy73    BOOL    TRUE
     1028                xy74    BOOL    TRUE
     1029                xy75    BOOL    TRUE
     1030                xy76    BOOL    TRUE
     1031                xy77    BOOL    TRUE
     1032        END
     1033        XY41    BOOL    FALSE
     1034        XY42    BOOL    FALSE
     1035        XY43    METADATA
     1036                xy00    BOOL    FALSE
     1037                xy01    BOOL    FALSE
     1038                xy02    BOOL    FALSE
     1039                xy03    BOOL    FALSE
     1040                xy04    BOOL    FALSE
     1041                xy05    BOOL    FALSE
     1042                xy06    BOOL    FALSE
     1043                xy07    BOOL    FALSE
     1044                xy10    BOOL    FALSE
     1045                xy11    BOOL    FALSE
     1046                xy12    BOOL    FALSE
     1047                xy13    BOOL    FALSE
     1048                xy14    BOOL    FALSE
     1049                xy15    BOOL    FALSE
     1050                xy16    BOOL    FALSE
     1051                xy17    BOOL    FALSE
     1052                xy20    BOOL    FALSE
     1053                xy21    BOOL    FALSE
     1054                xy22    BOOL    FALSE
     1055                xy23    BOOL    FALSE
     1056                xy24    BOOL    FALSE
     1057                xy25    BOOL    FALSE
     1058                xy26    BOOL    FALSE
     1059                xy27    BOOL    TRUE
     1060                xy30    BOOL    FALSE
     1061                xy31    BOOL    FALSE
     1062                xy32    BOOL    FALSE
     1063                xy33    BOOL    FALSE
     1064                xy34    BOOL    FALSE
     1065                xy35    BOOL    FALSE
     1066                xy36    BOOL    FALSE
     1067                xy37    BOOL    TRUE
     1068                xy40    BOOL    FALSE
     1069                xy41    BOOL    FALSE
     1070                xy42    BOOL    FALSE
     1071                xy43    BOOL    FALSE
     1072                xy44    BOOL    FALSE
     1073                xy45    BOOL    FALSE
     1074                xy46    BOOL    FALSE
     1075                xy47    BOOL    FALSE
     1076                xy50    BOOL    FALSE
     1077                xy51    BOOL    FALSE
     1078                xy52    BOOL    FALSE
     1079                xy53    BOOL    FALSE
     1080                xy54    BOOL    TRUE
     1081                xy55    BOOL    FALSE
     1082                xy56    BOOL    FALSE
     1083                xy57    BOOL    FALSE
     1084                xy60    BOOL    FALSE
     1085                xy61    BOOL    TRUE
     1086                xy62    BOOL    FALSE
     1087                xy63    BOOL    FALSE
     1088                xy64    BOOL    FALSE
     1089                xy65    BOOL    FALSE
     1090                xy66    BOOL    FALSE
     1091                xy67    BOOL    TRUE
     1092                xy70    BOOL    FALSE
     1093                xy71    BOOL    FALSE
     1094                xy72    BOOL    FALSE
     1095                xy73    BOOL    FALSE
     1096                xy74    BOOL    FALSE
     1097                xy75    BOOL    TRUE
     1098                xy76    BOOL    FALSE
     1099                xy77    BOOL    FALSE
     1100        END
     1101        XY44    BOOL    FALSE
     1102        XY45    BOOL    FALSE
     1103        XY46    BOOL    FALSE
     1104        XY47    BOOL    FALSE
     1105        XY50    BOOL    FALSE
     1106        XY51    BOOL    FALSE
     1107        XY52    BOOL    FALSE
     1108        XY53    BOOL    FALSE
     1109        XY54    BOOL    FALSE
     1110        XY55    BOOL    FALSE
     1111        XY56    BOOL    FALSE
     1112        XY57    BOOL    FALSE
     1113        XY60    BOOL    FALSE
     1114        XY61    BOOL    FALSE
     1115        XY62    METADATA
     1116                xy00    BOOL    FALSE
     1117                xy01    BOOL    FALSE
     1118                xy02    BOOL    FALSE
     1119                xy03    BOOL    FALSE
     1120                xy04    BOOL    FALSE
     1121                xy05    BOOL    FALSE
     1122                xy06    BOOL    FALSE
     1123                xy07    BOOL    FALSE
     1124                xy10    BOOL    FALSE
     1125                xy11    BOOL    FALSE
     1126                xy12    BOOL    FALSE
     1127                xy13    BOOL    FALSE
     1128                xy14    BOOL    FALSE
     1129                xy15    BOOL    FALSE
     1130                xy16    BOOL    FALSE
     1131                xy17    BOOL    FALSE
     1132                xy20    BOOL    FALSE
     1133                xy21    BOOL    FALSE
     1134                xy22    BOOL    FALSE
     1135                xy23    BOOL    FALSE
     1136                xy24    BOOL    FALSE
     1137                xy25    BOOL    FALSE
     1138                xy26    BOOL    FALSE
     1139                xy27    BOOL    FALSE
     1140                xy30    BOOL    FALSE
     1141                xy31    BOOL    FALSE
     1142                xy32    BOOL    FALSE
     1143                xy33    BOOL    FALSE
     1144                xy34    BOOL    FALSE
     1145                xy35    BOOL    FALSE
     1146                xy36    BOOL    FALSE
     1147                xy37    BOOL    FALSE
     1148                xy40    BOOL    FALSE
     1149                xy41    BOOL    FALSE
     1150                xy42    BOOL    FALSE
     1151                xy43    BOOL    FALSE
     1152                xy44    BOOL    TRUE
     1153                xy45    BOOL    FALSE
     1154                xy46    BOOL    FALSE
     1155                xy47    BOOL    FALSE
     1156                xy50    BOOL    FALSE
     1157                xy51    BOOL    FALSE
     1158                xy52    BOOL    FALSE
     1159                xy53    BOOL    FALSE
     1160                xy54    BOOL    FALSE
     1161                xy55    BOOL    FALSE
     1162                xy56    BOOL    FALSE
     1163                xy57    BOOL    FALSE
     1164                xy60    BOOL    FALSE
     1165                xy61    BOOL    FALSE
     1166                xy62    BOOL    FALSE
     1167                xy63    BOOL    FALSE
     1168                xy64    BOOL    FALSE
     1169                xy65    BOOL    FALSE
     1170                xy66    BOOL    FALSE
     1171                xy67    BOOL    TRUE
     1172                xy70    BOOL    FALSE
     1173                xy71    BOOL    FALSE
     1174                xy72    BOOL    FALSE
     1175                xy73    BOOL    FALSE
     1176                xy74    BOOL    TRUE
     1177                xy75    BOOL    FALSE
     1178                xy76    BOOL    TRUE
     1179                xy77    BOOL    FALSE
     1180        END
     1181        XY63    BOOL    FALSE
     1182        XY64    BOOL    FALSE
     1183        XY65    BOOL    FALSE
     1184        XY66    BOOL    FALSE
     1185        XY67    BOOL    FALSE
     1186        XY71    BOOL    FALSE
     1187        XY72    METADATA
     1188                xy00    BOOL    FALSE
     1189                xy01    BOOL    FALSE
     1190                xy02    BOOL    FALSE
     1191                xy03    BOOL    FALSE
     1192                xy04    BOOL    FALSE
     1193                xy05    BOOL    FALSE
     1194                xy06    BOOL    FALSE
     1195                xy07    BOOL    FALSE
     1196                xy10    BOOL    FALSE
     1197                xy11    BOOL    FALSE
     1198                xy12    BOOL    FALSE
     1199                xy13    BOOL    FALSE
     1200                xy14    BOOL    FALSE
     1201                xy15    BOOL    FALSE
     1202                xy16    BOOL    FALSE
     1203                xy17    BOOL    FALSE
     1204                xy20    BOOL    FALSE
     1205                xy21    BOOL    FALSE
     1206                xy22    BOOL    FALSE
     1207                xy23    BOOL    FALSE
     1208                xy24    BOOL    FALSE
     1209                xy25    BOOL    FALSE
     1210                xy26    BOOL    FALSE
     1211                xy27    BOOL    FALSE
     1212                xy30    BOOL    FALSE
     1213                xy31    BOOL    FALSE
     1214                xy32    BOOL    FALSE
     1215                xy33    BOOL    FALSE
     1216                xy34    BOOL    FALSE
     1217                xy35    BOOL    FALSE
     1218                xy36    BOOL    FALSE
     1219                xy37    BOOL    FALSE
     1220                xy40    BOOL    FALSE
     1221                xy41    BOOL    FALSE
     1222                xy42    BOOL    FALSE
     1223                xy43    BOOL    FALSE
     1224                xy44    BOOL    FALSE
     1225                xy45    BOOL    FALSE
     1226                xy46    BOOL    FALSE
     1227                xy47    BOOL    FALSE
     1228                xy50    BOOL    FALSE
     1229                xy51    BOOL    FALSE
     1230                xy52    BOOL    FALSE
     1231                xy53    BOOL    FALSE
     1232                xy54    BOOL    FALSE
     1233                xy55    BOOL    FALSE
     1234                xy56    BOOL    FALSE
     1235                xy57    BOOL    FALSE
     1236                xy60    BOOL    FALSE
     1237                xy61    BOOL    FALSE
     1238                xy62    BOOL    FALSE
     1239                xy63    BOOL    FALSE
     1240                xy64    BOOL    FALSE
     1241                xy65    BOOL    FALSE
     1242                xy66    BOOL    FALSE
     1243                xy67    BOOL    FALSE
     1244                xy70    BOOL    FALSE
     1245                xy71    BOOL    FALSE
     1246                xy72    BOOL    FALSE
     1247                xy73    BOOL    FALSE
     1248                xy74    BOOL    FALSE
     1249                xy75    BOOL    FALSE
     1250                xy76    BOOL    FALSE
     1251                xy77    BOOL    TRUE
     1252        END
     1253        XY73    METADATA
     1254                xy00    BOOL    FALSE
     1255                xy01    BOOL    FALSE
     1256                xy02    BOOL    FALSE
     1257                xy03    BOOL    TRUE
     1258                xy04    BOOL    TRUE
     1259                xy05    BOOL    FALSE
     1260                xy06    BOOL    FALSE
     1261                xy07    BOOL    FALSE
     1262                xy10    BOOL    FALSE
     1263                xy11    BOOL    FALSE
     1264                xy12    BOOL    FALSE
     1265                xy13    BOOL    FALSE
     1266                xy14    BOOL    FALSE
     1267                xy15    BOOL    FALSE
     1268                xy16    BOOL    FALSE
     1269                xy17    BOOL    FALSE
     1270                xy20    BOOL    FALSE
     1271                xy21    BOOL    FALSE
     1272                xy22    BOOL    FALSE
     1273                xy23    BOOL    FALSE
     1274                xy24    BOOL    FALSE
     1275                xy25    BOOL    FALSE
     1276                xy26    BOOL    FALSE
     1277                xy27    BOOL    FALSE
     1278                xy30    BOOL    FALSE
     1279                xy31    BOOL    FALSE
     1280                xy32    BOOL    FALSE
     1281                xy33    BOOL    FALSE
     1282                xy34    BOOL    FALSE
     1283                xy35    BOOL    FALSE
     1284                xy36    BOOL    TRUE
     1285                xy37    BOOL    FALSE
     1286                xy40    BOOL    FALSE
     1287                xy41    BOOL    FALSE
     1288                xy42    BOOL    FALSE
     1289                xy43    BOOL    FALSE
     1290                xy44    BOOL    FALSE
     1291                xy45    BOOL    FALSE
     1292                xy46    BOOL    FALSE
     1293                xy47    BOOL    FALSE
     1294                xy50    BOOL    FALSE
     1295                xy51    BOOL    FALSE
     1296                xy52    BOOL    FALSE
     1297                xy53    BOOL    FALSE
     1298                xy54    BOOL    FALSE
     1299                xy55    BOOL    FALSE
     1300                xy56    BOOL    FALSE
     1301                xy57    BOOL    FALSE
     1302                xy60    BOOL    FALSE
     1303                xy61    BOOL    FALSE
     1304                xy62    BOOL    FALSE
     1305                xy63    BOOL    FALSE
     1306                xy64    BOOL    FALSE
     1307                xy65    BOOL    FALSE
     1308                xy66    BOOL    FALSE
     1309                xy67    BOOL    FALSE
     1310                xy70    BOOL    FALSE
     1311                xy71    BOOL    FALSE
     1312                xy72    BOOL    FALSE
     1313                xy73    BOOL    FALSE
     1314                xy74    BOOL    FALSE
     1315                xy75    BOOL    FALSE
     1316                xy76    BOOL    FALSE
     1317                xy77    BOOL    FALSE
     1318        END
     1319        XY74    BOOL    FALSE
     1320        XY75    BOOL    FALSE
     1321        XY76    BOOL    FALSE
     1322END
    2851323
    2861324TILTYSTREAK.BY.CLASS METADATA              # apply the 'tiltystreak' tool
     
    4151453  FLAT             BOOL    TRUE            # Flat-field normalisation
    4161454  MASK             BOOL    TRUE            # Mask bad pixels
    417   MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
    418   PATTERN          BOOL    TRUE            # Subtract pattern noise
     1455  MASK.BURNTOOL    BOOL    TRUE            # Mask potential burntool trails
     1456  PATTERN.ROW      BOOL    TRUE            # Row pattern correction
     1457  PATTERN.CELL     BOOL    TRUE            # Cell pattern correction
    4191458  FRINGE           BOOL    FALSE           # Fringe subtraction
    4201459  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
     
    11912230  MASK             BOOL    TRUE            # Mask bad pixels
    11922231  FRINGE           BOOL    FALSE           # Fringe subtraction
    1193   PATTERN          BOOL    TRUE            # Subtract pattern noise
     2232  PATTERN.ROW      BOOL    TRUE            # Row pattern correction
     2233  PATTERN.CELL     BOOL    TRUE            # Cell pattern correction
    11942234  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
    11952235  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
     
    12282268  CROSSTALK.MEASURE  BOOL    TRUE            # Subtract model background?
    12292269  TILTYSTREAK.APPLY  BOOL    FALSE           # apply the 'tiltystreak' tool
    1230   PATTERN            BOOL    TRUE            # Subtract pattern noise
     2270  PATTERN.ROW        BOOL    TRUE            # Row pattern correction
     2271  PATTERN.CELL       BOOL    TRUE            # Cell pattern correction
    12312272  NOISEMAP           BOOL    TRUE            # Apply read noise map
    12322273END
  • branches/eam_branches/20091201/ippconfig/recipes/ppImage.config

    r26727 r26776  
    1818MASK.BURNTOOL      BOOL    FALSE           # Mask potential burntool trails
    1919VARIANCE.BUILD     BOOL    FALSE           # Build internal variance image
    20 PATTERN            BOOL    FALSE           # Fit and remove pattern noise?
    21 PATTERN.SUBSET     METADATA
     20PATTERN.ROW        BOOL    FALSE           # Row pattern correction
     21PATTERN.ROW.SUBSET METADATA                # Menu of chips and/or cells for row pattern correction
     22END
     23PATTERN.CELL       BOOL    FALSE           # Cell pattern correction
     24PATTERN.CELL.SUBSET METADATA               # Menu of chips and/or cells for cell pattern correction
    2225END
    2326FRINGE             BOOL    FALSE           # Fringe subtraction
     
    9093
    9194# Pattern subtraction options
    92 PATTERN.ORDER      S32     2               # Polynomial order
    93 PATTERN.ITER       S32     4               # Rejection iterations
    94 PATTERN.REJ        F32     2.5             # Rejection threshold
    95 PATTERN.THRESH     F32     20.0            # Ignore threshold
    96 PATTERN.MEAN       STR     SAMPLE_MEAN     # Statistic for mean
    97 PATTERN.STDEV      STR     SAMPLE_STDEV    # Statistic for standard deviation
     95PATTERN.ROW.ORDER      S32     2               # Polynomial order for row pattern
     96PATTERN.ROW.ITER       S32     4               # Rejection iterations for row pattern
     97PATTERN.ROW.REJ        F32     2.5             # Rejection threshold for row pattern
     98PATTERN.ROW.THRESH     F32     20.0            # Ignore threshold for row pattern
     99PATTERN.ROW.MEAN       STR     SAMPLE_MEAN     # Statistic for mean for row pattern
     100PATTERN.ROW.STDEV      STR     SAMPLE_STDEV    # Statistic for standard deviation for row pattern
     101PATTERN.CELL.BG        STR     ROBUST_MEDIAN   # Statistic for background for cell pattern
     102PATTERN.CELL.MEAN      STR     SAMPLE_MEDIAN   # Statistic for mean for cell pattern
    98103
    99104# Fringe subtraction options
  • branches/eam_branches/20091201/ppImage/src/ppImage.h

    r25930 r26776  
    3838    bool doShutter;                     // Shutter correction
    3939    bool doFlat;                        // Flat-field normalisation
    40     bool doPattern;                     // Pattern noise subtraction
     40    bool doPatternRow;                  // Row pattern correction
     41    bool doPatternCell;                 // Cell pattern correction
    4142    bool doFringe;                      // Fringe subtraction
    4243    bool doPhotom;                      // Source identification and photometry
     
    9596    float fringeKeep;                   // Fringe keep fraction
    9697
    97     // Pattern noise subtraction
    98     int patternOrder;                   // Polynomial order
    99     int patternIter;                    // Clipping iterations
    100     float patternRej;                   // Clipping threshold
    101     float patternThresh;                // Ignore threshold
    102     psStatsOptions patternMean;         // Statistic for mean
    103     psStatsOptions patternStdev;        // Statistic for stdev
     98    // Pattern correction
     99    int patternRowOrder;                   // Polynomial order
     100    int patternRowIter;                    // Clipping iterations
     101    float patternRowRej;                   // Clipping threshold
     102    float patternRowThresh;                // Ignore threshold
     103    psStatsOptions patternRowMean;         // Statistic for mean
     104    psStatsOptions patternRowStdev;        // Statistic for stdev
     105    psStatsOptions patternCellBG;          // statistic for background
     106    psStatsOptions patternCellMean;        // Statistic for mean
    104107
    105108    int remnanceSize;                   // Size for remnance detection
  • branches/eam_branches/20091201/ppImage/src/ppImageDetrendPattern.c

    r26695 r26776  
    1616    pmCell *cell = NULL;
    1717
    18     assert (options->doPattern); // do not call if not needed
    19     assert (inputView->chip != -1);
    20     assert (inputView->cell == -1);
    21     assert (inputView->readout == -1);
    22     bool status;
    23     pmFPAfile *input = psMetadataLookupPtr(&status, config->files, "PPIMAGE.INPUT");
     18    assert(options->doPatternRow || options->doPatternCell); // do not call if not needed
     19    assert(inputView->chip != -1);
     20    assert(inputView->cell == -1);
     21    assert(inputView->readout == -1);
    2422
    25     pmFPAview *view = pmFPAviewAlloc(0); // View for local processing
    26     *view = *inputView;
     23    if (options->doPatternRow) {
     24        bool status;
     25        pmFPAfile *input = psMetadataLookupPtr(&status, config->files, "PPIMAGE.INPUT");
     26        pmFPAview *view = pmFPAviewAlloc(0); // View for local processing
     27        *view = *inputView;
     28        while ((cell = pmFPAviewNextCell(view, input->fpa, 1)) != NULL) {
     29            if (!cell->process || !cell->file_exists) {
     30                continue;
     31            }
     32            if (!pmFPAfileIOChecks(config, view, PM_FPA_BEFORE)) {
     33                ESCAPE("load failure for Cell");
     34            }
    2735
    28     while ((cell = pmFPAviewNextCell(view, input->fpa, 1)) != NULL) {
    29         if (!cell->process || !cell->file_exists) {
    30             continue;
    31         }
    32         if (!pmFPAfileIOChecks(config, view, PM_FPA_BEFORE)) {
    33             ESCAPE("load failure for Cell");
    34         }
    35 
    36         if (!cell->data_exists) {
    37             continue;
    38         }
    39 
    40         if (cell->readouts->n > 1) {
    41             psWarning ("Skipping Video Cell for ppImageDetrendPatternApply");
    42             continue;
    43         }
    44 
    45         psMetadataItem *doPattern = pmConfigRecipeValueByView(config, RECIPE_NAME, "PATTERN.SUBSET",
    46                                                               chip->parent, view); // Do we do pattern sub?
    47         if (!doPattern || doPattern->type != PS_DATA_BOOL) {
    48             ESCAPE("Unable to determine whether pattern matching should be applied.");
    49         }
    50         if (!doPattern->data.B) {
    51             continue;
    52         }
    53 
    54         psLogMsg("ppImage", PS_LOG_INFO, "Performing pattern subtraction for %d,%d\n", view->chip, view->cell);
    55 
    56         // process each of the readouts
    57         pmReadout *readout;         // Readout from cell
    58         while ((readout = pmFPAviewNextReadout (view, input->fpa, 1)) != NULL) {
    59             if (!pmFPAfileIOChecks(config, view, PM_FPA_BEFORE)) {
    60                 ESCAPE("load failure for Readout");
    61             }
    62             if (!readout->data_exists) {
     36            if (!cell->data_exists) {
    6337                continue;
    6438            }
    6539
    66             // perfore pattern correction
    67             if (!pmPatternRow(readout, options->patternOrder, options->patternIter, options->patternRej,
    68                               options->patternThresh, options->patternMean, options->patternStdev,
    69                               options->maskValue, options->darkMask)) {
    70                 psFree(view);
    71                 return(false);
     40            if (cell->readouts->n > 1) {
     41                psWarning ("Skipping Video Cell for ppImageDetrendPatternApply");
     42                continue;
     43            }
     44
     45            psMetadataItem *doPattern = pmConfigRecipeValueByView(config, RECIPE_NAME, "PATTERN.ROW.SUBSET",
     46                                                                  chip->parent, view); // Do pattern corr?
     47            if (!doPattern || doPattern->type != PS_DATA_BOOL) {
     48                ESCAPE("Unable to determine whether row pattern correction should be applied.");
     49            }
     50            if (!doPattern->data.B) {
     51                continue;
     52            }
     53
     54            psLogMsg("ppImage", PS_LOG_INFO, "Performing row pattern correction for %d,%d\n",
     55                     view->chip, view->cell);
     56
     57            // process each of the readouts
     58            pmReadout *readout;         // Readout from cell
     59            while ((readout = pmFPAviewNextReadout (view, input->fpa, 1)) != NULL) {
     60                if (!pmFPAfileIOChecks(config, view, PM_FPA_BEFORE)) {
     61                    ESCAPE("load failure for Readout");
     62                }
     63                if (!readout->data_exists) {
     64                    continue;
     65                }
     66
     67                // Perform pattern correction
     68                if (!pmPatternRow(readout, options->patternRowOrder, options->patternRowIter,
     69                                  options->patternRowRej, options->patternRowThresh, options->patternRowMean,
     70                                  options->patternRowStdev, options->maskValue, options->darkMask)) {
     71                    psFree(view);
     72                    return(false);
     73                }
    7274            }
    7375        }
     76        psFree(view);
    7477    }
    7578
    76     psFree(view);
     79    if (options->doPatternCell) {
     80        int numCells = chip->cells->n;       // Number of cells
     81        psVector *tweak = psVectorAlloc(numCells, PS_TYPE_U8); // Tweak cell?
     82        pmFPAview *view = pmFPAviewAlloc(0); // View for local processing
     83        *view = *inputView;
     84        for (int i = 0; i < chip->cells->n; i++) {
     85            view->cell = i;
     86            psMetadataItem *doPattern = pmConfigRecipeValueByView(config, RECIPE_NAME, "PATTERN.CELL.SUBSET",
     87                                                                  chip->parent, view); // Do pattern sub?
     88            if (!doPattern || doPattern->type != PS_DATA_BOOL) {
     89                ESCAPE("Unable to determine whether cell pattern correction  should be applied.");
     90            }
     91            if (doPattern->data.B) {
     92                tweak->data.U8[i] = 0xFF;
     93            }
     94        }
     95
     96        // Tweak the cells
     97        if (!pmPatternCell(chip, tweak, options->patternCellBG, options->patternCellMean,
     98                           options->maskValue, options->darkMask)) {
     99            psFree(tweak);
     100            psFree(view);
     101            return false;
     102        }
     103        psFree(tweak);
     104        psFree(view);
     105    }
     106
    77107    return(true);
    78108}
  • branches/eam_branches/20091201/ppImage/src/ppImageLoop.c

    r26693 r26776  
    163163        }
    164164
    165         // Apply the pattern noise correction
    166         if (options->doPattern) {
     165        // Apply the pattern correction
     166        if (options->doPatternRow || options->doPatternCell) {
    167167          if (!ppImageDetrendPatternApply(config,chip,view,options)) {
    168168            ESCAPE("Unable to apply pattern corrections");
  • branches/eam_branches/20091201/ppImage/src/ppImageOptions.c

    r25930 r26776  
    3232    options->doShutter       = false;   // Shutter correction
    3333    options->doFlat          = false;   // Flat-field normalisation
    34     options->doPattern       = false;   // Pattern noise subtraction
     34    options->doPatternRow    = false;   // Row pattern correction
     35    options->doPatternCell   = false;   // Cell pattern correction
    3536    options->doFringe        = false;   // Fringe subtraction
    3637    options->doPhotom        = false;   // Source identification and photometry
     
    9091    options->fringeKeep      = 1.0;     // Fringe keep fraction
    9192
    92     // Pattern noise values
    93 
    94     options->patternOrder    = 0;       // Polynomial order
    95     options->patternIter     = 0;       // Clipping iterations
    96     options->patternRej      = NAN;     // Clipping rejection threshold
    97     options->patternThresh   = NAN;     // Threshold for ignoring pixels
    98     options->patternMean     = PS_STAT_NONE; // Statistic for mean
    99     options->patternStdev    = PS_STAT_NONE; // Statistic for standard deviation
     93    // Pattern correction values
     94
     95    options->patternRowOrder    = 0;       // Polynomial order
     96    options->patternRowIter     = 0;       // Clipping iterations
     97    options->patternRowRej      = NAN;     // Clipping rejection threshold
     98    options->patternRowThresh   = NAN;     // Threshold for ignoring pixels
     99    options->patternRowMean     = PS_STAT_NONE; // Statistic for mean
     100    options->patternRowStdev    = PS_STAT_NONE; // Statistic for standard deviation
     101    options->patternCellBG      = PS_STAT_NONE; // Statistic for background
     102    options->patternCellMean    = PS_STAT_NONE; // Statistic for mean
    100103
    101104    // Remnance values
     
    238241    options->doFringe = psMetadataLookupBool(NULL, recipe, "FRINGE");
    239242    options->doShutter = psMetadataLookupBool(NULL, recipe, "SHUTTER");
    240     options->doPattern = psMetadataLookupBool(NULL, recipe, "PATTERN");
     243    options->doPatternRow = psMetadataLookupBool(NULL, recipe, "PATTERN.ROW");
     244    options->doPatternCell = psMetadataLookupBool(NULL, recipe, "PATTERN.CELL");
    241245
    242246    options->doStats = false;
     
    250254    options->burntoolTrails = psMetadataLookupS32(&status, recipe, "BURNTOOL.TRAILS");
    251255    psTrace("psModules.detrend", 7, "burntoolTrails: %d BURNTOOL.TRAILS: %d Status: %d\n",
    252             options->burntoolTrails,psMetadataLookupS32(&status,recipe,"BURNTOOL.TRAILS"),status);
     256            options->burntoolTrails,psMetadataLookupS32(&status,recipe,"BURNTOOL.TRAILS"),status);
    253257    if (!status) {
    254258      psWarning("BURNTOOL.TRAILS not found in recipe: setting to default value.\n");
    255259    }
    256    
     260
    257261    // binned image options
    258262    options->xBin1 = psMetadataLookupS32(&status, recipe, "BIN1.XBIN");
    259263    if (!status) {
    260264        psWarning("BIN1.XBIN not found in recipe: setting to default value.\n");
    261         options->xBin1 = 4;
     265        options->xBin1 = 4;
    262266    }
    263267    options->yBin1 = psMetadataLookupS32(&status, recipe, "BIN1.YBIN");
     
    320324    options->fringeKeep = psMetadataLookupF32(NULL, recipe, "FRINGE.KEEP");
    321325
    322     // Pattern noise
    323     options->patternOrder = psMetadataLookupS32(NULL, recipe, "PATTERN.ORDER");
    324     options->patternIter = psMetadataLookupS32(NULL, recipe, "PATTERN.ITER");
    325     options->patternRej = psMetadataLookupF32(NULL, recipe, "PATTERN.REJ");
    326     options->patternThresh = psMetadataLookupF32(NULL, recipe, "PATTERN.THRESH");
    327     options->patternMean = psStatsOptionFromString(psMetadataLookupStr(NULL, recipe, "PATTERN.MEAN"));
    328     options->patternStdev = psStatsOptionFromString(psMetadataLookupStr(NULL, recipe, "PATTERN.STDEV"));
     326    // Pattern correction
     327    options->patternRowOrder = psMetadataLookupS32(NULL, recipe, "PATTERN.ROW.ORDER");
     328    options->patternRowIter = psMetadataLookupS32(NULL, recipe, "PATTERN.ROW.ITER");
     329    options->patternRowRej = psMetadataLookupF32(NULL, recipe, "PATTERN.ROW.REJ");
     330    options->patternRowThresh = psMetadataLookupF32(NULL, recipe, "PATTERN.ROW.THRESH");
     331    options->patternRowMean = psStatsOptionFromString(psMetadataLookupStr(NULL, recipe, "PATTERN.ROW.MEAN"));
     332    options->patternRowStdev = psStatsOptionFromString(psMetadataLookupStr(NULL, recipe, "PATTERN.ROW.STDEV"));
     333    options->patternCellBG = psStatsOptionFromString(psMetadataLookupStr(NULL, recipe, "PATTERN.CELL.BG"));
     334    options->patternCellMean = psStatsOptionFromString(psMetadataLookupStr(NULL, recipe, "PATTERN.CELL.MEAN"));
    329335
    330336    // Remnance options
  • branches/eam_branches/20091201/psModules/src/detrend/pmPattern.c

    r26731 r26776  
    127127    return true;
    128128}
     129
     130
     131
     132
     133bool pmPatternCell(pmChip *chip, const psVector *tweak, psStatsOptions bgStat, psStatsOptions cellStat,
     134                   psImageMaskType maskVal, psImageMaskType maskBad)
     135{
     136    PS_ASSERT_PTR_NON_NULL(chip, false);
     137    PS_ASSERT_VECTOR_NON_NULL(tweak, false);
     138    PS_ASSERT_VECTOR_SIZE(tweak, chip->cells->n, false);
     139    PS_ASSERT_VECTOR_TYPE(tweak, PS_TYPE_U8, false);
     140
     141    int numCells = tweak->n;            // Number of cells
     142
     143    psVector *mean = psVectorAlloc(numCells, PS_TYPE_F32); // Mean for each cell
     144    psVector *meanMask = psVectorAlloc(numCells, PS_TYPE_VECTOR_MASK); // Mask for means
     145    psVectorInit(mean, NAN);
     146    psVectorInit(meanMask, 0);
     147
     148    // Mask bits
     149    enum {
     150        PM_PATTERN_IGNORE = 0x01,       // Ignore this cell
     151        PM_PATTERN_TWEAK  = 0x02,       // Tweak this cell
     152        PM_PATTERN_ERROR  = 0x04,       // Error in calculating background
     153        PM_PATTERN_ALL    = 0xFF,       // All causes
     154    };
     155
     156    // Count number of cells to tweak
     157    int numTweak = 0;                   // Number of cells to tweak
     158    int numIgnore = 0;                  // Number of cells to ignore
     159    for (int i = 0; i < numCells; i++) {
     160        pmCell *cell = chip->cells->data[i]; // Cell of interest
     161        if (!cell || !cell->data_exists || !cell->process ||
     162            cell->readouts->n == 0 || cell->readouts->n > 1 || !cell->readouts->data[0]) {
     163            numIgnore++;
     164            meanMask->data.PS_TYPE_VECTOR_MASK_DATA[i] = PM_PATTERN_IGNORE;
     165            continue;
     166        }
     167        if (tweak->data.U8[i]) {
     168            meanMask->data.PS_TYPE_VECTOR_MASK_DATA[i] = PM_PATTERN_TWEAK;
     169            numTweak++;
     170        }
     171    }
     172    if (numTweak == 0) {
     173        // Nothing to do
     174        psFree(mean);
     175        psFree(meanMask);
     176        return true;
     177    }
     178    if (numTweak >= numCells - numIgnore) {
     179        psError(PS_ERR_BAD_PARAMETER_VALUE, true, "Cannot pattern-correct all cells within a chip.");
     180        psFree(mean);
     181        psFree(meanMask);
     182        return false;
     183    }
     184
     185    // Measure mean of each cell
     186    // This is not really the perfect thing to do, which would be to take a common mean for the set of cells
     187    // which aren't being tweaked (because some cells will be heavily masked, so shouldn't be weighted the
     188    // same as pure cells), but it's simple and fast.
     189    psStats *bgStats = psStatsAlloc(bgStat); // Statistics on background
     190    psRandom *rng = psRandomAlloc(PS_RANDOM_TAUS); // Random number generator
     191    for (int i = 0; i < numCells; i++) {
     192        if (meanMask->data.PS_TYPE_VECTOR_MASK_DATA[i] & PM_PATTERN_IGNORE) {
     193            continue;
     194        }
     195        pmCell *cell = chip->cells->data[i]; // Cell of interest
     196        pmReadout *ro = cell->readouts->data[0]; // Readout of interest
     197
     198        psStatsInit(bgStats);
     199#if 1
     200        if (!psImageBackground(bgStats, NULL, ro->image, ro->mask, maskVal, rng)) {
     201            psWarning("Unable to measure background for cell %d\n", i);
     202            psErrorClear();
     203            meanMask->data.PS_TYPE_VECTOR_MASK_DATA[i] |= PM_PATTERN_ERROR;
     204            continue;
     205        }
     206#else
     207        if (!psImageStats(bgStats, ro->image, ro->mask, maskVal)) {
     208            psWarning("Unable to measure background for cell %d\n", i);
     209            psErrorClear();
     210            meanMask->data.PS_TYPE_VECTOR_MASK_DATA[i] |= PM_PATTERN_ERROR;
     211            continue;
     212        }
     213#endif
     214        mean->data.F32[i] = psStatsGetValue(bgStats, bgStat);
     215        if (!isfinite(mean->data.F32[i])) {
     216            psWarning("Non-finite background for cell %d\n", i);
     217            psErrorClear();
     218            meanMask->data.PS_TYPE_VECTOR_MASK_DATA[i] |= PM_PATTERN_ERROR;
     219            continue;
     220        }
     221    }
     222    psFree(bgStats);
     223    psFree(rng);
     224
     225    psStats *cellStats = psStatsAlloc(cellStat); // Statistics on cells
     226    if (!psVectorStats(cellStats, mean, NULL, meanMask, PM_PATTERN_ALL)) {
     227        psError(PS_ERR_UNKNOWN, false, "Unable to calculate mean cell background.");
     228        psFree(mean);
     229        psFree(meanMask);
     230        psFree(cellStats);
     231        return false;
     232    }
     233
     234    float background = psStatsGetValue(cellStats, cellStat); // Background value for chip
     235    psFree(cellStats);
     236    if (!isfinite(background)) {
     237        psError(PS_ERR_UNKNOWN, false, "Non-finite mean cell background.");
     238        psFree(mean);
     239        psFree(meanMask);
     240        return false;
     241    }
     242
     243    psLogMsg("psModules.detrend", PS_LOG_DETAIL, "Mean chip background is %f", background);
     244
     245    for (int i = 0; i < numCells; i++) {
     246        if (meanMask->data.PS_TYPE_VECTOR_MASK_DATA[i] & PM_PATTERN_IGNORE) {
     247            continue;
     248        }
     249        if (!(meanMask->data.PS_TYPE_VECTOR_MASK_DATA[i] & PM_PATTERN_TWEAK)) {
     250            continue;
     251        }
     252        pmCell *cell = chip->cells->data[i]; // Cell of interest
     253        pmReadout *ro = cell->readouts->data[0]; // Readout of interest
     254        if (meanMask->data.PS_TYPE_VECTOR_MASK_DATA[i] & PM_PATTERN_ERROR) {
     255            psImageInit(ro->image, NAN);
     256            psBinaryOp(ro->mask, ro->mask, "|", psScalarAlloc(maskBad, PS_TYPE_IMAGE_MASK));
     257            continue;
     258        }
     259        float correction = background - mean->data.F32[i]; // Correction to apply
     260        psLogMsg("psModules.detrend", PS_LOG_DETAIL, "Correcting background of cell %d by %f", i, correction);
     261        psBinaryOp(ro->image, ro->image, "+", psScalarAlloc(correction, PS_TYPE_F32));
     262    }
     263
     264    psFree(mean);
     265    psFree(meanMask);
     266
     267    return true;
     268}
  • branches/eam_branches/20091201/psModules/src/detrend/pmPattern.h

    r24903 r26776  
    3131    );
    3232
     33/// Fix the background on cells known to be troublesome
     34bool pmPatternCell(
     35    pmChip *chip,                       ///< Chip to correct
     36    const psVector *tweak,              ///< U8 vector indicating whether to tweak the corresponding cell
     37    psStatsOptions bgStat,              ///< Statistic to use for background measurement
     38    psStatsOptions cellStat,            ///< Statistic to use for combination of cell background measurements
     39    psImageMaskType maskVal,            ///< Mask value to use
     40    psImageMaskType maskBad             ///< Mask value to give bad pixels
     41    );
     42
     43
    3344/// @}
    3445#endif
Note: See TracChangeset for help on using the changeset viewer.