ChangeLog for edetect_stack
===========================

Version 0.8.1 - 2022-12-15 (IT)
-----------
        + edetect_stack.pl: repaired she-bang

Version 0.8 - 2022-11-30 (IT)
-----------
	+ stacked fluxes are error-weighted instead of ("traditionally")
	  exposure-weighted to reduce the number of outliers
	+ detection likelihoods <inst>_<band>_DET_ML in the observation
	  level rows (= DET_ML of individual images): take degrees of
	  freedom into account as well
	+ mosaic-mode observations: allow for more (pseudo-)exposure
	  identifiers beyond the emosaic_prep standards
        + code cosmetics (informational output etc)
        + documentation updated

Version 0.7.1 - 2022-07-04 (EO)
-------------
	+ src/edtect_stack.pl: Replaced she-bang /usr/local/bin/perl by 
	/usr/bin/env perl.

Version 0.7 - 2021-06-30 (IT)
-----------
	+ introduced a local function doubleParameter for attcalc
	  imagesize, coordinates, and ecfs to achieve higher precision than
	  offered by sasparam (still limited in the called tasks, of
	  course). For convenience, it accepts complete lists / arrays.
	+ added information on task version and elapsed time (SparseMsg)
	  and on arguments (VerboseMsg)
	+ experimental parameter filelist to store the list of event lists
	  that were actually used (overlapping with a user-provided input
	  region, if smaller than the full stack area)
	+ define column names in loops to make e.g. addition of new columns,
	  different band numbers or unit names more convenient (for the
	  developer :-) ), updated some column descriptions
	+ introduce flux-ratio variability
	+ after code changes in dpssflag: work with image-level flags in
	  the input source list only and transmit them into instrument,
	  observation, and stack flags, not merging with the dpssflag summaries
	+ flag 8, 9 / dpssflag parameter brlimit: For the moment, activate them
	  for pn and flag 9 with a small "badfactor", ie. only for pixels
	  adjacent to pn bad pixels. De-activated for MOS1. Note: Flag 9 is not
	  active in the other catalogues at all and not used for MOS2 anyway.
	+ gunzip compressed input list in stack_sourcelist.pl before dpssflag
	  (SSC-internal part of the task)
	+ consider undefined values when reading input lists (thus
	  suppressing warnings)
        + changed format of some units (power instead of division slash) on
	  internal request
	+ DEPEND: updated to esensmap-4.0
	+ new parameter to produce sensitivity maps in flux units: esen_outunit

Version 0.6.2 - 2020-08-01 (IT)
-------------
	Removed temporary debugging output.

Version 0.6.1 - 2020-07-22 (IT)
-------------
	Dependencies updated.

Version 0.6 - 2020-07-15 (IT)
-------------
	4XMM-DR9s related:
        + Introduced new columns in the source list in catalogue format:
	  N_EXP holds the number of exposures (instrument-level) involved
	  in the fit to a source.
	  OVERLAP (boolean) indicates whether the center of the source is
	  located in an overlap area (N_CONTRIB>1).
	  DIST_REF holds the angular distance of the source to the
	  reference coordinates of the frame.
	  N_BLEND holds the number of simultaneously fit sources (from
	  emldetect's ID_CLUSTER)
        + Added VAR_PROB, VAR_PROB_n, which were calculated externally for DR7s.
	+ Replaced emosaic by the more efficient imweightadd (without
	  weights). Parameter is still called "runemosaic".
	+ Experimental integer keyword "parallel": number of CPUs to be
	  used for parallel processing of the input data (observation-level
	  task calls like attcalc). Requires non-standard module
	  Parallel::ForkManager (if parallel>1)!
	+ Explicitly skip observations loop if only stacking stages are run.
	+ Updated parameters to 4XMM defaults:
	  eboxl_nruns=3 esp_scut=2e-4 esp_snrmin=12
	4XMM-DR10s related:
	+ allow for emldetect's experimental tmpwrite parameter
	+ allow for evselect's zcolumn parameters
	+ Updated pile-up calculation for extended sources (cf. emldetect).
	+ Documentation updated.

Version 0.5 - 2019-02-23 (IT)
-------------
	+ Introduce boolean keyword "compress" to gzip files on the
	  fly. Slows down FITS I/O, but significantly reduces disk space
	  requirements. When starting from a minstage > 1, only input files
	  having suffix .gz or .ftz (case insensitive) are recognized as
	  compressed versions of .fits files.
	+ edetect_stack.pl: Read all input files right at the start-up
	  (in order to ease the compression step).
	+ edetect_stack.pl run_sastask(): pass emldetect command to shell
	  script file if the command length exceeds the maximum argument
	  string length (which is 131072 for most linux kernels) and thus
	  could not be executed directly.
        + edetect_stack.pl, input names: Single arguments are recognized
	  as file names now if a file with this name is found.
	Related to the preparations for 4XMM within emldetect:
	+ stack_sourcelist.pl: Change all tests on EXT_ML to EXT(ENT)
	  after introducing extent likelihoods for point-like sources in
	  emldetect.
	+ stack_sourcelist.pl: Estimate pile-up level for the three EPIC
	  instruments. The total pile-up is the maximum of the
	  observation-level values.
	+ Documentation updated.

Version 0.4.2 - 2018-06-11 (IT)
-------------
	+ stack_sourcelist.pl: Updated instrument count rates in summary rows.

Version 0.4.1 - 2018-05-31 (IT)
-------------
        + stack_sourcelist.pl: fixed an index bug affecting EP_HR*
	  in summary rows and a missing conditional on NaNs affecting
	  EP_HR* in per-observation rows (SPR-7489).

Version 0.4 - 2018-03-17 (IT)
-----------
	+ edetect_stack.pl: minimum imagebuffersize of eboxdetect and
	  emldetect is 100.
	+ stack_sourcelist.pl: fix of row indexes in case of only one instrument
	+ tests: even smaller and fewer images, so tests will complete in
	  time also on slower machines

Version 0.3.1 - 2018-02-16 (JVP & EO)
-------------
	+ test/*.txt: Removed GPL disclaimer from these files to avoid being
	interpreted as entries to test scripts.

Version 0.3 - 2018-02-13 (EO)
-----------------------------
	+ This is a new major version of this package including a new GNU
	Public License Text disclaimer required to distribute the SAS source
	code to the Astronomical Community under the terms of the GNU Public
	License. The text as it is shown below is the same that has been 
	included in all SAS source code files.

	ESA (C) 2000-2018 

	This file is part of ESA's XMM-Newton Scientific Analysis System
	(SAS).

	SAS is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	SAS is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.
	   
	You should have received a copy of the GNU General Public License
	along with SAS.  If not, see <http://www.gnu.org/licenses/>.
	---------------------------------------------------------------------


Version 0.2 - 2018-02-09 (IT)
-----------------------------
	+ re-write of stack_sourcelist.pl, second output source list in
	  catalogue format; use of dpssflag, if available (SSC internally)
	+ automatized coordinate determination from attitude files: ignore
	  NaNs and discard positions more than 2 degrees off their median
	+ updated check on overlapping observations
	+ skip runeboxdetectstack if only one input observation is provided

Version 0.1.1 - 2016-10-20 (IT)
--------------------------
	+ test harness completed. Check whether tasks are run and output
	  source lists exist.
	+ minor code updates

Version 0.1 - 2016-10-07 (IT)
------------------------
        + Initial commit, comprising the perl files edetect_stack.pl and
	  stack_sourcelist.pl and a minimal test whether the edetect_stack
	  can be started. For details on the structure of the task,
	  consult the draft documentation.