------------------------------------------------------------------------
r298440 | agabasch | 2025-07-03 11:51:35 +0200 (Do, 03 Jul 2025) | 2 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostc/gasgano/QMOST.prefs
   M /trunk/Pipelines/qmost/qmostc/oca/qmost.properties
   M /trunk/Pipelines/qmost/qmostc/pso-releasenotes.txt
   M /trunk/Pipelines/qmost/qmostp/configure.ac

update to version 0.8.0 for a new release

------------------------------------------------------------------------
r298064 | jirwin | 2025-06-18 14:43:51 +0200 (Mi, 18 Jun 2025) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/workflows/qmost_parameters.yaml

EDPS workflow: changed default and science to QC1 (recipe defaults).


------------------------------------------------------------------------
r297940 | agabasch | 2025-06-12 09:11:59 +0200 (Do, 12 Jun 2025) | 21 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/workflows/qmost_parameters.yaml

update from Lodovico Coccoato because of:


When running the QC1 process in Chile, the qcflow component calls edps
with the parameter set "default_parameters", which has been defined.

When running the QC0 process in Chile, the qcflow component calls edps
with the parameter set "qc0_parameters", which is set to inherit the
parameters defined in "default_parameters".

When edps is called from the command line or the gui, without
specifying any parameter set, then edps is invoked with the parameter
set "science_parameters". This last one, is set to inherit the
parameters defined in "default_parameters".

The parameter sets: "default_parameters" and "science_parameters",
must be defined with exactly these names.




------------------------------------------------------------------------
r297859 | jirwin | 2025-06-06 11:55:43 +0200 (Fr, 06 Jun 2025) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c

qmost_linearity_analyse: fixed error in recipe doxygen.


------------------------------------------------------------------------
r297789 | jirwin | 2025-06-03 15:03:40 +0200 (Di, 03 Jun 2025) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c

qmost_fibre_flat_analyse: increased ADU limit on twilight flats to a
more sensible value based on laboratory tests.


------------------------------------------------------------------------
r297740 | jirwin | 2025-05-28 13:00:20 +0200 (Mi, 28 Mai 2025) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ccdproc-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias_combine.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark_combine.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fpe_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_psf_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

qmost_ccdproc: implemented variance propagation for detector
calibrations.  Addresses QMOST-1408.  Action item QMOST-1558.


------------------------------------------------------------------------
r297494 | jirwin | 2025-05-16 14:33:09 +0200 (Fr, 16 Mai 2025) | 8 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c

qmost_doarcs.c: modified centre of gravity for arc lines to restrict
to fixed 5 pixel window rather than using the entire line.  This is a
workaround for a hardware issue, to reduce the influence of wing
asymmetry in FPE lines on the wavelengths, which differs between
science and simucal fibres.  Partially addresses QMOST-1433 on
wavelength calibration.


------------------------------------------------------------------------
r297487 | jirwin | 2025-05-16 11:30:10 +0200 (Fr, 16 Mai 2025) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias_combine.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark_combine.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat_analyse.c

Added --reference=true flag to arc, bias, dark, detector_flat to
produce a REFERENCE frame.  Addresses QMOST-1079.  Action item
QMOST-1420.


------------------------------------------------------------------------
r297486 | jirwin | 2025-05-16 11:15:26 +0200 (Fr, 16 Mai 2025) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c

qmost_doarcs: use parabolic interpolation for maximum in FWHM.
Addresses bias in measured FWHM values resulting from underestimating
the maximum and thus half maximum values due to pixellation.


------------------------------------------------------------------------
r297485 | jirwin | 2025-05-16 11:08:08 +0200 (Fr, 16 Mai 2025) | 15 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.c

qmost_doarcs.c:

* Fixed crash in qmost_fpmeasure due to nan when there are no lines.

qmost_ffnorm_fib.c:

* Fixed erroneous check of bad pixel count against number of fibres,
  rather than number of pixels, causing ends of normalised fibre flat
  to get cut off.

* Exclude fibres we don't use for median from range.

* Added divide by zero protection to qmost_obffcor_fib.


------------------------------------------------------------------------
r296412 | agabasch | 2025-03-21 10:56:44 +0100 (Fr, 21 Mär 2025) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostc/gasgano/QMOST.prefs
   M /trunk/Pipelines/qmost/qmostc/oca/qmost.properties
   M /trunk/Pipelines/qmost/qmostc/pso-releasenotes.txt
   M /trunk/Pipelines/qmost/qmostp/configure.ac

update to version 0.7.1 as version 0.7.0 was tagged


------------------------------------------------------------------------
r296374 | cgarcia | 2025-03-20 15:55:40 +0100 (Do, 20 Mär 2025) | 2 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/configure.ac
   A /trunk/Pipelines/qmost/qmostp/reports
   A /trunk/Pipelines/qmost/qmostp/reports/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/reports/__init__.py

Create a dummy ADARI reports structure

------------------------------------------------------------------------
r296373 | agabasch | 2025-03-20 15:41:22 +0100 (Do, 20 Mär 2025) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/ChangeLog

update


------------------------------------------------------------------------
r296371 | jirwin | 2025-03-20 13:22:03 +0100 (Do, 20 Mär 2025) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_lininfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_lininfo.h

Fixed error in description and units of lin_med.


------------------------------------------------------------------------
r296128 | jirwin | 2025-03-12 15:33:56 +0100 (Mi, 12 Mär 2025) | 8 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c

Fixed possible out of bounds read in qmost_doarcs_ref if the reference
wavelength solution has too few fibres.

Added trap for the case where there are no traces in recipes
qmost_fibre_flat_analyse and qmost_science_process.  In this case
extracted spectrum is NULL and we can't continue.


------------------------------------------------------------------------
r295904 | jirwin | 2025-03-05 15:35:44 +0100 (Mi, 05 Mär 2025) | 10 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c

qmost_waveinfo bug fixes:

* Fixed fibre numbering in WAVE OFFSET QC if some fibres not live.

* Initialize fit_flag with zero in case there are nulls.  Should
  address valgrind reported issue with uninitialized memory in
  qmost_fibtab_arcqc() and random fluctuations in results for median
  FWHM reported by this routine in the FIBINFO table.


------------------------------------------------------------------------
r295902 | jirwin | 2025-03-05 15:05:04 +0100 (Mi, 05 Mär 2025) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/workflows/qmost_wkf.py

EDPS workflow bug fix: simuarc was missing REFERENCE_WAVE.


------------------------------------------------------------------------
r295871 | jirwin | 2025-03-03 13:07:11 +0100 (Mo, 03 Mär 2025) | 10 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c

qmost_ccdproc bug fixes:

* DRS SPECBIN and SPATBIN were reversed for detector calibrations.

* Set variance = 0 for bad pixels to flag in image products.

* Don't flat field bad pixels to prevent large +/- outliers due to
  taking the ratio of two numbers that are both zero +/- noise.


------------------------------------------------------------------------
r295805 | agabasch | 2025-02-27 13:57:18 +0100 (Do, 27 Feb 2025) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_arc_analyse.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_bias_combine.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_dark_combine.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_detector_flat_analyse.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_detector_noise.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_fibre_flat_analyse.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_fpe_analyse.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_linearity_analyse.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_psf_analyse.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_science_process.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_trace.yaml

update using the edps run


------------------------------------------------------------------------
r295800 | jirwin | 2025-02-27 12:36:38 +0100 (Do, 27 Feb 2025) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_linear.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c

Removed lamp brightness monitoring QC (QC MON parameters) from
linearity since this was not implemented in the 4MOST templates or
calibration plan.


------------------------------------------------------------------------
r295796 | jirwin | 2025-02-27 11:53:56 +0100 (Do, 27 Feb 2025) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_diffimg.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c

Fixed incorrect unit strings in difference images, trace and wavelength
solution tables.  Most of them were "pixels" vs "pixel" or "pix".


------------------------------------------------------------------------
r295678 | jirwin | 2025-02-24 13:31:48 +0100 (Mo, 24 Feb 2025) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c

Update QMOST data dictionary versions.


------------------------------------------------------------------------
r295476 | jirwin | 2025-02-18 12:40:42 +0100 (Di, 18 Feb 2025) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c

Implemented magnitude zero point QC parameters (QC ZMAG) in science
recipe for detection of large deviations in achieved effective
throughput such as large fibre positioning errors or clouds.


------------------------------------------------------------------------
r295471 | jirwin | 2025-02-18 11:57:36 +0100 (Di, 18 Feb 2025) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_imcombine_lite.c

Documented parameter "fibre" of qmost_imcombine_skylevel to fix
doxygen error.


------------------------------------------------------------------------
r293388 | agabasch | 2024-12-05 16:30:56 +0100 (Do, 05 Dez 2024) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostc/gasgano/QMOST.prefs
   M /trunk/Pipelines/qmost/qmostc/oca/qmost.properties
   M /trunk/Pipelines/qmost/qmostc/pso-releasenotes.txt
   M /trunk/Pipelines/qmost/qmostp/configure.ac

update to version 0.7.0 as version 0.6.0 was tagged


------------------------------------------------------------------------
r293386 | agabasch | 2024-12-05 16:28:10 +0100 (Do, 05 Dez 2024) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostc/gasgano/QMOST.prefs
   M /trunk/Pipelines/qmost/qmostc/oca/qmost.properties
   M /trunk/Pipelines/qmost/qmostc/pso-releasenotes.txt
   M /trunk/Pipelines/qmost/qmostp/configure.ac

updating to version 0.6.0


------------------------------------------------------------------------
r293106 | jirwin | 2024-11-20 13:46:12 +0100 (Mi, 20 Nov 2024) | 9 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pca.c

Minor fixes found while testing L1 cosmic rejection:

* Allow saturated pixels to be rejected in PSF extraction.  This stops
  cosmics with one or more saturated pixels from leaking through.

* Added outlier rejection to qmost_pca_recon_spec to mitigate problems
  with cosmics or strong spectral lines contaminating the sky regions.


------------------------------------------------------------------------
r293065 | jirwin | 2024-11-19 11:13:51 +0100 (Di, 19 Nov 2024) | 25 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_imcombine_lite.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_imcombine_lite.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_linear.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ccdproc-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ffnorm_fib-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_imcombine_lite-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_stats-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias_combine.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark_combine.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fpe_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_psf_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Improvements to twilight flat processing:

* Modified imcombine_lite to support scaling for fibre spectra so we
  can properly stack them when tracing twilight flats.  These
  illuminate 10% of the image pixels in 4MOST so we just use a
  modified skylevel routine where we select the brightest 10% to do
  the statistics on so as to avoid depending on the fibre mask (which
  wasn't made yet).  This modified scaling is controlled by the new
  argument "fibre" which is now set appropriately in all recipes, and
  defaults for fibre flat processing changed to enable the scaling.

* Don't use simultaneous calibration fibres in computation of median
  fibre flat spectrum or normalisation, unless the file has only
  simucal fibres.  They don't have the same illumination as the
  science fibres, particularly in twilight flats, where I don't know
  if they will even be illuminated.  Don't apply OB / twilight
  normalisation to them in case they weren't illuminated in these
  calibration frames.  The corrections aren't needed in the simucals
  anyway.

* Improved handling of zero valid pixels cases in ffnorm resptrack and
  rescale to prevent nans, which result in a crash when we try to
  write them to FITS header.  Found while testing the above change.


------------------------------------------------------------------------
r292963 | jirwin | 2024-11-13 13:17:08 +0100 (Mi, 13 Nov 2024) | 12 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_diffimg.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_model_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c

Fixes for problems from commissioning team bootcamp:

* qmost_doarcs_*: bug fix to treat negative FWHM flag values correctly
  when clamping them.

* qmost_wave_qc: fix to QC statistics to stop it emitting RMS MIN = 0
  when there are no good lines.

* Fixed missing units in a few fibre flat and PSF file FIBINFO table
  columns, and FITS header comment strings.


------------------------------------------------------------------------
r292598 | jirwin | 2024-10-25 15:41:51 +0200 (Fr, 25 Okt 2024) | 6 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_model_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c

Improved robustness of FWHM calculations and added NaN prevention.
Adopted a flag value of -1 for "could not determine" in the case of a
flat profile.  Functions doing statistics on FWHM adjusted accordingly
to ignore these values.


------------------------------------------------------------------------
r292323 | jirwin | 2024-10-15 13:28:44 +0200 (Di, 15 Okt 2024) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/workflows/qmost_datasources.py

Added validity ranges consistent with current version of calibration
plan to calibration datasources in EDPS workflow.


------------------------------------------------------------------------
r291577 | jirwin | 2024-09-09 16:40:23 +0200 (Mo, 09 Sep 2024) | 8 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt1d.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pca.c

qmost_pca_get_eigen: handle sum of eigenvalues equal to zero.  Fixes
crash trying to write NaN to PCATOTAL DRS header when input spectra
are bad (e.g. all zeros).

qmost_skyfilt: trap case where all pixels rejected so we don't emit
spectrum populated with blankval.


------------------------------------------------------------------------
r291552 | jirwin | 2024-09-06 12:55:30 +0200 (Fr, 06 Sep 2024) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c

qmost_fibtabload: Fixed possible out of bounds copying metrology.


------------------------------------------------------------------------
r291215 | jirwin | 2024-08-21 16:26:29 +0200 (Mi, 21 Aug 2024) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c

qmost_detect_and_trace.c: replaced Hanning-like convolution before
findpeaks with actual Hanning for marginally improved resistance to
outliers and reliability at edges of slitlets.


------------------------------------------------------------------------
r291047 | jirwin | 2024-08-09 11:19:29 +0200 (Fr, 09 Aug 2024) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/workflows/qmost_keywords.py

Added readout speed setting DET READ CURID to match rules for
detector calibrations in EDPS workflow.


------------------------------------------------------------------------
r290591 | jirwin | 2024-07-17 16:18:01 +0200 (Mi, 17 Jul 2024) | 35 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.c

Bug fixes resulting from extended test campaign:

qmost_ccdproc: fixed mistakes in the way the flat field gain
correction is incorporated in the variance.  Variance in photons is
calculated and then converted to ADU for amp 1 so applying the gain
correction later converts it to be for the proper amp.

qmost_extract_psf: fixed off by one error in bpm index in overlap, and
removed the workarounds for the problems this was causing.

Fixed bug in relabelling rejected pixels, shouldn't consider CR2 since
it causes us to see what we just did and the region grows as long as
the loop runs.  Removed unnecessary iteration.

Revised iterative rejection loop termination condition to skip
rejection on last iteration since it's not used and running it can
produce an inaccurate rejection map and goodness of fit statistic.

qmost_fibtab_arcqc: check OB solution is valid before reading in case
fibre is not live and doesn't have one.

qmost_rebin_spectra: changed from variance interpolation to variance
propagation.  The old behaviour was intended, but caused the
uncertainty to be overestimated by an amount dependent on the relative
size of the input and output bins.  The old behaviour can be restored
with an ifdef.

qmost_scattered: changed from lower quartile to median.  The old
behaviour was intended to provide resiliency to extended PSF halos
skewing the distribution of background intensities, but has the side
effect of underestimating the scattered light by about 1/1.48 of the
noise when these are not present.  The old behaviour can be restored
with an ifdef.


------------------------------------------------------------------------
r289134 | jirwin | 2024-04-29 12:44:29 +0200 (Mo, 29 Apr 2024) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_fibtab-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_utils-test.c

Propagate METROLOGY table information in raw files to FIBINFO table in
reduced output by cross-matching on FIB_ID.


------------------------------------------------------------------------
r288670 | jirwin | 2024-04-17 11:37:48 +0200 (Mi, 17 Apr 2024) | 6 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/acinclude.m4
   M /trunk/Pipelines/qmost/qmostp/configure.ac
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   A /trunk/Pipelines/qmost/qmostp/workflows
   A /trunk/Pipelines/qmost/qmostp/workflows/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/workflows/__init__.py
   A /trunk/Pipelines/qmost/qmostp/workflows/qmost_classification.py
   A /trunk/Pipelines/qmost/qmostp/workflows/qmost_datasources.py
   A /trunk/Pipelines/qmost/qmostp/workflows/qmost_keywords.py
   A /trunk/Pipelines/qmost/qmostp/workflows/qmost_parameters.yaml
   A /trunk/Pipelines/qmost/qmostp/workflows/qmost_rules.py
   A /trunk/Pipelines/qmost/qmostp/workflows/qmost_wkf.py

Implemented a basic EDPS workflow based on the existing OCA rules.

Organised and fixed missing tags in qmost_dfs_set_groups() revealed by
testing the workflow.


------------------------------------------------------------------------
r288133 | jirwin | 2024-03-26 14:40:50 +0100 (Di, 26 Mär 2024) | 17 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_doarcs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_fibtab-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_rebin_spectra-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_waveinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c

Wavelength calibration changes:

Added contrast to waveinfo table.

Changed type of peak to float to match DRPD.

Corrected a related error in traceinfo where I noticed what was being
done for contrast didn't quite match the description in the DRPD.

Implemented FPE pressure correction needed to address wavelength
variations due to vacuum leak described in nonconformance report 0075
VIS-NCR-4MOST-47110-1500-0003.  The FITS header keyword giving the
pressure has yet to be added to the raw files, so this doesn't do
anything at the moment, but it was tested by adding the header
manually, and should be active once the header is available.


------------------------------------------------------------------------
r287679 | jirwin | 2024-03-11 12:52:51 +0100 (Mo, 11 Mär 2024) | 25 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c

Bug fixes for issues found while processing lab sky spectrum and LRS-B
focus run.

qmost_detect_and_trace.c:searchref()

* Mallocated array for claimedby had incorrect length, it needs to be
  the length of the reference not the comparison.

* Signs of the comparisons to locate missing array elements were
  backwards resulting in the list being sorted backwards.

qmost_doarcs.c:eval_wave_map()

* Clamp x coordinates to be inside the wavelength map rather than
  raising an error.  This can happen if the trace is bad.

qmost_rebin_spectra_off():

* Allow mismatched wavelength solution table provided it has enough
  entries.  The error was changed to a warning in these cases.
  Wavelengths will most likely be incorrect but I needed to do this to
  get it to work on the LRS-A sky spectrum where there were no
  calibrations for that fibre configuration.


------------------------------------------------------------------------
r287541 | jirwin | 2024-03-05 12:51:33 +0100 (Di, 05 Mär 2024) | 11 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_skysub.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fpe_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_psf_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Added more QC based on experience with lab data and things that came
up while writing the quality assessment sections of the DRPD.  QC was
added to qmost_scattered and qmost_skysub, and new QC parameters for
goodness of fit to qmost_extract_psf, and the wavelength span (a
common issue encountered in lab data processing) to qmost_wave_qc.

The uncalibrated, extracted science spectrum (something I wanted to
look at while doing one of the lab test reductions) was added as an
optional "diagnostic" output in qmost_science_process.


------------------------------------------------------------------------
r287540 | jirwin | 2024-03-05 11:43:59 +0100 (Di, 05 Mär 2024) | 12 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_skysub.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_fibtab-test.c

FIBINFO table handling changes.

Don't remove FIB_ST == 0 in qmost_fibtabload, this behaviour is no
longer correct now we're handling bad fibres internally, and could
result in the FIBINFO table getting out of sync with the fibre numbers
in the rest of the pipeline.

Added support for the new FIB_ST codes 7 and 8 for telluric and
spectrophotometric standards that were added in the latest FCS-DMS
ICD.


------------------------------------------------------------------------
r287538 | jirwin | 2024-03-05 11:23:21 +0100 (Di, 05 Mär 2024) | 10 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c

qmost_extract_psf: moved the variance calculation inline to ensure it
properly matches the extraction in terms of rejected or bad pixels.
Previously it was possible for a case where all pixels were rejected
to not get flagged as bad in the output.

Implemented the correct profile-weighted result for the variance as an
option (off by default due to stability issues with ill-determined PSF
models, see discussion in the comment and latest DRPD version 2.83).


------------------------------------------------------------------------
r287523 | jirwin | 2024-03-04 11:20:15 +0100 (Mo, 04 Mär 2024) | 7 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_spec_combine.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_spec_combine-test.c

Revised stacking to implement the maximum likelihood weighting scheme
aka signal to variance weights, and cleaned up the surrounding
implementation.  Fixed the scaling of the outputs so the output photon
count doesn't get overestimated in case of unequal weights or rejected
pixels.


------------------------------------------------------------------------
r287521 | jirwin | 2024-03-04 11:02:44 +0100 (Mo, 04 Mär 2024) | 7 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c

qmost_rebin_spectra: calculate OB offset at start and end of pixel.

This ensures the result is contiguous, such that it obeys
wavein_r[i] == wavein_l[i+1].  Previously the offset was computed
at the centre, which could have caused tiny gaps or overlaps.


------------------------------------------------------------------------
r287515 | jirwin | 2024-03-04 10:32:02 +0100 (Mo, 04 Mär 2024) | 6 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Update of qmost_trace recipe to support tracing FIBRE_FLAT_NIGHT and
FIBRE_FLAT_SKY.  This accompanies upcoming change to OCA rules to
implement OB-level trace, which seems to be needed for HRS based on
lab stability test results.


------------------------------------------------------------------------
r287034 | jirwin | 2024-02-07 13:05:21 +0100 (Mi, 07 Feb 2024) | 30 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt1d.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_model_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ffnorm_fib-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_filt1d-test.c

Fixes for a number of minor issues found while writing DRL function
algorithm descriptions for DRPD.

qmost_copy_sensfunc: fixed error in units of the SENSFUNC.

qmost_dfs_setup_product: added DRS and QC dictionary identifiers
(DIDs).

qmost_ffnorm_fib: in ff_meanvarcut the variance output should be
variance in the mean, not mean variance (factor 1/N).  This was
causing the uncertainty to be overestimated by x sqrt(smooth) when
smoothing in use.  Corrected handler for cases where we can't compute
mean variance, and cleaned up the remainder of this calculation.

Fixed NORMLEVEL output to be the same thing regardless of renorm flag
setting; previously it was the reciprocal for true vs false.

qmost_ffdiv_fib: when propagating the variance the trap for zero
pixels is unnecessary, by rewriting the equation the divide by zero
is avoided.

qmost_model_psf_full: corrected mistake in Gaussian arguments.
In overlap correction x was multiplied by sigma rather than 1/sigma.
This seems to help with crosstalk correction in some situations.

qmost_skyfilt: implemented unit test and fixed bug this revealed in
the error handler for qmost_med() where sigma was set to a null
pointer rather than setting the pointed value to zero as intended.


------------------------------------------------------------------------
r286926 | jirwin | 2024-01-31 13:15:12 +0100 (Mi, 31 Jan 2024) | 16 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_detect_and_trace_fib-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_doarcs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_psf-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_tram-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ffnorm_fib-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_model_psf-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_traceinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Trace enhancements:

Implemented fibre numbering based on spatial positions taken from a
reference trace table (search window +/- 0.5 trace width, with grid
search +/- 10 trace widths to account for any overall offset e.g. from
slit repositioning).  This is intended to be the main way of doing it
routinely and can be made robust to fibres coming and going if the
reference table includes positions for all fibres.  Assumes the trace
positions are quite stable, but this seems to be true in the lab where
measured offset after slit exachange was 2 pixels.

Added peak to trough contrast measure for assessment of spectrograph
focus.  The individual measurements are saved to the trace file in the
"contrast" column, and summarised by new QC header keywords.


------------------------------------------------------------------------
r286652 | jirwin | 2024-01-16 13:15:20 +0100 (Di, 16 Jan 2024) | 24 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fpe_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_psf_analyse.c

Fixes to recipes needed for or found while processing HRS lab data:

* Scale down arc.matchwindow for HRS so it's now specified (roughly)
  in spectral resolution elements.  A smaller matchwindow is needed
  for HRS to prevent confusion in the ThAr solutions.

* Changed arc.matchgrid for FPE to a default of 0 but allowing
  override to turn on the grid search.  This was something I had to do
  for HRS when searching for initial wavelength solutions for the
  science fibres.  The inevitable off by one or more FPE period errors
  were fixed manually using extracted calibrated spectra from
  "science" of an absolute wavelength standard (HgNe lamp in the case
  of lab data) until the derived wavelengths were correct.

* Changed all default arc.detthr values to 5.0 so we can reach the
  blue end of the blue arm in the wavelength solutions.  The SNR of
  arc and FPE lines is rather low here on all 3 spectrographs in lab
  data and they weren't being detected reliably with the previous
  thresholds.

* Fixed missing save of proc_fibre_flat output in qmost_psf_analyse
  when generating a dummy extension for an inactive detector.


------------------------------------------------------------------------
r286321 | jirwin | 2023-12-20 14:31:25 +0100 (Mi, 20 Dez 2023) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c

When using a different fibre from the reference wavelength solution,
use the WAVE_MAP to correct for the expected wavelength offset
between the fibres.


------------------------------------------------------------------------
r286202 | jirwin | 2023-12-15 11:52:08 +0100 (Fr, 15 Dez 2023) | 8 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c

qmost_detect_and_trace_fib_lim: fixed crash in sortbyx if there are no
traces.

qmost_fpmeasure: require 1 to 1 match when federating fibres.  This
prevents a rare buffer overflow issue when many detected features
match to a single line list entry.


------------------------------------------------------------------------
r286201 | jirwin | 2023-12-15 11:36:54 +0100 (Fr, 15 Dez 2023) | 18 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_psf_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Fixed the issue where EXPTIME is stripped in calibrations.

Set MJD-OBS and MJD-END correctly in stacks and add TEXPTIME.

As part of this change, switched from using cpl_propertylist_append to
cpl_propertylist_copy_property_regexp with a regexp that copies
everything so as to allow the property list we're appending to
override headers that were already set.  This is needed for MJD-OBS
so we override it rather than introducing a duplicate header.

Doing this introduces a new potential error condition if the override
data type mismatches.  I have not addressed this because I don't think
we can trigger it, but have noted it as a caveat.  Doing something
about it would involve writing a new function to replace the CPL
append/copy functions where the error is trapped and we delete and
recreate the property with the new type.


------------------------------------------------------------------------
r286199 | jirwin | 2023-12-15 11:19:43 +0100 (Fr, 15 Dez 2023) | 18 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_tram-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

qmost_extract_*: if there are no traces, return NULL.

This patch changes the behaviour of qmost_trace when nothing is
detected by removing the error raised by the extraction routines
when there are no traces, these now return NULL for the spectra
and a success error code.  qmost_extract_qc was also modified to
be a no-op returning success in such cases.

The recipe now runs to completion if nothing is detected, rather
than crashing, allowing the products to be saved properly
including QC saying nothing was detected and the PROC_FIBRE_FLAT
for examination to determine why nothing was detected.

This trace file still cannot be used as input to any downstream
consumers, these raise an error if there are no traces, but moving
the error downstream should help with diagnostics.


------------------------------------------------------------------------
r286087 | jirwin | 2023-12-11 14:04:30 +0100 (Mo, 11 Dez 2023) | 8 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c

Wavelength solution fixes and enhancements:

* Removed errant reset of xfeat and tmax, which was defeating my
  earlier change to add in continuum to peak.

* Added tie breaker using L1 norm to grid searches.


------------------------------------------------------------------------
r286086 | jirwin | 2023-12-11 13:52:34 +0100 (Mo, 11 Dez 2023) | 11 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_doarcs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_rebin_spectra-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fpe_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c

Correct for different minyst when using wavelength solution.

When using mismatched trace files, it's possible to end up with
extracted spectra that start at a different y position than was
used in the wavelength solution.  This patch uses the FITS headers
to correct for any such offsets.  When using the same slit mask,
the main place this could happen was using a binned fibre flat
for trace (e.g. OB-level) if the slit mask doesn't fall at integral
binned pixels.


------------------------------------------------------------------------
r285860 | jirwin | 2023-12-01 11:55:53 +0100 (Fr, 01 Dez 2023) | 25 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ccdproc-test.c

qmost_ccdproc fixes to make it work on real binned data now I've seen
some:

* Corrected treatment of amp geometry when binning in use.  My
  previous understanding of how the DET keywords are affected by
  binning (based on my reading of the description and equations in
  DICD) was incorrect.  They seem to always be given in physical
  (unbinned) pixels based on tests using ESPRESSO data downloaded from
  the ESO archive and real 4MOST binned data.

* Discard a consistent number of physical overscan pixels, rather than
  binned overscan pixels.  Discarding 3 binned pixels was too many for
  high binning e.g. 4x1 where the overscan strips get very narrow.
  Changed it to 3 physical pixels using "ceiling" operation.

* Fixed incorrect DRS OUTn SECT calculation when flip = true and swapx
  = true found while checking the sections for binned data, but it
  also affects unbinned.

Since I encoded my incorrect understanding from the first point above
in the delivered simulated binned data sets, these need to be updated
for the regression tests.  Updated files are provided at the usual
URL.


------------------------------------------------------------------------
r285810 | jirwin | 2023-11-28 13:49:48 +0100 (Di, 28 Nov 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_gaincor.c

Corrected the flip axes in qmost_gaincor, I misunderstood CPL docs.


------------------------------------------------------------------------
r285809 | jirwin | 2023-11-28 13:40:30 +0100 (Di, 28 Nov 2023) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c

qmost_trace_qc bug fix: case where there are no simucals before the
science fibres was not correctly handled in slitlet number calc.


------------------------------------------------------------------------
r285808 | jirwin | 2023-11-28 13:34:37 +0100 (Di, 28 Nov 2023) | 16 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_constants.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_fibtab-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_traceinfo-test.c

Replaced hard coded QMOST_NSIMUCAL_PER_SIDE with empirical method.

The FIBINFO table is consulted to find the smallest value of SLIT_POS,
which gives the slit position of the first science fibre.  These
numbers start from 1 for the first fibre in the slit, including
simucals, so we can infer the number of simucals by subtracting 1.
This is assumed to be the same at both ends of the slit.  Entries are
then added to the FIBINFO table for the simucals.

This solves one of the issues processing data from the real entrance
slit unit (ESU), which has 6 simucals per side rather than the 5 seen
in simulated data.  However some of them are broken in the real ESU
and further changes will be needed to detect_and_trace to properly
identify and account for these broken fibres.


------------------------------------------------------------------------
r285528 | jirwin | 2023-11-13 13:19:37 +0100 (Mo, 13 Nov 2023) | 24 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_model_psf.c

qmost_model_psf: bug fixes and improved overlap correction.

* Prevent divide by zero when normalising profiles.  This was causing
  NaNs to get into the array, which then "poisons" the entire PSF
  block.  Discovered due to bad pixels in latest LRS-B lab data.

* Improved overlap correction.

  Use the FWHM vs y position recorded in the trace table to produce
  a lookup table, and use this FWHM in the overlap calculation to
  account for FWHM variations.

  Use the average peak height from the peak column in the trace table
  to scale the Gaussians to also allow for variation of flat
  brightness between fibres.

  As part of this adjusted the peak columns to be as measured (include
  continuum) to avoid problems due to incorrect continuum levels in
  some fibres, particularly start and end of slitlets.

* Increased minimum profile variance in qmost_extract_psf to mitigate
  spurious rejection of pixels due to profile model deficiencies.


------------------------------------------------------------------------
r285526 | jirwin | 2023-11-13 12:56:33 +0100 (Mo, 13 Nov 2023) | 7 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_stats-test.c

qmost_meansig, meansigcut: corrected treatment of all pixels bad.

The callers assume this returns CPL_ERROR_DATA_NOT_FOUND but it
wasn't implemented and was just returning FLT_MAX.  Corrected the
implementation so it returns the error as expected.


------------------------------------------------------------------------
r285525 | jirwin | 2023-11-13 12:45:20 +0100 (Mo, 13 Nov 2023) | 6 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt1d.c

qmost_filt1d: fixed linear() bug xmns,xmnf should be float not int.

This was causing noticeable quantisation issues at the ends of arrays
with small numbers in them.


------------------------------------------------------------------------
r285524 | jirwin | 2023-11-13 12:39:20 +0100 (Mo, 13 Nov 2023) | 7 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_traceinfo-test.c

qmost_trace_qc: made simucal handling more general.

Uses fibinfo rather than the constants in preparation for changing it
to handle the variable number of simucals once the proper solution
for this problem has been decided.


------------------------------------------------------------------------
r285141 | jirwin | 2023-10-24 13:25:53 +0200 (Di, 24 Okt 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c

qmost_fibtab_newcols: deal with case where telescope coords missing.


------------------------------------------------------------------------
r285140 | jirwin | 2023-10-24 13:14:30 +0200 (Di, 24 Okt 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c

qmost_fpmeasure: ensure the line list table is sorted.


------------------------------------------------------------------------
r284636 | jirwin | 2023-09-29 11:42:52 +0200 (Fr, 29 Sep 2023) | 6 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_model_psf.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias_combine.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark_combine.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_noise.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fpe_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_psf_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Fixed typos and errors in doxygen, and added functional diagrams for
all recipes (needs HAVE_DOT in Doxyfile to produce output, but the
main reason for adding them was to produce the figures to go in the
DRPD).


------------------------------------------------------------------------
r284634 | jirwin | 2023-09-29 11:29:21 +0200 (Fr, 29 Sep 2023) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_psf_analyse.c

Fixed memory leaks in recipes qmost_fibre_flat_analyse (when
processing twilight flats), qmost_linearity_analyse,
qmost_psf_analyse.


------------------------------------------------------------------------
r284633 | jirwin | 2023-09-29 11:23:11 +0200 (Fr, 29 Sep 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_fibtab-test.c

Set HELIO_COR = 0 for simucal fibres to unify L1 and QC treatment.


------------------------------------------------------------------------
r284632 | jirwin | 2023-09-29 11:12:24 +0200 (Fr, 29 Sep 2023) | 7 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c

qmost_extract_psf: switched variance to alternative maximum
likelihood estimator based on the diagonal of the covariance
matrix to reduce spurious variances when the PSF is a bad fit.  This
should reduce the amount of pixels getting erroneously flagged as
bad in the variance extensions of extracted spectra.


------------------------------------------------------------------------
r284631 | jirwin | 2023-09-29 11:06:41 +0200 (Fr, 29 Sep 2023) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_skysub.c

qmost_skysub: changed sky variance calculation to a more robust
empirical method based on the MAD we already calculate.


------------------------------------------------------------------------
r284630 | jirwin | 2023-09-29 11:03:09 +0200 (Fr, 29 Sep 2023) | 6 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_blk.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_gaincor.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_linear.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_utils-test.c

Added qmost_cpl_propertylist_get_int() to robustly read int or bool
values from headers (being permissive about input data types)
similar to the existing functions for double and float.  Changed all
reads of int and bool header keywords to use this new function.


------------------------------------------------------------------------
r284628 | jirwin | 2023-09-29 10:44:57 +0200 (Fr, 29 Sep 2023) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_doarcs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_psf-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_tram-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ffnorm_fib-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_fibtab-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_model_psf-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_rebin_spectra-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_traceinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_waveinfo-test.c

Added peak counts column "peak" to the traceinfo and waveinfo
tables.  Requested by the commissioning team.


------------------------------------------------------------------------
r284627 | jirwin | 2023-09-29 10:33:58 +0200 (Fr, 29 Sep 2023) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt1d.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_imcombine_lite.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_linear.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_model_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_skysub.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_spec_combine.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c

Check the return of qmost_stats functions rather than casting to
void, and reset error code if one was raised.  In most cases used
generic code to set result to zero as a way to handle this case.


------------------------------------------------------------------------
r284625 | jirwin | 2023-09-29 10:18:20 +0200 (Fr, 29 Sep 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c

Changed default detection threshold for simuarcs from 20 to 10.


------------------------------------------------------------------------
r284624 | jirwin | 2023-09-29 10:15:05 +0200 (Fr, 29 Sep 2023) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_constants-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_dfs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_doarcs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_fibtab-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_linear-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_traceinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_utils-test.c

Changed uses of cpl_test_assert to cpl_test
I misunderstood what this macro does.  The correct "test a boolean
expression" macro is cpl_test() so replaced with that.


------------------------------------------------------------------------
r284623 | jirwin | 2023-09-29 10:08:16 +0200 (Fr, 29 Sep 2023) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt1d.c

qmost_filt1d.c:padext() bug fix if last pixels are bad, good.
Previously this would skip interpolating due to error in test
condition.


------------------------------------------------------------------------
r284463 | agabasch | 2023-09-25 11:04:40 +0200 (Mo, 25 Sep 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostc/gasgano/QMOST.prefs
   M /trunk/Pipelines/qmost/qmostc/oca/qmost.properties
   M /trunk/Pipelines/qmost/qmostc/pso-releasenotes.txt
   M /trunk/Pipelines/qmost/qmostp/configure.ac

update to version 0.5.1 as version 0.5.0 was tagged


------------------------------------------------------------------------
r284154 | jirwin | 2023-09-15 11:38:45 +0200 (Fr, 15 Sep 2023) | 6 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.h
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fpe_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_psf_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Default swap table for ccdproc.swapx was changed to the value
appropriate for 2023 March 9 lab data to allow for integration tests.
The previous default appropriate for simulated data can be recovered
by passing -DQMOST_SIMULATED_DATA at build time if needed.


------------------------------------------------------------------------
r284049 | agabasch | 2023-09-12 13:04:22 +0200 (Di, 12 Sep 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_arc_analyse.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_bias_combine.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_dark_combine.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_detector_flat_analyse.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_detector_noise.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_fibre_flat_analyse.yaml
   A /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_fpe_analyse.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_linearity_analyse.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_psf_analyse.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_science_process.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_trace.yaml

regression tests updated as taken from iterative paranal processing


------------------------------------------------------------------------
r284034 | agabasch | 2023-09-12 08:41:20 +0200 (Di, 12 Sep 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostc/gasgano/QMOST.prefs
   M /trunk/Pipelines/qmost/qmostc/oca/qmost.properties
   M /trunk/Pipelines/qmost/qmostc/pso-releasenotes.txt
   M /trunk/Pipelines/qmost/qmostp/configure.ac

update trunk version to 0.5.0 as version 0.4.0 was tagged


------------------------------------------------------------------------
r283896 | agabasch | 2023-09-06 10:59:17 +0200 (Mi, 06 Sep 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostc/gasgano/QMOST.prefs
   M /trunk/Pipelines/qmost/qmostc/oca/qmost.properties
   M /trunk/Pipelines/qmost/qmostc/pso-releasenotes.txt
   M /trunk/Pipelines/qmost/qmostp/configure.ac

changing version number from 0.3.1 to 0.4.0 in preparation of a new tagging


------------------------------------------------------------------------
r283871 | jirwin | 2023-09-05 10:17:10 +0200 (Di, 05 Sep 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt2d.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_model_psf.c

Fixes for warnings in doarcs, filt2d, model_psf.


------------------------------------------------------------------------
r283848 | jirwin | 2023-09-04 14:55:48 +0200 (Mo, 04 Sep 2023) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c

Fixed indexing mistake in linearity imagelist, I was using the input
index where I meant to use the output.


------------------------------------------------------------------------
r283796 | jirwin | 2023-08-31 13:22:59 +0200 (Do, 31 Aug 2023) | 6 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_model_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_model_psf.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_doarcs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_model_psf-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fpe_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_psf_analyse.c

Added limited support for spectral binning in all qmost_doarcs
routines and qmost_model_psf.  These and the recipes using them (arc,
fpe, psf) should now be able to process spectrally binned data,
insofar as this is possible.


------------------------------------------------------------------------
r283683 | jirwin | 2023-08-25 10:27:38 +0200 (Fr, 25 Aug 2023) | 14 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_doarcs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_pfits-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_traceinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c

Made reference wave solutions portable across slit mask changes.

In qmost_doarcs_ref, fixed the issue where the start y-position of the
reference wave file was assumed to be the same as the current trace
file.  This might not be true if a different slit mask was used so we
now account for any difference in start y-positions.

For OB solutions, the slit mask is still required to be the same as
for the master solution.  I think this is reasonable.

Added missing unit tests while we were working on qmost_pfits.c and
qmost_traceinfo.c for the above change.


------------------------------------------------------------------------
r283583 | jirwin | 2023-08-23 14:05:37 +0200 (Mi, 23 Aug 2023) | 14 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_constants.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Revised trace gap QC to use the proper slitlet structure.

A constant for number of fibres per slitlet was added and trace QC
revised to distinguish spacing of adjacent fibres within a slitlet
from spacing of slitlets.  This makes the trace gap and new slitlet
gap QC useful for detecting missing fibres, where the trace gap should
be very close to 6.6 pixels and the slitlet gap fairly close to 25
pixels.  Values far outside this range (e.g. a trace gap of twice the
correct value, a slitlet gap equal to what the trace gap should be,
etc.) indicate the trace table got desynchronised from the proper
slit structure by a missing fibre which was not correctly flagged in
the FIBINFO table.


------------------------------------------------------------------------
r283570 | jirwin | 2023-08-22 11:39:20 +0200 (Di, 22 Aug 2023) | 8 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.c

Removed the warning about missing ESO INS PATH in extension header in
qmost_pfits_get_arm when we fall back to using EXTNAME.  Based on my
current reading of the documents, PATH shouldn't be in the extension
header as it was in the simulated data, and EXTNAME is the correct way
to do it as seen in the lab data.  The simulated data don't have
correct EXTNAMEs so we still check PATH first.


------------------------------------------------------------------------
r283569 | jirwin | 2023-08-22 10:44:50 +0200 (Di, 22 Aug 2023) | 48 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_doarcs-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fpe_analyse.c

Fixes and enhancements to wavelength calibration:

Added initial grid search (--arc.matchgrid) to help with any large
shifts in the wavelengths compared to the wave map or reference for
the simuarc (ThAr) solutions.  This can't be used for FPE due to the
periodic nature of the FPE lines and their close spacing, particularly
in the blue, so it's only enabled for simuarcs in the recipe.

Changed the internals of arc.matchwindow to scale the match window
with wavelength so it's constant in velocity (equivalently, resolving
power).  The parameter now specifies it at 6000A and the default was
changed to 1.5A.  The scaling allows us to use a smaller value in the
blue where there's a greater risk of confusing the lines, but still
keep it large enough in the red to deal with the wavelength errors in
the saturated Argon lines.

Changed boxcar extraction width (--extract.width) to 5 pixels for arc
and FPE to prevent wiggles.

Tweaks to feature detection (findpeaks) in doarcs to bring it in line
with the current implementation of detect_and_trace.

If there's no reference wavelength solution for a fibre because it
wasn't live in the reference, use the nearest live fibre on the slit.

Fixed outlier rejection in arc fit, in case of 1 point we need to
compare with > rather than >= so resid=0, rms=0 isn't rejected.

Tightened default rejthr to 3.0 for simuarc solutions, this seems to
help with getting bad lines clipped out properly.

Changed default nord to 1 for OB solutions, based on tests with lab
data there seems to be a linear term in most of the arms.  Blue seems
to be a bit worse and would need higher degree to fully flatten it.

Modified qmost_cpl_table_set_byte_array to pad out any unset elements
in the output to zero to prevent cpl_table_save from seeing "invalid
elements" and writing TNULL = 0 to the FITS header when writing out
the fit_flag column in waveinfos.  This was causing confusing results
downstream where zeros (used to flag valid points) read as NULLs.
It's not a great solution but the cpl_table API doesn't seem to
provide any control over what TNULL value gets used for array
columns.

Removed my attempt to set TNULL for (scalar) integer columns in
waveinfos, I don't think it was doing anything.


------------------------------------------------------------------------
r283489 | jirwin | 2023-08-15 13:35:27 +0200 (Di, 15 Aug 2023) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias_combine.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark_combine.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_noise.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fpe_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_psf_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Overhaul of doxygen for the recipes.

Recipe descriptions similar to the DRPD were added to all recipes.


------------------------------------------------------------------------
r283488 | jirwin | 2023-08-15 13:03:02 +0200 (Di, 15 Aug 2023) | 10 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_blk.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_blk.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_constants.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_constants.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_diffimg.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_diffimg.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt1d.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt1d.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt2d.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt2d.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_gaincor.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_gaincor.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_imcombine_lite.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_imcombine_lite.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_linear.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_linear.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_lininfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_lininfo.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_model_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_model_psf.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pca.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pca.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_polynm.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_polynm.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_skysub.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_skysub.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_sort.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_sort.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_spec_combine.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_spec_combine.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.h

Overhaul of doxygen for the qmost DRL.

Function-level documentation was overhauled to fix errors, improve
descriptions, and add lists of input and output FITS headers, DRS
parameters, QC parameters, and input and output FIBINFO table columns.
Error codes were augmented to include everything the unit tests test
and some of the other CPL errors I'm aware of that might be returned
from CPL functions called internally.


------------------------------------------------------------------------
r283392 | jirwin | 2023-08-10 14:17:12 +0200 (Do, 10 Aug 2023) | 8 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c

qmost_science_process: converted no sky fibres from error to warning.

If there are no sky fibres in the input FIBINFO, skysub fails with
CPL_ERROR_DATA_NOT_FOUND.  Added a trap for this to emit a warning
instead (and dummy extensions in the EIGEN and SKY files) so it's
now a non-fatal error condition for the recipe.


------------------------------------------------------------------------
r283391 | jirwin | 2023-08-10 11:16:16 +0200 (Do, 10 Aug 2023) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_scattered-test.c

qmost_scattered: fixed a misleading error code.
Changed CPL_ERROR_ILLEGAL_INPUT to CPL_ERROR_INCOMPATIBLE_INPUT.


------------------------------------------------------------------------
r283364 | jirwin | 2023-08-09 16:56:05 +0200 (Mi, 09 Aug 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c

qmost_doarcs_ob: no lines detected converted from error to warning.


------------------------------------------------------------------------
r283357 | jirwin | 2023-08-09 15:06:13 +0200 (Mi, 09 Aug 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_utils-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c

Moved qmost_copy_sensfunc from science_process to qmost_utils.


------------------------------------------------------------------------
r283318 | jirwin | 2023-08-04 15:09:18 +0200 (Fr, 04 Aug 2023) | 12 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

qmost_doarcs: correct handling no lines detected case.

Previously we would crash due to arrays of line information being
zero length and thus getting NULL pointers back from malloc.

cpl_table also doesn't allow zero length vector columns so set
the minimum length to 1.

Added support for NULL pointer when writing nothing out of the
qmost_cpl_table_set_* functions (n == 0 case).


------------------------------------------------------------------------
r282955 | jirwin | 2023-07-18 15:52:12 +0200 (Di, 18 Jul 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Fixed trace file headers, input file header wasn't being copied in.


------------------------------------------------------------------------
r282954 | jirwin | 2023-07-18 15:01:50 +0200 (Di, 18 Jul 2023) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c

Added the missing dummy products for COSMIC_RAY_MASK, EIGEN, SKY.
I forgot to do this when I added these new outputs.


------------------------------------------------------------------------
r282953 | jirwin | 2023-07-18 14:25:31 +0200 (Di, 18 Jul 2023) | 6 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

qmost_trace: discard extracted spectrum headers.

Fixes warning about duplicated headers and removes some stuff that
shouldn't be in the trace file.


------------------------------------------------------------------------
r282952 | jirwin | 2023-07-18 14:12:42 +0200 (Di, 18 Jul 2023) | 28 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ffnorm_fib-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c

Implemented processing of twilight flats:

The simucal fibres aren't illuminated in twilight flats according to
the template reference manual, which presents quite a number of
complications.

Changed qmost_fibtabload to populate FIB_ST for the simucals using the
shutter state read from the FITS headers, so it comes out as 0 if they
aren't illuminated.  Also added a FIB_ST column to the dummy FIBINFO
tables made by qmost_fibtab_dummy so the flat processing doesn't break
when there's no FIBINFO such as lab data.

Check FIB_ST in ffnorm and obffcor and mark fibre as bad if 0 so it
doesn't get used.  This gets the simucal fibres to be correctly
skipped when processing a twilight flat.

The method of stacking in qmost_fibre_flat_analyse wasn't appropriate
for twilight flats, which need to be checked for proper exposure first
and then the good flats stacked using a method robust against highly
variable illumination levels and bimodal distribution of flat counts
(due to the ABBA strategy called for in the calibration plan).

Refactored this recipe to keep the existing 2D image level stacking
for internal fibre flats, but for twilight flats we now extract first,
filter out the badly exposed frames, and then stack in 1D using
qmost_spec_combine.  This isn't ideal but should work.


------------------------------------------------------------------------
r282944 | jirwin | 2023-07-18 12:58:21 +0200 (Di, 18 Jul 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_linear.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_linear.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_linear-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c

linearity: added flag to turn off monitor correction.


------------------------------------------------------------------------
r282942 | jirwin | 2023-07-18 11:58:32 +0200 (Di, 18 Jul 2023) | 10 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_model_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c

Converted remaining CASU-style FITS headers to DRS headers.

For compatibility with L1 files, when we read these we check for both
forms so L1 calibration files and files from older QC pipe versions
can still be used.

Added trace start and end info to extracted spectra as DRS headers for
later use.


------------------------------------------------------------------------
r282941 | jirwin | 2023-07-18 11:44:25 +0200 (Di, 18 Jul 2023) | 9 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_skysub.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_skysub.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_psf-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_skysub-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c

Implemented items requested at the commissioning tools progress review:

Added switch extract.crosstalk to disable crosstalk correction in
recipes using qmost_extract_psf.

Implemented the eigen and sky output files in qmost_skysub and
qmost_science_process.


------------------------------------------------------------------------
r282938 | jirwin | 2023-07-18 11:20:26 +0200 (Di, 18 Jul 2023) | 9 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_model_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_model_psf.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_model_psf-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_psf_analyse.c

qmost_model_psf: replaced taper with experimental overlap correction.

This seems to work better than the taper did, at least in my tests.
For purposes of overlap correction the PSFs are approximated by
Gaussians of FWHM equal to the average along the trace, and equal
brightness.  Both of these assumptions could potentially be improved
provided it doesn't have any unintended consequences.


------------------------------------------------------------------------
r282749 | agabasch | 2023-07-04 14:48:07 +0200 (Di, 04 Jul 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostc/gasgano/QMOST.prefs
   M /trunk/Pipelines/qmost/qmostc/oca/qmost.properties
   M /trunk/Pipelines/qmost/qmostc/pso-releasenotes.txt
   M /trunk/Pipelines/qmost/qmostp/configure.ac

updating version number to 0.3.1 as version 0.3.0 was tagged


------------------------------------------------------------------------
r282640 | jirwin | 2023-06-30 10:07:09 +0200 (Fr, 30 Jun 2023) | 3 lines
Changed paths:
   A /trunk/Pipelines/qmost/qmostp/recipes/qmost_fpe_analyse.c

Added missing file qmost_fpe_analyse.c I forgot to add yesterday.


------------------------------------------------------------------------
r282592 | jirwin | 2023-06-29 15:21:43 +0200 (Do, 29 Jun 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_arc_analyse.yaml

Updated regressions from old tag LINELIST to new FPE_LINELIST.


------------------------------------------------------------------------
r282587 | jirwin | 2023-06-29 14:30:03 +0200 (Do, 29 Jun 2023) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/BUGS

Added an initial version of the BUGS (known issues that probably
won't be fixed) file.


------------------------------------------------------------------------
r282585 | jirwin | 2023-06-29 14:28:26 +0200 (Do, 29 Jun 2023) | 13 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c

Added initial support for twilight flats to qmost_fibre_flat_analyse
and qmost_science_process.  These take the form of a master file that
works the same way as an OB fibre flat but with a separate tag.  The
twilight flat throughput correction is done in science_process at the
same time as the OB throughput correction.

Some further work to fibre_flat_analyse will be needed to deal with
the issues intrinsic to twilight flats such as discarding under and
overexposed frames and probably to stacking to stack in 1D extracted
spectrum rather than 2D.  I also suspect simucal fibres would not be
illuminated and therefore need special treatment.


------------------------------------------------------------------------
r282579 | jirwin | 2023-06-29 14:12:07 +0200 (Do, 29 Jun 2023) | 20 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_doarcs-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c

Added support for analysis of simuarc and simufpe frames to complete
the wavelength calibration cascade.

The simuarc (ThAr illuminating the 10 simultaneous calibration fibres)
frame is processed using qmost_arc_analyse which can now emit a third
type of output SIMUFPE containing the wavelength solutions for these
fibres, which are the fundamental "absolute" wavelength reference
everything else will be tied to.

The simufpe (Fabry-Perot Etalon illuminating the 10 simultaneous
calibration fibres) frame is processed using the new recipe
qmost_fpe_analyse, which takes the wavelength solution from the
simuarc and uses it to measure the wavelengths of the FPE lines,
emitting an FPE line list.  This replaces the old static FPE line
lists in the fplines files.

The science fibres are then calibrated using this generated FPE line
list with qmost_arc_analyse as before.


------------------------------------------------------------------------
r282578 | jirwin | 2023-06-29 14:11:02 +0200 (Do, 29 Jun 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c

qmost_wave_qc: fixed goof with variable names causing compiler warning.


------------------------------------------------------------------------
r282574 | jirwin | 2023-06-29 13:37:41 +0200 (Do, 29 Jun 2023) | 34 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_imcombine_lite.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_skysub.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_fibtab-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_waveinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark_combine.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_psf_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Miscellaneous fixes for issues found during tests with lab data:

* Corrected the meaning of the swapx parameter in documentation.

* Fixed dark scaling by the exposure time.

  There were 3 problems:

  1. The implementation of exposure scaling in qmost_imcombine_lite
     wasn't correct.
  2. My understanding of what it did wasn't correct, the output is
     always in ADU.
  3. The scaling itself was missing in qmost_dark_combine due to
     point 2.

* In qmost_wvread1, ngood=0 no longer reads back blank.

  This was causing problems with rebin assuming a solution could be
  used if the fibre was live.  Since we initialize these anyway in
  doarcs the row in the table should be suitably blank so we can
  just use it.

* Increased default arc.matchwindow in qmost_arc_analyse from 1 to 5
  angstroms to make it more reliable.

* Added a minimal FIBINFO to fibre flat outputs when none in input.

  This is needed to make the full processing chain work properly for
  lab data where the inputs don't have FIBINFO tables.  Otherwise it
  would crash at science_process when trying to read ffnorm results.

* Fixed errors identified during doxygen checking.


------------------------------------------------------------------------
r282572 | jirwin | 2023-06-29 13:21:05 +0200 (Do, 29 Jun 2023) | 6 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_doarcs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_psf-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_tram-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ffnorm_fib-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_model_psf-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_traceinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_waveinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Moved the trace FWHM into detect and trace and added a fwhm column
to the trace table for downstream use.  This was requested so the
spatial FWHM as a function of position on the detector can be used in
the spectrograph tilt adjustment procedure.


------------------------------------------------------------------------
r282570 | jirwin | 2023-06-29 13:13:48 +0200 (Do, 29 Jun 2023) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_waveinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c

Added comparison of the new wavelength solution to the reference
wavelength solution in the QC generated by qmost_wave_qc.


------------------------------------------------------------------------
r282367 | agabasch | 2023-06-21 10:14:26 +0200 (Mi, 21 Jun 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostc/gasgano/QMOST.prefs
   M /trunk/Pipelines/qmost/qmostc/oca/qmost.properties
   M /trunk/Pipelines/qmost/qmostc/pso-releasenotes.txt
   M /trunk/Pipelines/qmost/qmostp/configure.ac

version number updated as version 0.2.0 was tagged


------------------------------------------------------------------------
r282102 | agabasch | 2023-06-02 14:31:40 +0200 (Fr, 02 Jun 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostc/gasgano/QMOST.prefs
   M /trunk/Pipelines/qmost/qmostc/oca/qmost.properties
   M /trunk/Pipelines/qmost/qmostc/pso-releasenotes.txt
   M /trunk/Pipelines/qmost/qmostp/configure.ac

updating to version number 0.2.0 as version 0.1.0 was tagged


------------------------------------------------------------------------
r282085 | agabasch | 2023-06-02 12:12:02 +0200 (Fr, 02 Jun 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt2d.c

suppressing warning that should never be a problem


------------------------------------------------------------------------
r282081 | jirwin | 2023-06-02 11:28:09 +0200 (Fr, 02 Jun 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt2d.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_spec_combine.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_doarcs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_psf-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_tram-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_model_psf-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_traceinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c

Fixed issues turned up by compiler warnings and cppcheck.


------------------------------------------------------------------------
r281918 | jirwin | 2023-05-30 11:19:44 +0200 (Di, 30 Mai 2023) | 8 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_fibtab-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_traceinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Added FIBINFO table extensions to the trace and wave output files
giving the individual fibre QC parameters that are summarised by the
QC headers, particularly FWHM (spatial or spectral respectively) which
was requested by the LRS group.  Implementation of spatial FWHM for
trace was also improved by adding background removal and block
averaging.


------------------------------------------------------------------------
r281882 | jirwin | 2023-05-25 15:56:35 +0200 (Do, 25 Mai 2023) | 22 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_constants.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_dfs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_utils-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias_combine.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark_combine.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_noise.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_psf_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Added support for the DET CHIP LIVE flag in raw data files, emission
of dummy product HDUs, and checking for erroneous use of dummy product
HDUs in master frames.

Recipes now check for DET CHIP LIVE in the IMAGE extension of the
first input raw file, and generate a dummy (empty) product HDU if it's
set, skipping any processing.  A new keyword DRS DUMMY was added to the
product HDUs to flag dummy products.

An error is raised if we attempt to use a dummy master HDU to process
a live raw HDU by adding a check to the master reading routines.

Errors when reading reference frames for comparison in bias, dark,
detector flat and trace are now trapped and converted to non-fatal
warnings producing dummy HDUs in the output per the spec in the DRPD.
This includes the case of trying to compare a live detector to a
dummy reference.

While implementing these changes in science_process I noticed the
units were incorrect in the sensfunc extension so fixed those.


------------------------------------------------------------------------
r281771 | jirwin | 2023-05-22 11:36:18 +0200 (Mo, 22 Mai 2023) | 18 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt2d.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_skysub.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_spec_combine.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_skysub-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c

More cleanups:

All: replaced memmove with memcpy where appropriate (i.e. where we can
guarantee the memory areas are non-overlapping), which was all but
one instance.

qmost_fibre_flat_analyse: removed ratio image.  I don't think it's
needed and this recipe is already too complicated.

qmost_fibre_flat_analyse, qmost_science: added the COSMIC_RAY_MASK
outputs specified in the DRPD.

qmost_skysub.c: put back the unused doscale functionality and added a
unit test for it.

qmost_spec_combine.c: reduced the amount of unnecessary copying.


------------------------------------------------------------------------
r281769 | jirwin | 2023-05-22 11:16:10 +0200 (Mo, 22 Mai 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ccdproc-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_pfits-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_rebin_spectra-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c

Pruned most of the unused code, including the drizzle flag.


------------------------------------------------------------------------
r281743 | agabasch | 2023-05-19 12:46:07 +0200 (Fr, 19 Mai 2023) | 3 lines
Changed paths:
   A /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_detector_noise.yaml
   A /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_linearity_analyse.yaml
   A /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_psf_analyse.yaml
   A /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_science_process.yaml

adding new regression tests - still to be checked


------------------------------------------------------------------------
r281669 | jirwin | 2023-05-16 17:10:48 +0200 (Di, 16 Mai 2023) | 16 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_diffimg.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_diffimg.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_dfs-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_diffimg-test.c
   D /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_bias.yaml
   A /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_bias_combine.yaml
   D /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_dark.yaml
   A /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_dark_combine.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_detector_flat_analyse.yaml
   M /trunk/Pipelines/qmost/qmostp/recipes/Makefile.am
   D /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c
   A /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias_combine.c
   D /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c
   A /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark_combine.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c

qmost_bias and qmost_dark were replaced with new recipes named per the
DRPD qmost_bias_combine and qmost_dark_combine.

QC by comparison of the generated master to a reference file was
implemented for these recipes, qmost_detector_flat_analyse, and
qmost_fibre_flat_analyse.  The additional outputs (at a less
"processed" / filtered stage in the case of the flats) needed to get
these reference frames were added as appropriate.

A parameter was added to qmost_detector_flat_analyse to allow the
strip size used for gain correction to be changed.

Unused tags (mostly as a result of above changes) were pruned in
qmost_dfs.


------------------------------------------------------------------------
r281653 | jirwin | 2023-05-16 15:02:13 +0200 (Di, 16 Mai 2023) | 7 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

Patched a few instances of "return cpl_error_get_code()" done by
mistake in functions that are actually handling all of their errors
individually as they occur.  This practice can result in confusing
error messages giving line numbers that are unrelated to the source of
the problem, so I'm trying to avoid it.


------------------------------------------------------------------------
r281571 | jirwin | 2023-05-12 16:12:25 +0200 (Fr, 12 Mai 2023) | 9 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_model_psf.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_model_psf.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_model_psf-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_stats-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/recipes/qmost_psf_analyse.c

Added new recipe qmost_psf_analyse.  The PSFs this produces are fine
for PSF weighted spectral extraction, but don't cover the wings /
overlap regions so there's no crosstalk correction when using them.

This is probably good enough for QC, but the spectral extraction in
the QC pipe can do crosstalk correction if given a suitable PSF file
generated by some other means.


------------------------------------------------------------------------
r281570 | jirwin | 2023-05-12 15:55:38 +0200 (Fr, 12 Mai 2023) | 7 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ccdproc-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_psf-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_tram-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

The hard coded x swap table in ccdproc was removed and replaced with a
configurable parameter.

Unit tests to check binning were added for both spectral extraction
routines.


------------------------------------------------------------------------
r281501 | jirwin | 2023-05-10 13:45:03 +0200 (Mi, 10 Mai 2023) | 19 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt1d.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt2d.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt2d.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_gaincor.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_gaincor.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_imcombine_lite.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_imcombine_lite.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_linear.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_sort.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_sort.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_filt2d-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_gaincor-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_imcombine_lite-test.c
   D /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_detector_flat.yaml
   A /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_detector_flat_analyse.yaml
   M /trunk/Pipelines/qmost/qmostp/recipes/Makefile.am
   D /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c
   A /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat_analyse.c

qmost_detector_flat was replaced with a new recipe with the correct
name per the DRPD of qmost_detector_flat_analyse.  The analysis is
substantially different.

The detector flats for 4MOST have non uniform illumination, including
patterns projected onto the detector by the LEDs that we have to
remove, and therefore require a rather specialised treatment including
aggressive spatial filtering.

The multi amp readout combined with these illumination issues also
requires special treatment of the gain correction of the amps.  The
noise model in qmost_ccdproc was updated to account for how the
detector flats are gain corrected having now implemented this.

Added the QC required for detector flats (but also biases and darks)
into qmost_imcombine_lite abd parallelised the main image processing
loops by dropping in some omp parallel fors.


------------------------------------------------------------------------
r281496 | jirwin | 2023-05-10 13:09:15 +0200 (Mi, 10 Mai 2023) | 10 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_dfs-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_noise.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Converted filenames to a consistent, machine generated scheme based on
the tag: QMOST_tag_spec.fits where "tag" and "spec" are replaced with
the tag (same as PRO CATG) and the spectrograph (HRS, LRS-A or LRS-B).

Including the spectrograph should help a lot with avoiding confusion
of calibrations and products between the spectrographs.  This was one
of the main issues identified during the April commissioning tools
review meeting.


------------------------------------------------------------------------
r281092 | jirwin | 2023-05-02 17:23:26 +0200 (Di, 02 Mai 2023) | 16 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_rebin_spectra-test.c

qmost_ccdproc.c:

* Updated comment for qmost_detector_noise_model to have the correct
  equations.

* Set sensible defaults for GAIN and RON such that things would still
  work even if the headers are missing.

* Fixed compiler warning about uninitialized biassec seen on the
  CentOS 7 version of gcc.  The newer compilers on my usual Debian and
  Ubuntu systems I develop on seem to be smarter and don't get fooled
  by this way of setting it so weren't producing the warning.

qmost_rebin_spectra-test.c: fixed type for WVCRV, should be float.


------------------------------------------------------------------------
r281090 | jirwin | 2023-05-02 16:53:51 +0200 (Di, 02 Mai 2023) | 7 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_skysub.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_skysub.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_spec_combine.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_spec_combine.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_dfs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_psf-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_tram-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ffnorm_fib-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_rebin_spectra-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_skysub-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_spec_combine-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_utils-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Converted from error to variance throughout.  The output file
extension names and contents were converted accordingly and should now
more closely match the specification in the DRPD where variance is
used for most output files apart from the SCIENCE output where inverse
variance is used.


------------------------------------------------------------------------
r281067 | jirwin | 2023-05-02 12:58:35 +0200 (Di, 02 Mai 2023) | 11 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ccdproc-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_dfs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_arc_analyse.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_fibre_flat_analyse.yaml
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_trace.yaml
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_noise.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Revised the tags for raw data to ensure there's a unique tag for each
DPR TYPE, and revised raw science to OBJECT so it's distinguished from
the output data product tag SCIENCE.

Made bias frames optional in qmost_detector_noise, use overscan
instead if not available.  This was done so it can be run from the
existing detector flat template.

These changes are needed to make the draft OCA rule set work.


------------------------------------------------------------------------
r280947 | agabasch | 2023-04-27 12:36:21 +0200 (Do, 27 Apr 2023) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c

removing compiler warning:

qmost_doarcs.c:1081:18: warning: argument 1 range [18446744056529682432, 18446744073709551608] exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]


------------------------------------------------------------------------
r280932 | agabasch | 2023-04-27 11:31:11 +0200 (Do, 27 Apr 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp
   M /trunk/Pipelines/qmost/qmostp/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/acinclude.m4
   M /trunk/Pipelines/qmost/qmostp/configure.ac
   M /trunk/Pipelines/qmost/qmostp/qmost/Makefile.am

removing dependency on the casu library


------------------------------------------------------------------------
r280829 | jirwin | 2023-04-25 14:36:02 +0200 (Di, 25 Apr 2023) | 26 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ccdproc-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_tram-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Another set of fixes mostly relating to binning.

qmost_ccdproc: fixed binning of 2D master calibrations.  2D bias and
flat are averaged, master dark is summed, and corrected the cut and
paste errors fetching the wrong frames.  The binning factor is now
inferred by comparing the sizes so as to be able to support matched or
unmatched binning.  I don't like this solution, I'd rather use the
headers, but passing them in to be able to read the binning would be
painful (an extra 8 cpl_propertylist arguments).

qmost_dfs: having re-read the DICD my override of ESO DFS PRO TECH was
incorrect so removed it.  The reason this wasn't working was the value
it's supposed to inherit is missing from the headers of the simulated
data files, so it should work on real data.

qmost_extract_tram: added WVCRV and WVNOFF to fix wavelength offset
in the resampled output spectra when using binning.

qmost_rebin_spectra_off: my previous patch to disable adjustment of
dwave when binning was incorrect, the way we're doing fibre flat
requires this behaviour, so revert.  The issue I was originally trying
to fix with that patch was use of a binned master fibre flat on an
unbinned science, which goes back to not working, but we may not have
to support doing this.


------------------------------------------------------------------------
r280744 | jirwin | 2023-04-24 13:28:15 +0200 (Mo, 24 Apr 2023) | 13 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_linear.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_linear.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_lininfo.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_lininfo.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_sort.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_sort.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ccdproc-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_linear-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_lininfo-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_sort-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_stats-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Implemented the linearity analysis and linearity correction.

The recipe qmost_linearity_analyse was rewritten so it now does the
linearity analysis using the new DRL functions, and qmost_ccdproc was
modified to plumb in the call to the linearity correction routines.

Due to lack of suitable linearity sequences, most of this has not
been fully tested with real or simulated data files yet.  It's
unlikely the instrument will need linearity correction in practice, so
the code is really here to support doing the linearity analysis for
detector performance monitoring.


------------------------------------------------------------------------
r280734 | jirwin | 2023-04-24 11:06:42 +0200 (Mo, 24 Apr 2023) | 16 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_tram-test.c

Two miscellaneous changes arising from last week's meeting with AIP:

Added the MEANFLUX columns to output FIBINFO.  For QC, these are
simply the mean counts (in ADU) of the extracted spectrum, which is
what's described in the DRPD (c.f. L1 where they were in physical
units, integrated through Sloan gri filter curves, and had accordingly
different names).

Dropped in a straightforward parallel for to qmost_ffnorm_fib to see
if it improves QC0 performance.  At this point it doesn't really
matter if we use this or qmost_trace for QC0 so I'm leaving in the
extra steps in qmost_trace in case we change back to using it for this
purpose.  The main reason for doing so would be if the OB-level trace
is needed to properly extract the science spectrum.


------------------------------------------------------------------------
r280732 | jirwin | 2023-04-24 10:52:35 +0200 (Mo, 24 Apr 2023) | 24 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_constants.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_constants.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_constants-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_detect_and_trace_fib-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_rebin_spectra-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Bug fixes relating to binning support after testing it:

qmost_detect_and_trace_fib: added support for using binned fibre
flats, and automatic selection of start line that works properly for
binned or unbinned data.  Removed the old table of start lines.

qmost_extract_*: added trap for empty trace table.

qmost_rebin_spectra_off: the adjustment of dwave for binning was
incorrect, this should only happen if we're providing a default
based on the file's sampling.  Added binning to unit test.

qmost_science_process: fixed a mistake in where the QC info gets
added to the header from qmost_rebin_spectra.  It's now done
immediately similar to the other two recipes that use it, so the
DRS binning keywords are present for use by the next stage, which
is fibre flat and needs them to bin down the master fibre flat.

This should get everything running on binned data, but arc_analyse
doesn't work.  It doesn't have to because it's been agreed and
documented in the calibration plan that binned wavecals aren't
allowed, but I'd still like to fix it if time permits.


------------------------------------------------------------------------
r280723 | jirwin | 2023-04-24 10:23:52 +0200 (Mo, 24 Apr 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_pfits-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c

Moved MJD-OBS read to a pfits routine.


------------------------------------------------------------------------
r280529 | jirwin | 2023-04-17 18:08:13 +0200 (Mo, 17 Apr 2023) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_constants.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt1d.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_imcombine_lite.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pca.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_skysub.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_sort.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_spec_combine.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ccdproc-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_detect_and_trace_fib-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_doarcs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_psf-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_tram-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ffnorm_fib-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_fibtab-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_imcombine_lite-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_rebin_spectra-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_traceinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_waveinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Cleaned up namespace pollution issues with typedefs and defines by
adding the qmost_ prefix to these in the header files.  Augmented the
waveinfo struct documentation to describe the remaining members.


------------------------------------------------------------------------
r280510 | jirwin | 2023-04-17 15:23:39 +0200 (Mo, 17 Apr 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_noise.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Improved the recipe descriptions to list output filenames.


------------------------------------------------------------------------
r280506 | jirwin | 2023-04-17 15:11:14 +0200 (Mo, 17 Apr 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_blk.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_constants.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt1d.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_imcombine_lite.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pca.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_polynm.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_skysub.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_sort.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_spec_combine.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_testutil.h

Added missing CPL_BEGIN/END_DECLS to header files for C++ linkage.


------------------------------------------------------------------------
r280489 | jirwin | 2023-04-17 13:59:34 +0200 (Mo, 17 Apr 2023) | 20 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_constants.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_imcombine_lite.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_imcombine_lite.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_sort.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_sort.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ccdproc-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_imcombine_lite-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_sort-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Rewrote qmost_ccdproc to improve performance and reduce memory usage,
and added imcombine with biasing / scaling.

This change makes it about a factor of 2 faster under test, and should
bring performance of the QC0 recipes closer to compliance with the 30
second execution time limit set out in [TS 9] b.  The addition of
imcombine also fixes a longstanding issue with image combination where
biasing and scaling were still to be implemented.

Based on examining the compiler assembly language output for ccdproc,
the loops are not getting vectorized, so if this could be done the
performance can potentially be further improved.

These routines emit variance rather than error images as part of the
planned switch-over of the entire DRL to variance.  There didn't seem
much point in implementing them as error temporarily so instead a
temporary kludge was inserted at the appropriate point in the recipes
to change to error for remaining routines still to be converted.


------------------------------------------------------------------------
r280412 | jirwin | 2023-04-06 14:59:24 +0200 (Do, 06 Apr 2023) | 21 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_polynm.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_polynm.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_polynm-test.c

qmost_polynm fixes:

* Trap not enough points or singular matrix errors wherever
  qmost_polynm is used.

  Previously, these would cause a crash.  This is usually not the
  correct answer and we need to recover gracefully instead.  In the
  interests of stopping the crashes, all uses of this routine were
  patched to replace the polynomial with one with zero coefficients
  and emit a warning message.

  Each case should be re-examined in the future to figure out what
  the correct course of action actually is and to find a better way
  to flag such failures.  For example, most instances of failing a
  fibre fit to a lamp spectrum mean the fibre is bad if only a single
  fibre were to fail, or the lamp is off if all fibres fail.

* Revised API of qmost_polynm to add the ilim argument.  This is
  needed for future addition of linearity fit.


------------------------------------------------------------------------
r280411 | jirwin | 2023-04-06 14:41:44 +0200 (Do, 06 Apr 2023) | 31 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_dfs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_testutil.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_traceinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_waveinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_noise.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Another set of miscellaneous fixes and refactoring:

* Changed qmost_dfs_setup_product to add the frame to the frameset.
  I realised what I'd done was producing unregistered outputs in event
  of a crash, so changed it to the more standard way of registering
  immediately after the PHDU gets saved to stop this from happening.
  This also removes some memory management and the call to register it
  in the frameset from each recipe implementation.

* Fixed a mistake I keep making where a loop counter is reused in
  TIDY and then gets used in the error message with a now incorrect
  value.  Added separate loop counters instead.  I'm not really used
  to doing error handling like this and it seems to be much more
  prone to mistakes than the "goto error" technique I've been using
  for many years elsewhere.  There are almost certainly other mistakes
  with garbage collection in error handlers still to find.

* Cleaned up some indentation issues in qmost_extract_psf.

* Fixed a memory leak of coefs in error handler for qmost_wvread1.

* Improved dfs unit tests to check I/O error case in saving
  functions.

* Improved waveinfo and traceinfo unit tests to check all of the
  individual column error handlers.

* Check for NULL pointer (due to type not float) in
  qmost_test_fill_noise_rounded_gauss.


------------------------------------------------------------------------
r280410 | jirwin | 2023-04-06 14:06:57 +0200 (Do, 06 Apr 2023) | 10 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_pfits-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c

Unified the way exposure times are fetched by using a new routine in
qmost_pfits.c.  Francisco's recipes were also looking in the wrong
place, it's specified to be in the PHDU in the ICD and DICD, not the
IMAGE extension, so changed this over as well.  I don't know if this
will break the regression tests, I don't have those input files so I
can't check to see if the exposure time is only in the IMAGE
extension.  It's not supposed to be but simulated OpR data have had
and continue to have a lot of ICD and DICD non-compliance.


------------------------------------------------------------------------
r280191 | jirwin | 2023-03-30 17:04:32 +0200 (Do, 30 Mär 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_pca.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_pca.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_skysub.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_skysub.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_sort.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_sort.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_spec_combine.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_spec_combine.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_dfs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_tram-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_fibtab-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_pca-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_skysub-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_sort-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_spec_combine-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_stats-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_noise.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   A /trunk/Pipelines/qmost/qmostp/recipes/qmost_science_process.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Added new recipe qmost_science_process.


------------------------------------------------------------------------
r279860 | agabasch | 2023-03-22 12:55:58 +0100 (Mi, 22 Mär 2023) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/ChangeLog

Changelog updated with

svn log -v > ChangeLog


------------------------------------------------------------------------
r279856 | jirwin | 2023-03-21 17:05:15 +0100 (Di, 21 Mär 2023) | 14 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c

Bug fix to qmost_traceinfo and qmost_waveinfo: when we have zero items
to fetch, don't attempt to malloc and fetch them.

In such cases the malloc returns NULL and we then pass this to one of
the get_*_array routines which throw an error on NULL input.  Instead
I just added an if statement to skip all of this.

It's arguably rather contrived (by which I mean we should probably be
crashing somewhere else in these cases anyway), particularly in the
case of waveinfo where the file has to be malformed (nlines = 0 but
ngood > 0, which shouldn't happen) but I did it accidentally while
writing a unit test.


------------------------------------------------------------------------
r279855 | jirwin | 2023-03-21 16:54:38 +0100 (Di, 21 Mär 2023) | 20 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_utils-test.c

Fixed crashes when table column types are compatible but mismatched.

This was happening because I was using the wrong variants of the get
and set calls for tables and arrays.  This is a bit subtle in the CPL
documentation.

* Replaced (wherever possible) calls to the strongly typed cpl_table
  and cpl_array get_double, get_float, set_double, set_float with the
  generic "_get" and "_set" calls which work for any numerical column
  type.  The integer cases were not changed, I think on the whole
  these should be left as-is.

* Made the corresponding adjustments to my utility routines for float
  and double arrays to make them work the same way.  In order to do
  this in e.g. qmost_cpl_table_set_double we have to query the table
  column type, munge it accordingly to get the base type, and then
  create the array using that type, followed by setting the values
  with the "_set" call per above.


------------------------------------------------------------------------
r279824 | jirwin | 2023-03-17 15:58:16 +0100 (Fr, 17 Mär 2023) | 40 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_utils-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c

More assorted fixes:

* Moved read of master fibre flat from qmost_fibre_flat_analyse to a
  generic routine in qmost_utils.c.  This is also needed by upcoming
  recipe qmost_science_process currently under development.  Also
  added support for reading the variance extensions from 4L1 output so
  we can now use the fibre flats from there.

* qmost_arc_analyse was modified to set the defaults for the
  parameters correctly for OB-level wavelength solutions.  They were
  previously only appropriate for master wavelength solutions.  The
  OB-level solutions need different defaults because the OB solution
  fits for a correction to the master and is usually therefore a lower
  degree polynomial, and may be based on a lower SNR arc frame.  I
  couldn't figure out how to do this the way I wanted by detecting
  whether the parameter was specified so instead these defaults are
  requested by setting these parameters to an invalid negative value
  such as -1.

* Fixed failure when trying to read length 1 array columns or degree 0
  polynomial coefficients from binary tables.  There's no way to tell
  the difference between a length 1 array and a scalar when reading a
  FITS table, so CPL seems to read and strongly type these as scalars
  so they can't be read as arrays.  Added a tedious bit of code to all
  of the array reading functions in qmost_utils.c to handle this
  case.  This was breaking read of OB wavelength solutions where after
  changing the default to the proper value the polynomial fit has
  degree 0.

* qmost_scattered: fixed mistakes in my conversion of the original L1
  routine causing larger differences than desired.  Specifically, the
  negative number trap in the median filter was removed and a check
  added for BLANKVAL.  The results should now be a lot closer, but
  there are still some slight differences, I think due to the
  differences in the overscan regions and overscan calculation.  This
  needs more testing once I've fixed the L1 overscan regions to be the
  overscan rather than a mixture of prescan and overscan, and removed
  the mixup of amps 3 and 4.


------------------------------------------------------------------------
r279739 | jirwin | 2023-03-14 16:35:49 +0100 (Di, 14 Mär 2023) | 32 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_fibtab-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_pfits-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Changes and fixes from testing QC on LRS lab test data:

* Made it work when there's no FIBINFO extension.  This is no longer
  required anywhere, and now only produces a warning.  Future
  additions of spectroscopic recipes should try to adhere to the same
  principle where possible.

* qmost_fibre_flat_analyse: the PSF input is only needed for level==1
  so altered the logic accordingly.  I didn't have this when I was
  trying to extract lab data and this now works with --level==0 to use
  boxcar extraction.

* Lab data ESO INS PATH values in PHDU are different, so added support
  for them.

* Currently ESO INS PATH is also missing from the IMAGE extensions so
  added a workaround using EXTNAME.  A warning is emitted in this
  case.

* Fixed some errors involving use of variables in formatting error
  messages after TIDY in the recipes and when using the waveinfo
  table in qmost_ffnorm_fib.c (causing garbage or zero to be printed
  in error, respectively).  This is becoming rather a pain so I wonder
  if I need to switch to a different error handling strategy where
  the message is formatted on a separate line before garbage
  collection and return.

Support for processing data with missing fibres (and robustness to
these sorts of features of real data in general) still leaves much to
be desired and will be the subject of further work.


------------------------------------------------------------------------
r279737 | jirwin | 2023-03-14 16:07:18 +0100 (Di, 14 Mär 2023) | 8 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ccdproc-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_stats-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_testutil.h
   M /trunk/Pipelines/qmost/qmostp/recipes/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_noise.c

Added new recipe qmost_detector_noise and supporting routine
qmost_findgain.

As the name suggests, this is essentially just "findgain" (which is
what it was called in IRAF) but with a few customisations to support
ESO/4MOST multi-amp FITS headers.


------------------------------------------------------------------------
r279724 | jirwin | 2023-03-14 10:29:56 +0100 (Di, 14 Mär 2023) | 25 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c

Miscellaneous minor fixes and changes, see below.

qmost_extract_psf.c:
Fix to integration range calculation.  Modified p->ixleft =
(int)(xleft + 0.4) and p->ixright = (int)(xright + 0.6) to give more
accurate profile boundaries.

qmost_extract_tram.c:
Changed profile width to float to give correct profile width during
extraction, jrl integer method lost 1 pixel in integration.

qmost_rebin_spectra.c:
Corrected the equation for applying redshift.

qmost_fibre_flat_analyse:
Increased default boxcar extraction size and revised notes on it.

Following some tests there were a lot of issues with wiggles for
small boxcar widths so I increased the default.  A similar value
should be used in science_process for the same reason.  This is
about as high as we can go before getting a lot of issues with
crosstalk.  Removed the note about it being odd because this is
not true based on an examination of the code and the changes above.


------------------------------------------------------------------------
r279394 | jirwin | 2023-03-03 11:27:28 +0100 (Fr, 03 Mär 2023) | 22 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_stats-test.c

Added a port of my version of skylevel to qmost_stats.c.  This routine
computes precise (sub-ADU) median and robustly estimated sigma of
integer image data using histogramming.

Used it to replace a number of things:

* The overscan median and rms calculation in qmost_ccdproc.c to
  finally get the QC header ESO QC OS RMS AMPi correct.  This fixes
  the quantization problem with the RMS estimate whereby it was
  quantized to integer ADU.

* The calculation in backmap_medsig in qmost_scattered.c is
  essentially the same as qmost_skylevel but with less options so
  replaced it with a call to qmost_skylevel.

* The scattered light level can be quite low so qmost_scattered_qc
  might run into quantization too.  Replaced the calculation with a
  suitable call to qmost_skylevel_image.

This will also be used by qmost_detector_noise.


------------------------------------------------------------------------
r279214 | agabasch | 2023-02-23 14:04:26 +0100 (Do, 23 Feb 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_bias.yaml

removing duplicated tests


------------------------------------------------------------------------
r279213 | agabasch | 2023-02-23 14:01:19 +0100 (Do, 23 Feb 2023) | 3 lines
Changed paths:
   A /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_bias.yaml
   A /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_dark.yaml
   A /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_detector_flat.yaml

adding additional regressions on simulated data


------------------------------------------------------------------------
r279207 | agabasch | 2023-02-23 11:11:49 +0100 (Do, 23 Feb 2023) | 3 lines
Changed paths:
   A /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_arc_analyse.yaml
   A /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_fibre_flat_analyse.yaml
   A /trunk/Pipelines/qmost/qmostp/qmost_reg/qmost_trace.yaml

adding first regression tests based on the new system


------------------------------------------------------------------------
r279206 | agabasch | 2023-02-23 11:03:42 +0100 (Do, 23 Feb 2023) | 3 lines
Changed paths:
   D /trunk/Pipelines/qmost/qmostp/qmost_reg/sof

removing old regression testing scheme


------------------------------------------------------------------------
r279160 | jirwin | 2023-02-21 18:11:27 +0100 (Di, 21 Feb 2023) | 6 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_blk.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_blk.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_constants.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_psf.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_ffnorm_fib.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_dfs-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_psf-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ffnorm_fib-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_stats-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_utils-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/recipes/qmost_fibre_flat_analyse.c

Added new recipe qmost_fibre_flat_analyse.

This brings in qmost_extract_psf (PSF extraction), which will also be
used by qmost_science_process.


------------------------------------------------------------------------
r279138 | jirwin | 2023-02-21 11:54:53 +0100 (Di, 21 Feb 2023) | 10 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_constants.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_fibtab-test.c

* Set FIB_USE = 0 and FIB_ID = 0 for simucal fibres following
  discussion with David about how these are used after L1.  The DRPD
  has been updated to detail this value of FIB_USE.

* Moved the saturation level constant to qmost_constants.h.

* Enable the velocity offset in dorebin_lin_off to remove compiler
  warning.


------------------------------------------------------------------------
r279134 | jirwin | 2023-02-21 11:29:48 +0100 (Di, 21 Feb 2023) | 45 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_blk.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ccdproc-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Added binning support to qmost_ccdproc and qmost_oscan_correct.

The keywords needed to detect binning are in the primary HDU, which is
rather inconvenient.

* Modified API for qmost_oscan_correct to add an argument to pass in
  primary header so we can retrieve the binning information when we
  need it here for the geometry calculations.

* In Francisco's code, to avoid having to deal with memory management
  nightmares and do a lot of testing on code that I anticipate having
  to rewrite once I get to it, for now I just pass the extension
  header in for both arguments.

* To make this work, fall back to binning 1 and what we can guess from
  the extension (as before) if the primary header keywords can't be
  read.  Emit a warning in this case.

* Write DRS keywords for SPECBIN and SPATBIN in ccdproc, accounting
  for whether flip was specified, for our later use.  Converted
  qmost_isbinned to use these and adjusted recipes to ensure all
  headers passed into routines calling it are the qclist emitted by
  ccdproc so they contain these necessary DRS headers.

* Since we're passing in the primary header now, use the proper method
  to get the number of amplifiers in qmost_oscan_correct.

* In all cases of the DRS headers, I'm presuming these keywords are
  some kind of ESO standard I don't seem to have a document for, but I
  was able to figure out how they work by looking at ESPRESSO data in
  the archive.  If this is not correct for 4MOST the implementation
  may need to be revisited.  At the moment I don't have any binned
  test data to try it with so checking this is pending receiving some,
  preferably lab test with real FITS headers.

* Fixed typos in handling of mask binning in qmost_scattered.
  Made the error message that results more useful by multiplying in
  the binning factors.

There are probably other issues with making binning actually work in
the DRL functions, which will be the subject of additional commits to
come as I test and debug using simulated binned data I made myself
(and hopefully later, real data).


------------------------------------------------------------------------
r279133 | jirwin | 2023-02-21 11:18:01 +0100 (Di, 21 Feb 2023) | 17 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Added a parameter for startline to qmost_trace recipe, and fixed
issues this revealed:

qmost_detect_and_trace_fib.c: overhauled the calculation of the block
positions to make it safer and more robust against nonsense input
values of startline, and require each object matches to a maximum of
one peak, resolving any conflicts by choosing the closer peak.  The
first block was previously larger than the others and got partially
repeated in the next block, so the samples weren't independent, and it
was possible to run out of bounds in the results array in two ways: by
running nblocks+1 times, or by matching an object to more than one
peak.  These issues should now be fixed.  Also cleaned up some old
commented out code.

qmost_traceinfo.c: skip out of bounds samples in qmost_get_fwhm_spa.


------------------------------------------------------------------------
r278621 | jirwin | 2023-02-07 12:00:50 +0100 (Di, 07 Feb 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/configure.ac

Fixed OpenMP test, CPL_OPENMP can return strings like "unsupported".


------------------------------------------------------------------------
r278603 | jirwin | 2023-02-06 17:12:48 +0100 (Mo, 06 Feb 2023) | 17 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Made it possible to invoke the OB-level arc analysis by specifying a
master wavelength solution (tagged MASTER_WAVE) in the SOF.  I'm not
convinced this is the best way, but I was just trying to make "a" way
to do it for now.  Changed the output product names and tags to
distinguish the master and OB-level products from each another.  For
science_process we would need to pass in both because the OB-level
gives a correction to the master rather than a new wavelength
solution.

The issue of how to implement the ThAr analysis, whether it should be
a separate recipe, or how to invoke it if it's not, remains to be
solved.

Small related cleanup to processed fibre flat output name in
qmost_trace to add "_proc" in the same place as we have it in arc.


------------------------------------------------------------------------
r278591 | jirwin | 2023-02-06 14:42:03 +0100 (Mo, 06 Feb 2023) | 18 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/configure.ac
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_traceinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

This patch contains miscellaneous fixes and cosmetic changes:

* Fixed cut and paste error in enable_openmp variable in configure.ac
  which was causing the test to always be skipped.

* Improved error checking in qmost_extract_tram when creating outputs
  and fixed a mistake in code returned for tropen.

* qmost_traceinfo-test.c was checking the inputs rather than outputs
  when testing read and write; fixed.

* Removed unused variable and debug file output from
  qmost_arc_analyse.

* Fixed errant doxygen close group in qmost_arc_analyse and
  qmost_trace.


------------------------------------------------------------------------
r278590 | jirwin | 2023-02-06 14:25:19 +0100 (Mo, 06 Feb 2023) | 12 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_utils-test.c

Fixed issue with cpl_propertylist_get_float or double failing on
values without a decimal point read out of a FITS header.  In such
cases these properties get strongly typed as integer and attempting
to read them as a float or double is an error.

Rather than putting a lot of inline code to check types I wrote a
pair of wrapper routines qmost_cpl_propertylist_get_float / double
to make the behaviour more sensible for properties read from FITS
headers by performing the appropriate type conversions wherever
they are possible, following what CFITSIO would do.


------------------------------------------------------------------------
r278434 | jirwin | 2023-02-01 15:53:50 +0100 (Mi, 01 Feb 2023) | 36 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_doarcs.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_rebin_spectra.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_waveinfo.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_doarcs-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_rebin_spectra-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_stats-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_utils-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_waveinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/recipes/qmost_arc_analyse.c

Added new recipe qmost_arc_analyse.

This is somewhat unfinished, in that it only does one of the things
the DRPD mentions or implies it should do at the moment, that is
processing Fabry-Perot master arcs.

I don't have the ThAr arc processing figured out yet, and I don't
think I've seen simulated data files for testing this.

While I've implemented OB-level arc processing in the data reduction
library, there's not currently a way to call it from this recipe.  For
now, these could potentially be processed like master arcs, to perform
the QC0 function, using the same recipe.  This part should work, but
eventually for actual science reduction their treatment needs to be
different from master arcs.  How to handle this properly is still to
be decided, it could be an option on qmost_arc_analyse or it might
belong in qmost_science_process.

Note that this addition has unfortunately introduced an
incompatibility with 4L1 calibration files, and this means QC needs
its own special calibration files.  The wave files (here used for the
reference wavelength solution) from 4L1 can't be used as-is because
they have variable length columns using the CFITSIO "P" convention,
and cpl_table doesn't understand this so discards these columns when
it attempts to read the file.  I wrote a conversion script to convert
these to fixed length columns with length equal to the maximum, and
after conversion they should work.

The trace tables have the same issue but we didn't need to use trace
tables made by 4L1 for qmost_trace.

In both cases I've used the same solution of fixed length columns
equal to the maximum when writing the trace and waveinfo tables out
from QC.  I think these should be compatible with 4L1.


------------------------------------------------------------------------
r278433 | jirwin | 2023-02-01 15:21:54 +0100 (Mi, 01 Feb 2023) | 6 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_polynm.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_polynm-test.c

Changed qmost_polynm to take number of coefficients rather than degree
of polynomial, so it matches the original 4L1 function.  It was
getting too confusing when I was converting upcoming functions needed
for wavelength calibration.  Also trap invalid number of coefficients.


------------------------------------------------------------------------
r278432 | jirwin | 2023-02-01 15:07:27 +0100 (Mi, 01 Feb 2023) | 15 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_utils-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Added new common functions qmost_load_master_* to qmost_utils.c for
loading master mask, image and table to replace the inline code in
qmost_trace.c.

The "image" version is intended to be used to eventually replace
qmost_masterframe_load once we've switched all of the master frames
where it's relevant to use the error extensions rather than separate
files for error.

Refactored qmost_trace to use these new functions.

Fixed some cut and paste errors in qmost_trace where I had cut and
paste "trace" and forgot to change it "mask".


------------------------------------------------------------------------
r278212 | jirwin | 2023-01-26 15:40:43 +0100 (Do, 26 Jan 2023) | 16 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_constants.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_constants.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_constants-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_pfits-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Made a new file qmost_constants.c to contain static instrument
specific default values for processing parameters.

* Moved the defines for the spectrographs and arms to here and cleaned
  up the names of the spectrographs.  FIB_ROOT is ambiguous so changed
  it to be more specific.  Include of qmost_constants.h is now needed
  in a few places where these were used.

* Added function for the trace start point and changed qmost_trace.c
  to use it, fixing the outstanding problem of a hard coded value.

* Added functions for the wavelength ranges to be used when rebinning
  and for sky subtraction, which are the other main sets of constants
  from qmostmods/QmostRawFiles.py we'll have to worry about soon.


------------------------------------------------------------------------
r278057 | jirwin | 2023-01-23 16:40:08 +0100 (Mo, 23 Jan 2023) | 9 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_utils-test.c

Finished implementation of new routines to read/write double * arrays
and polynomial coefficients to/from cpl_tables from r277959.

* Fixed issues with handling of unset/invalid elements, converting
  these to/from NaNs in the case of the double routines.

* Implemented unit tests for these functions.


------------------------------------------------------------------------
r277960 | jirwin | 2023-01-20 17:21:05 +0100 (Fr, 20 Jan 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Recipe qmost_trace: memory leak of variable fibflats_raw was fixed.


------------------------------------------------------------------------
r277959 | jirwin | 2023-01-20 17:13:57 +0100 (Fr, 20 Jan 2023) | 10 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h

Refactored read and write of polynomial coefficients and double *
arrays to/from cpl_table array columns to move them out of
qmost_traceinfo.c and into more general purpose common functions in
qmost_utils.c so we can use them for the waveinfo (wavelength
solution) tables later.  In the course of doing so, out of bounds
being triggered by an implementation error in the unit test of
qmost_trwrite1 was fixed.  The test was left as-is and should now
serve to test the out of bounds protection.


------------------------------------------------------------------------
r277927 | jirwin | 2023-01-19 12:23:19 +0100 (Do, 19 Jan 2023) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

qmost_pfits_get_extname might fail so don't use in error handlers.
Save in a variable, and check return prior to use instead.


------------------------------------------------------------------------
r277920 | jirwin | 2023-01-19 11:04:44 +0100 (Do, 19 Jan 2023) | 12 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

cpl_frame_get_filename might fail so don't call it from error handlers.
Save the result in a variable first and check the return before using.
This mistake was introduced when I overhauled the error handlers to
make the error messages more helpful (including mentioning filenames
where errors occured, therein lies the problem ...) and was causing
unit tests in qmost_dfs to fail on clang compiler.

This isn't a complete fix for issues with calling functions that might
fail in error handlers, there are a few more, but it should get the
tests to pass.  I'll work on the remainder in another commit.


------------------------------------------------------------------------
r277915 | jirwin | 2023-01-19 10:00:08 +0100 (Do, 19 Jan 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Check return on cpl_sprintf, this can fail if format string is bad.


------------------------------------------------------------------------
r277843 | jirwin | 2023-01-17 18:25:32 +0100 (Di, 17 Jan 2023) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c

Fixed mistake in null checks in qmost_get_fwhm_spa, need to check the
output pointers avfwhm and avsig, not the temporary variables fwhm
and sig.


------------------------------------------------------------------------
r277837 | jirwin | 2023-01-17 16:31:28 +0100 (Di, 17 Jan 2023) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/Makefile.am

I forgot to declare qmost/tests/qmost_testutil.h in Makefile.am.
This was causing "make distcheck" to fail.


------------------------------------------------------------------------
r277829 | jirwin | 2023-01-17 14:57:41 +0100 (Di, 17 Jan 2023) | 18 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/configure.ac
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

As requested, revert HDRL configuration to standard (double).

The qmost_* routines don't support double images.  For now, this was
addressed as follows:

* In qmost_trace recipe implementation, convert the images from
  hdrl_image to a pair of cpl_image of type float immediately after
  HDRL processing (ccdproc and stacking) is complete.
* Added missing checks on return value of cpl_image_get_data_float in
  qmost_scattered needed in case it gets passed a different data type.
* Added notes to doxygen strings to specify the requirements the
  routines currently have for input image data types, where such notes
  were missing.
* Added CPL_ERROR_TYPE_MISMATCH to the list of return values, as
  returned (from cpl_image_get_data_float) in cases where an image
  that isn't float gets passed to one of these routines.


------------------------------------------------------------------------
r277825 | jirwin | 2023-01-17 11:55:03 +0100 (Di, 17 Jan 2023) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_detect_and_trace_fib.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_extract_tram.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_fibtab.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt1d.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_filt1d.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_polynm.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_polynm.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_scattered.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_sort.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_sort.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_stats.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_traceinfo.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_detect_and_trace_fib-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_extract_tram-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_fibtab-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_filt1d-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_polynm-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_scattered-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_sort-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_stats-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_traceinfo-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/recipes/qmost_trace.c

Added new qmost_trace recipe and supporting qmost_* routines.


------------------------------------------------------------------------
r277807 | jirwin | 2023-01-16 15:25:10 +0100 (Mo, 16 Jan 2023) | 4 lines
Changed paths:
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_testutil.h

I forgot to add qmost_testutil.h in the previous commit.  This file
contains utility macros used by some of the unit tests.


------------------------------------------------------------------------
r277806 | jirwin | 2023-01-16 15:22:07 +0100 (Mo, 16 Jan 2023) | 58 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_blk.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_blk.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.c
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_ccdproc.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_ccdproc-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_dfs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_pfits-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_utils-test.c
   M /trunk/Pipelines/qmost/qmostp/recipes/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c

Overhaul of existing qmost routines:

* Basic CCD processing functions such as overscan removal previously
  found in qmost_utils.c were moved to qmost_ccdproc.c and augmented
  with an overall common driver routine qmost_ccdproc to be used in
  all future recipe implementations to do this basic processing,
  without having to keep repeating code to handle overscan, master
  bias, dark, and detector flat in every recipe (eventually also
  linearity).  This routine is intentionally very similar in usage to
  the routine with the same name in 4L1.

* Overscan removal received a major overhaul to attempt to make it
  more general and FITS header based rather than hard coding things
  like the number of amps and their locations.  The following issues
  were also found and fixed:

  * Amps 3 and 4 were swapped.
  * The implementation was using prescan rather than overscan and
    additionally assumed prescan and overscan were the same size.  The
    reason for preferring overscan is in case there are transients at
    start of line such as ramps.
  * The previous noise model assumed all amplifier bias levels were
    the same.
  * The assumed units for GAIN and RON were incorrect resulting in
    incorrect noise model.
  * Improved error handling and fixed memory leaks.

* This brought in a dependency on qmost_blk.c which contains some
  utility subroutines to handle binned data.  This is unfinished.

* Added new frame types for upcoming qmost_trace recipe to qmost_dfs.

* Added new routines qmost_dfs_setup_product, qmost_dfs_save_* to
  write out products for newly implemented recipes.  The old routines
  from Francisco in qmost_utils remain for now to avoid changing the
  existing code, but I plan to remove them eventually.  One of the new
  routines implements the prescription from VLT-SPE-ESO-19500-5667 for
  saving error images, which I plan to use for all new implementation
  and should eventually migrate everything to (the older existing code
  saves the error image to a separate file).

* Added new routines and corresponding constants to qmost_pfits.c to
  determine which arm/spectrograph we're processing, and decide the
  appropriate EXTNAME value for these.  All new code should use
  EXTNAME and not hard code extension numbers.

* Added a few utility routines to qmost_utils used by some of the new
  code to be imported.  These are still somewhat unfinished.

* Added unit tests for everything that is reasonably likely to remain
  without major changes.  This excludes anything I remarked above is
  unfinished and some of Francisco's original routines where I need to
  understand them better before attempting to write tests.

* Updated copyright years and added some basic recipe descriptions to
  doxygen strings cut and paste from the DRPD.


------------------------------------------------------------------------
r277803 | jirwin | 2023-01-16 14:30:28 +0100 (Mo, 16 Jan 2023) | 9 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/configure.ac

Modifications to configure prior to import of qmost_* routines:

* Configure HDRL to use float.  This is required by the qmost_*
  routines I'm about to import.
* Added a configure argument to enable OpenMP.  Some of the processing
  steps, particularly spectral extraction, benefit from a fairly large
  performance gain with OpenMP parallelisation.


------------------------------------------------------------------------
r275202 | agabasch | 2022-09-01 11:48:58 +0200 (Do, 01 Sep 2022) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c

removing memory eating structures that are not used


------------------------------------------------------------------------
r275201 | agabasch | 2022-09-01 11:34:28 +0200 (Do, 01 Sep 2022) | 14 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c

debugging check done with

"int save_intermediate = 1"

removed and replaced by

if (cpl_msg_get_level() == CPL_MSG_DEBUG){
CODE
}

Like this in debug mode more ourputs are saved whereas in the normal
mode only the final product (MASTER_BPM) is saved


------------------------------------------------------------------------
r275120 | agabasch | 2022-08-29 12:48:46 +0200 (Mo, 29 Aug 2022) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c

default parameters adjusted to get at least a few bad pixels reported
on order to test the implementation


------------------------------------------------------------------------
r275118 | agabasch | 2022-08-29 11:58:51 +0200 (Mo, 29 Aug 2022) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c

closing memory leak


------------------------------------------------------------------------
r275117 | agabasch | 2022-08-29 11:32:33 +0200 (Mo, 29 Aug 2022) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c

adding threshold parameter and using it to define the final BPM


------------------------------------------------------------------------
r275083 | agabasch | 2022-08-26 15:55:48 +0200 (Fr, 26 Aug 2022) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c

using a bit more realistic recipe paramters


------------------------------------------------------------------------
r275082 | agabasch | 2022-08-26 15:17:11 +0200 (Fr, 26 Aug 2022) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c

summing up the bad pixels maps for each extension and saving the final sum


------------------------------------------------------------------------
r275081 | agabasch | 2022-08-26 13:41:02 +0200 (Fr, 26 Aug 2022) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c

removing segfault caused by accessing a propertylist after the
propertylist was deleted


------------------------------------------------------------------------
r274914 | fpazchin | 2022-08-10 16:41:56 +0200 (Mi, 10 Aug 2022) | 6 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c

- solving bug: oscan correction wasn't working within linearity_analyse
- adding some debug messages
- solved: the problem was on the filename of intermediate BPMs: it was incorrect and was causing to 
silently make the recipe stop processing the oscan.


------------------------------------------------------------------------
r274843 | fpazchin | 2022-08-06 15:35:20 +0200 (Sa, 06 Aug 2022) | 8 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c

- fixing segfault due to wrong data type parse to cpl_msg_info
- removed unnecessary call arguments, as there are computed within the recipe
- added missing bpm parameters into filling of paramlist
- save to disk intermediate BPMs to check if they look fine
- fixing indentation for readability on: qmost_dfs.c
- DEBUGGING rare error in oscan


------------------------------------------------------------------------
r274659 | fpazchin | 2022-07-26 13:19:09 +0200 (Di, 26 Jul 2022) | 13 lines
Changed paths:
   A /trunk/Pipelines/qmost/qmostp/recipes/qmost_linearity_analyse.c

added qmost_linearity_analyse

(below points were also described in previous commit. Forgot to add recipe to repo)
- BPM: checked the CASU and HDRL approaches are similar
- started recipe qmost_linearity_analyse to deal with BPM and linearity
- bpm parameters are retrieved/parsed into qmost_linearity_analyse
- within qmost_linearity_analyse the detector flats are oscan and dark corrected
- recipe compiles and displays help accordingly
- bpm calculation for individual frames
- working on the master BPM calculation. WIP
- function to add QC params needs work.


------------------------------------------------------------------------
r274658 | fpazchin | 2022-07-26 13:16:56 +0200 (Di, 26 Jul 2022) | 12 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

qmost_linearity_analyse WIP
- corrected indentation levels for recipes bias, dark, detector_flat
- BPM: checked the CASU and HDRL approaches are similar
- started recipe qmost_linearity_analyse to deal with BPM and linearity
- bpm parameters are retrieved/parsed into qmost_linearity_analyse
- within qmost_linearity_analyse the detector flats are oscan and dark corrected
- recipe compiles and displays help accordingly
- bpm calculation for individual frames 
- working on the master BPM calculation. WIP
- function to add QC params needs work.


------------------------------------------------------------------------
r273692 | agabasch | 2022-06-07 16:29:11 +0200 (Di, 07 Jun 2022) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/configure.ac

adding user support message


------------------------------------------------------------------------
r273621 | agabasch | 2022-06-03 13:46:13 +0200 (Fr, 03 Jun 2022) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/configure.ac

removing double checks


------------------------------------------------------------------------
r273562 | agabasch | 2022-06-02 15:30:10 +0200 (Do, 02 Jun 2022) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/configure.ac

build system updated with autoupdate


------------------------------------------------------------------------
r273560 | agabasch | 2022-06-02 15:24:51 +0200 (Do, 02 Jun 2022) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/configure.ac

build system update usint autoupdate


------------------------------------------------------------------------
r273559 | agabasch | 2022-06-02 15:14:11 +0200 (Do, 02 Jun 2022) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp

update to hdrl version 1.5.0


------------------------------------------------------------------------
r269359 | fpazchin | 2022-01-11 16:32:39 +0100 (Di, 11 Jan 2022) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c

- fix indentation
- adding QC info
- small modifications
- set MEDIAN as the default dark-combine, due to small number of frames available

------------------------------------------------------------------------
r269335 | fpazchin | 2022-01-10 20:47:25 +0100 (Mo, 10 Jan 2022) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

- solving warnings
- indentation in qmost_utils header

------------------------------------------------------------------------
r269334 | fpazchin | 2022-01-10 20:20:11 +0100 (Mo, 10 Jan 2022) | 6 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

- added function descriptions and comments 
- added checks to functions input parameters
- added checks to oscan and data region definitions, and intermediate checks in various functions
- checks for GAIN/RON retrieval
- fix indentation

------------------------------------------------------------------------
r269313 | fpazchin | 2022-01-10 11:35:37 +0100 (Mo, 10 Jan 2022) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

- added comments on missing QC params, from the DRPD document. Are those useful QC params? 
  The Mbias comparison looks fine, the others needs discussion.

------------------------------------------------------------------------
r269280 | fpazchin | 2022-01-06 17:20:18 +0100 (Do, 06 Jan 2022) | 13 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c


- added curly brackets for for-loop readability
- change where mbias parameters (minmax, sigclip, mode_def) are deleted
- added checks into qmost_bias function
- added some INFO messages
- check oscan_box_hsize iis getting its value from non-NULL variable
- added description of arguments for hdrl_collapse_parameter_create_parlist()
- added comment for qmost_print_collapsing_method()
- fixing identation (size=2) in qmost_bias()
- adding message for tracking extension that is being written for the mbias
- qmost_oscan_adjust_qc() description


------------------------------------------------------------------------
r267235 | agabasch | 2021-09-27 11:57:46 +0200 (Mo, 27 Sep 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

update to hdrl version 1.4


------------------------------------------------------------------------
r266114 | agabasch | 2021-07-22 10:19:41 +0200 (Do, 22 Jul 2021) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

code refactoring - generation of low and high frequency flats exported
into qmost_detector_flat_lhfreq_compute() function


------------------------------------------------------------------------
r266111 | agabasch | 2021-07-22 09:01:04 +0200 (Do, 22 Jul 2021) | 6 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

Posibility to derive an optiona low frequency and high frequency flat
added. It used the hdrl_flat_compute routine - a high level routine
developed in hdrl to comupte these types of flats



------------------------------------------------------------------------
r266102 | agabasch | 2021-07-21 17:10:50 +0200 (Mi, 21 Jul 2021) | 27 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

data section adjusted using the flatfield simulation to:

Data section:

A3 A4
A1 A2

A1:
x: 33 - 3104
y: 33 - 3112

A2:
x: 3169 - 6240
y: 33    - 3112

A3:
x: 33   - 3104
y: 3177 - 6256

A4:
x: 3169 - 6240
y: 3177 - 6256

points are inclusive



------------------------------------------------------------------------
r266100 | agabasch | 2021-07-21 14:20:51 +0200 (Mi, 21 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

closing memory leak


------------------------------------------------------------------------
r266099 | agabasch | 2021-07-21 13:43:20 +0200 (Mi, 21 Jul 2021) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

function qmost_print_collapsing_methods() refactored and moved to
qmost_utils.c


------------------------------------------------------------------------
r266098 | agabasch | 2021-07-21 12:57:32 +0200 (Mi, 21 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

saving routines refactored and moved tho qmost_utils.c


------------------------------------------------------------------------
r266079 | agabasch | 2021-07-20 12:06:02 +0200 (Di, 20 Jul 2021) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

update of function qmost_adjust_imagelist(): option 0 to 3 are now
implemented as prototype


------------------------------------------------------------------------
r266078 | agabasch | 2021-07-20 11:32:08 +0200 (Di, 20 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

update of function qmost_adjust_imagelist()


------------------------------------------------------------------------
r266077 | agabasch | 2021-07-20 11:14:13 +0200 (Di, 20 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

update of function qmost_adjust_imagelist()


------------------------------------------------------------------------
r266076 | agabasch | 2021-07-20 10:28:34 +0200 (Di, 20 Jul 2021) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

preparation for imagelist adjustment based on scaletype added - will
end up in the static function qmost_adjust_imagelist() for now


------------------------------------------------------------------------
r266074 | agabasch | 2021-07-19 18:38:25 +0200 (Mo, 19 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

thresholding of under and overexposed images added


------------------------------------------------------------------------
r266072 | agabasch | 2021-07-19 17:55:04 +0200 (Mo, 19 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

cosmic ray detection removed


------------------------------------------------------------------------
r266071 | agabasch | 2021-07-19 17:48:51 +0200 (Mo, 19 Jul 2021) | 2 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

removing misleading comment  

------------------------------------------------------------------------
r266070 | agabasch | 2021-07-19 17:44:30 +0200 (Mo, 19 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h

updated


------------------------------------------------------------------------
r266069 | agabasch | 2021-07-19 17:40:02 +0200 (Mo, 19 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c

indentation adjusted


------------------------------------------------------------------------
r266068 | agabasch | 2021-07-19 17:35:12 +0200 (Mo, 19 Jul 2021) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

MASTERBIAS and MASTERDARK renamed to MASTER_BIAS and MASTER_DARK for
homogeniuity


------------------------------------------------------------------------
r266065 | agabasch | 2021-07-19 17:10:11 +0200 (Mo, 19 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

indentation adjusted with eclipse using the GNU formatter


------------------------------------------------------------------------
r266064 | agabasch | 2021-07-19 17:05:06 +0200 (Mo, 19 Jul 2021) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

messages expanded



------------------------------------------------------------------------
r266063 | agabasch | 2021-07-19 16:55:51 +0200 (Mo, 19 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

saving PRO.CATG updated


------------------------------------------------------------------------
r266062 | agabasch | 2021-07-19 16:50:37 +0200 (Mo, 19 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c

PRO.CATG of saving functions updated


------------------------------------------------------------------------
r266055 | agabasch | 2021-07-19 16:28:37 +0200 (Mo, 19 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

code changed to use subfunction qmost_load_masterframe()


------------------------------------------------------------------------
r266047 | agabasch | 2021-07-19 15:09:55 +0200 (Mo, 19 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

master dark reading added


------------------------------------------------------------------------
r266046 | agabasch | 2021-07-19 15:08:11 +0200 (Mo, 19 Jul 2021) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

helper function qmost_load_masterframe() added - should also be used
in the other recipes ...


------------------------------------------------------------------------
r266042 | agabasch | 2021-07-19 13:58:46 +0200 (Mo, 19 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

check for masterdark added


------------------------------------------------------------------------
r266041 | agabasch | 2021-07-19 13:57:24 +0200 (Mo, 19 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

typo fixed


------------------------------------------------------------------------
r266040 | agabasch | 2021-07-19 13:56:54 +0200 (Mo, 19 Jul 2021) | 9 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

three recipe parameters added:

  detector_flat.lthr    : 0.0
  detector_flat.hthr    : 1e+20
  detector_flat.scaletype  : 2

No algorithm change so far ...


------------------------------------------------------------------------
r266038 | agabasch | 2021-07-19 12:01:08 +0200 (Mo, 19 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c

bugfix in OS related QC parameter


------------------------------------------------------------------------
r266037 | agabasch | 2021-07-19 11:51:25 +0200 (Mo, 19 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/recipes/Makefile.am

recipe qmost_detector_flat activated and defines added


------------------------------------------------------------------------
r266036 | agabasch | 2021-07-19 11:41:39 +0200 (Mo, 19 Jul 2021) | 3 lines
Changed paths:
   A /trunk/Pipelines/qmost/qmostp/recipes/qmost_detector_flat.c (from /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c:266031)

dark recipe cloned to detector_flat recipe and names adjusted ... algorithm has still to be adjusted/changed


------------------------------------------------------------------------
r265997 | agabasch | 2021-07-15 15:34:15 +0200 (Do, 15 Jul 2021) | 8 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c

added the hdrl_la_cosmic cosmic ray finder to detect the
particle_rate. The algorithm described in the official pipeline
document is not propperly working ... Even when using a very high
kappa it detects to many cosmics. It is probably due to the
quantisation of the images and because of using the MAD. 



------------------------------------------------------------------------
r265994 | agabasch | 2021-07-15 14:03:01 +0200 (Do, 15 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c

normalisation by the exposure time of each dark added


------------------------------------------------------------------------
r265993 | agabasch | 2021-07-15 13:32:16 +0200 (Do, 15 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c

loading and subtraction of the master bias added


------------------------------------------------------------------------
r265992 | agabasch | 2021-07-15 13:31:56 +0200 (Do, 15 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

message added


------------------------------------------------------------------------
r265986 | agabasch | 2021-07-15 11:41:13 +0200 (Do, 15 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c

update of PRO.CATG and check for masterbias added


------------------------------------------------------------------------
r265985 | agabasch | 2021-07-15 10:38:12 +0200 (Do, 15 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c

default sigma clipping changed to 5 sigma for rejection as mentioned in the Data reduction pipeline description - section 8.3


------------------------------------------------------------------------
r265984 | agabasch | 2021-07-15 10:32:58 +0200 (Do, 15 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/recipes/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/recipes/qmost_dark.c (from /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c:265983)

qmost_bias recipe cloned into qmost_dark recipe ... updates will follow


------------------------------------------------------------------------
r265975 | agabasch | 2021-07-14 14:45:08 +0200 (Mi, 14 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_dfs-test.c

unittest adapted


------------------------------------------------------------------------
r265974 | agabasch | 2021-07-14 14:39:37 +0200 (Mi, 14 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

adding an optional master bad pixel mask to the overscan corrected frames


------------------------------------------------------------------------
r265972 | agabasch | 2021-07-14 13:45:19 +0200 (Mi, 14 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

cleanup and DO.CATG aligned


------------------------------------------------------------------------
r265954 | agabasch | 2021-07-12 12:53:30 +0200 (Mo, 12 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

checks added


------------------------------------------------------------------------
r265951 | agabasch | 2021-07-12 10:31:42 +0200 (Mo, 12 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

guard added


------------------------------------------------------------------------
r265950 | agabasch | 2021-07-12 09:19:04 +0200 (Mo, 12 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

guards added to qmost_oscan_adjust_qc


------------------------------------------------------------------------
r265930 | agabasch | 2021-07-09 15:49:32 +0200 (Fr, 09 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

structure of the product files adjusted to the RAW frames, i.e no data in the primary header and CCD1, CCD2 and CCD3 in a single file in extension 1, 2, and 3


------------------------------------------------------------------------
r265929 | agabasch | 2021-07-09 15:05:06 +0200 (Fr, 09 Jul 2021) | 7 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

QC parameter added:

HIERARCH ESO QC BIAS MED
HIERARCH ESO QC BIAS MEAN
HIERARCH ESO QC BIAS RMS


------------------------------------------------------------------------
r265927 | agabasch | 2021-07-09 14:52:03 +0200 (Fr, 09 Jul 2021) | 19 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

Following the input in ESO-DFS-DIC.QMOST_QC for the overscan, new QC
parameters were added:

Originally it was planed to derive

Parameter Name: QC BIAS OS MEDn
Parameter Name: QC BIAS OS MEANn
Parameter Name: QC BIAS OS RMSn

from the final masterframe but as we already remove the overscan
region after correction each frame we added the statistics from each
frame and each amplifier:

"ESO QC BIAS OS MED FRAMEn AMPn"
"ESO QC BIAS OS MEAN FRAMEn AMPn"
"ESO QC BIAS OS RMS FRAMEn AMPn"



------------------------------------------------------------------------
r265897 | agabasch | 2021-07-08 13:19:42 +0200 (Do, 08 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

usd-help@eso.org replaced by https://support.eso.org


------------------------------------------------------------------------
r265889 | agabasch | 2021-07-08 11:26:54 +0200 (Do, 08 Jul 2021) | 3 lines
Changed paths:
   D /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils_ext.c

removing obsolete file


------------------------------------------------------------------------
r265888 | agabasch | 2021-07-08 11:26:30 +0200 (Do, 08 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/Makefile.am
   D /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias_ext.c
   D /trunk/Pipelines/qmost/qmostp/recipes/rrrecipe.c
   D /trunk/Pipelines/qmost/qmostp/recipes/rrrecipe_calib.c

removing template recipes


------------------------------------------------------------------------
r265886 | agabasch | 2021-07-08 10:35:32 +0200 (Do, 08 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

testcode removed ...


------------------------------------------------------------------------
r265885 | agabasch | 2021-07-08 10:34:59 +0200 (Do, 08 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

adding the possibility for a failure in the overscan correction of a particular extension. The process will continue with the next frame


------------------------------------------------------------------------
r265882 | agabasch | 2021-07-08 09:43:30 +0200 (Do, 08 Jul 2021) | 2 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

code and messaging cleanup 

------------------------------------------------------------------------
r265881 | agabasch | 2021-07-08 09:31:40 +0200 (Do, 08 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

code cleanup


------------------------------------------------------------------------
r265880 | agabasch | 2021-07-08 09:30:51 +0200 (Do, 08 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

code cleanup


------------------------------------------------------------------------
r265872 | agabasch | 2021-07-07 17:25:12 +0200 (Mi, 07 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

compiler warnings fixed


------------------------------------------------------------------------
r265864 | agabasch | 2021-07-07 12:20:34 +0200 (Mi, 07 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

messages added


------------------------------------------------------------------------
r265861 | agabasch | 2021-07-07 12:14:25 +0200 (Mi, 07 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

closing memory leaks


------------------------------------------------------------------------
r265851 | agabasch | 2021-07-07 10:51:06 +0200 (Mi, 07 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

closing memory leak


------------------------------------------------------------------------
r265847 | agabasch | 2021-07-07 09:54:14 +0200 (Mi, 07 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

closing memory leaks


------------------------------------------------------------------------
r265846 | agabasch | 2021-07-07 09:49:48 +0200 (Mi, 07 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

closing memory leaks


------------------------------------------------------------------------
r265845 | agabasch | 2021-07-07 09:47:50 +0200 (Mi, 07 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

closing memory leaks


------------------------------------------------------------------------
r265844 | agabasch | 2021-07-07 09:39:32 +0200 (Mi, 07 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

closing memory leaks


------------------------------------------------------------------------
r265843 | agabasch | 2021-07-07 09:23:05 +0200 (Mi, 07 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

memory leak closed


------------------------------------------------------------------------
r265842 | agabasch | 2021-07-07 09:22:47 +0200 (Mi, 07 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

indentation changed with eclipse


------------------------------------------------------------------------
r265840 | agabasch | 2021-07-07 09:09:14 +0200 (Mi, 07 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

indentation corrected with eclipse and himg initialized to NULL


------------------------------------------------------------------------
r265838 | agabasch | 2021-07-07 09:05:40 +0200 (Mi, 07 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

hdrl image himg moved outside the loop to create it only once - saves computation time


------------------------------------------------------------------------
r265831 | agabasch | 2021-07-06 16:55:50 +0200 (Di, 06 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

doing some code cleanup


------------------------------------------------------------------------
r265828 | agabasch | 2021-07-06 16:16:42 +0200 (Di, 06 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

some code cleanup done


------------------------------------------------------------------------
r265822 | agabasch | 2021-07-06 14:07:47 +0200 (Di, 06 Jul 2021) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

- error image defined outside to amplifier loop to avoid valgrind errors
- prototype of qmost_detector_regions() function added


------------------------------------------------------------------------
r265803 | agabasch | 2021-07-05 15:13:21 +0200 (Mo, 05 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

saving done in float and int to save disk space


------------------------------------------------------------------------
r265716 | agabasch | 2021-07-01 17:30:51 +0200 (Do, 01 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

adding some QC parameters


------------------------------------------------------------------------
r265705 | agabasch | 2021-07-01 16:04:58 +0200 (Do, 01 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

restructuring of some functions


------------------------------------------------------------------------
r265703 | agabasch | 2021-07-01 15:59:00 +0200 (Do, 01 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

removing all old/outdated functions


------------------------------------------------------------------------
r265701 | agabasch | 2021-07-01 14:41:32 +0200 (Do, 01 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

recipe is now using the new function qmost_oscan_correct()


------------------------------------------------------------------------
r265694 | agabasch | 2021-07-01 11:27:27 +0200 (Do, 01 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

update


------------------------------------------------------------------------
r265693 | agabasch | 2021-07-01 11:03:12 +0200 (Do, 01 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

starting with cleanup of function qmost_oscan_correct()


------------------------------------------------------------------------
r265692 | agabasch | 2021-07-01 10:25:25 +0200 (Do, 01 Jul 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

more cleaned code added


------------------------------------------------------------------------
r265689 | agabasch | 2021-06-30 17:34:34 +0200 (Mi, 30 Jun 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

update


------------------------------------------------------------------------
r265686 | agabasch | 2021-06-30 17:27:08 +0200 (Mi, 30 Jun 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

adding some recipe functionalities ... not finished


------------------------------------------------------------------------
r265675 | agabasch | 2021-06-30 16:33:42 +0200 (Mi, 30 Jun 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

removing unused code


------------------------------------------------------------------------
r265672 | agabasch | 2021-06-30 16:20:04 +0200 (Mi, 30 Jun 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

removing everithing that is not needed at the moment


------------------------------------------------------------------------
r265662 | agabasch | 2021-06-30 15:47:58 +0200 (Mi, 30 Jun 2021) | 3 lines
Changed paths:
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils_ext.c (from /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c:265659)
   A /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias_ext.c (from /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c:265657)

copying current version as a backup to _ext


------------------------------------------------------------------------
r265659 | agabasch | 2021-06-30 15:09:19 +0200 (Mi, 30 Jun 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

prototype for joining all amplfiers after oversan correction


------------------------------------------------------------------------
r265649 | agabasch | 2021-06-30 11:51:31 +0200 (Mi, 30 Jun 2021) | 8 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

subtracting the median overscan value before using the shotnoise model
as the shotnoise model should be applied after overscan correction
which is not poissonian. In order to avoid expensic correction two
times we simply subtract a median value. The difference should be
minimal



------------------------------------------------------------------------
r265648 | agabasch | 2021-06-30 11:38:37 +0200 (Mi, 30 Jun 2021) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

- update qmost_detector_shotnoise_model() to be able to subbtract a constant.
- saving also the error images


------------------------------------------------------------------------
r265611 | agabasch | 2021-06-28 15:16:25 +0200 (Mo, 28 Jun 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

collapsing parameters to create the masterbias added


------------------------------------------------------------------------
r265610 | agabasch | 2021-06-28 15:15:25 +0200 (Mo, 28 Jun 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

initialze all pointers to NULL


------------------------------------------------------------------------
r265567 | agabasch | 2021-06-25 12:32:40 +0200 (Fr, 25 Jun 2021) | 7 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

passing the original frameset to the cpl_dfs saving function. This is
needed in order to let esorex now that now we have a product.

Stopping the recipe after calling qmost_framelist_corr()



------------------------------------------------------------------------
r265560 | agabasch | 2021-06-25 12:01:10 +0200 (Fr, 25 Jun 2021) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

saving of the overscan corrected images changed: cpl_dfs_save_image()
has to be used for the first saving and all subsequent images should
be appendet with cpl_image_save()


------------------------------------------------------------------------
r265559 | agabasch | 2021-06-25 11:11:00 +0200 (Fr, 25 Jun 2021) | 6 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

parsing of the recipe parameters added to qmost_framelist_corr(). This
should be moved to the recipe and only the parsed parameters should be
given to the library



------------------------------------------------------------------------
r265557 | agabasch | 2021-06-25 10:39:59 +0200 (Fr, 25 Jun 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

newline sign \n removed from cpl_msg_info as set automatically


------------------------------------------------------------------------
r265556 | agabasch | 2021-06-25 09:58:18 +0200 (Fr, 25 Jun 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

bugfix in recipe parameter creation and parsing


------------------------------------------------------------------------
r265549 | agabasch | 2021-06-24 16:41:25 +0200 (Do, 24 Jun 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

deleting hdrl image to close memory leak


------------------------------------------------------------------------
r265548 | agabasch | 2021-06-24 16:40:47 +0200 (Do, 24 Jun 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

default os_hbox_size set to 2


------------------------------------------------------------------------
r265546 | agabasch | 2021-06-24 16:07:43 +0200 (Do, 24 Jun 2021) | 7 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

the saving of files should always be done in the current working
directory as the input directory in most of the cases is readonly in
Paranal. Therefore the filename has been changed. Usually the filename
also includes the PRO.CATG of the file



------------------------------------------------------------------------
r265545 | agabasch | 2021-06-24 15:07:52 +0200 (Do, 24 Jun 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

passing recipe parameters on to the functions


------------------------------------------------------------------------
r265537 | agabasch | 2021-06-24 10:40:53 +0200 (Do, 24 Jun 2021) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

qmost_bias_fill_parameterlist() function rewritten to contain the
overscan related parameters that the user may change


------------------------------------------------------------------------
r265530 | agabasch | 2021-06-24 09:20:47 +0200 (Do, 24 Jun 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

printf() replaced by cpl_msg_info()


------------------------------------------------------------------------
r265529 | agabasch | 2021-06-24 09:16:56 +0200 (Do, 24 Jun 2021) | 10 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

- llx parameter changed from 0 to 1 as the parameter has to follow
  fits convention, i.e the first pixel is 1 and not 0

- printf replaced by cpl_msg_info() as printf should not be used

- strcat() removed from cpl_msg_info() call as the syntax of cpl_msg_info(). cpl_msg_debug() is differently




------------------------------------------------------------------------
r265418 | agabasch | 2021-06-18 14:54:34 +0200 (Fr, 18 Jun 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c

fixed some warnings that are errors on the mac


------------------------------------------------------------------------
r265399 | agabasch | 2021-06-17 10:42:53 +0200 (Do, 17 Jun 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/acinclude.m4
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

build system updated and function moved from recipe to qmost_utils.c


------------------------------------------------------------------------
r265364 | fpazchin | 2021-06-16 03:25:06 +0200 (Mi, 16 Jun 2021) | 1 line
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

in debug. Compiles but has segfault when running
------------------------------------------------------------------------
r264211 | agabasch | 2021-05-09 18:40:19 +0200 (So, 09 Mai 2021) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/acinclude.m4
   M /trunk/Pipelines/qmost/qmostp/qmost/Makefile.am

- Fixed missing link dependencies and
- Fixed missing include and linker flags.


------------------------------------------------------------------------
r262734 | agabasch | 2021-03-23 12:45:24 +0100 (Di, 23 Mär 2021) | 4 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

check if hdrl can be used added - simply creating, dumping and
deleting an hdrl image


------------------------------------------------------------------------
r262733 | agabasch | 2021-03-23 11:49:27 +0100 (Di, 23 Mär 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

update to remove rrrecipe entries


------------------------------------------------------------------------
r262732 | agabasch | 2021-03-23 10:50:36 +0100 (Di, 23 Mär 2021) | 5 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp/recipes/Makefile.am
   A /trunk/Pipelines/qmost/qmostp/recipes/qmost_bias.c

- rrrecipe_calib.c cloned into qmost_bias.c
- New recipe added to the Makefile.am
- added hdrl support in the Makefile.am for this recipe


------------------------------------------------------------------------
r261195 | agabasch | 2021-02-15 10:45:11 +0100 (Mo, 15 Feb 2021) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostp

hdrl external upgraded to use the latest tagged version, i.e 1.3.0


------------------------------------------------------------------------
r242305 | agabasch | 2019-06-26 12:48:28 +0200 (Mi, 26 Jun 2019) | 3 lines
Changed paths:
   M /trunk/Pipelines/qmost/qmostc/dic/ESO-DFS-DIC.QMOST_QC
   M /trunk/Pipelines/qmost/qmostc/gasgano/QMOST.prefs
   M /trunk/Pipelines/qmost/qmostc/oca/qmost.properties
   M /trunk/Pipelines/qmost/qmostc/oca/rul/qmost.pkd
   M /trunk/Pipelines/qmost/qmostc/pso-releasenotes.txt
   M /trunk/Pipelines/qmost/qmostc/rbs/qmost.properties
   M /trunk/Pipelines/qmost/qmostc/rbs/qmost_closing.sh
   M /trunk/Pipelines/qmost/qmostm/Makefile
   M /trunk/Pipelines/qmost/qmostm/introduction.tex
   M /trunk/Pipelines/qmost/qmostm/reflex_tutorial/qmost_reflex_tutorial.tex
   M /trunk/Pipelines/qmost/qmostp/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/acinclude.m4
   M /trunk/Pipelines/qmost/qmostp/configure.ac
   M /trunk/Pipelines/qmost/qmostp/doxygen/Doxyfile.in
   M /trunk/Pipelines/qmost/qmostp/qmost/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.h
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c
   M /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_dfs-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_pfits-test.c
   M /trunk/Pipelines/qmost/qmostp/qmost_reg/sof/111.rrrecipe.sof
   M /trunk/Pipelines/qmost/qmostp/recipes/Makefile.am
   M /trunk/Pipelines/qmost/qmostp/recipes/rrrecipe.c
   M /trunk/Pipelines/qmost/qmostp/recipes/rrrecipe_calib.c

fmost will become qmost in the future


------------------------------------------------------------------------
r242304 | agabasch | 2019-06-26 12:37:55 +0200 (Mi, 26 Jun 2019) | 3 lines
Changed paths:
   D /trunk/Pipelines/qmost/qmostc/dic/ESO-DFS-DIC.FMOST_QC
   A /trunk/Pipelines/qmost/qmostc/dic/ESO-DFS-DIC.QMOST_QC (from /trunk/Pipelines/qmost/qmostc/dic/ESO-DFS-DIC.FMOST_QC:242303)
   D /trunk/Pipelines/qmost/qmostc/gasgano/FMOST.prefs
   A /trunk/Pipelines/qmost/qmostc/gasgano/QMOST.prefs (from /trunk/Pipelines/qmost/qmostc/gasgano/FMOST.prefs:242303)
   D /trunk/Pipelines/qmost/qmostc/oca/fmost.properties
   A /trunk/Pipelines/qmost/qmostc/oca/qmost.properties (from /trunk/Pipelines/qmost/qmostc/oca/fmost.properties:242303)
   D /trunk/Pipelines/qmost/qmostc/oca/rul/fmost.pkd
   A /trunk/Pipelines/qmost/qmostc/oca/rul/qmost.pkd (from /trunk/Pipelines/qmost/qmostc/oca/rul/fmost.pkd:242303)
   D /trunk/Pipelines/qmost/qmostc/rbs/fmost.properties
   D /trunk/Pipelines/qmost/qmostc/rbs/fmost_closing.sh
   A /trunk/Pipelines/qmost/qmostc/rbs/qmost.properties (from /trunk/Pipelines/qmost/qmostc/rbs/fmost.properties:242303)
   A /trunk/Pipelines/qmost/qmostc/rbs/qmost_closing.sh (from /trunk/Pipelines/qmost/qmostc/rbs/fmost_closing.sh:242303)
   D /trunk/Pipelines/qmost/qmostm/fmostpdoc.bib
   D /trunk/Pipelines/qmost/qmostm/fmostpdoc.tex
   A /trunk/Pipelines/qmost/qmostm/qmostpdoc.bib (from /trunk/Pipelines/qmost/qmostm/fmostpdoc.bib:242303)
   A /trunk/Pipelines/qmost/qmostm/qmostpdoc.tex (from /trunk/Pipelines/qmost/qmostm/fmostpdoc.tex:242303)
   D /trunk/Pipelines/qmost/qmostm/reflex_tutorial/fmost_reflex_tutorial.tex
   A /trunk/Pipelines/qmost/qmostm/reflex_tutorial/qmost_reflex_tutorial.tex (from /trunk/Pipelines/qmost/qmostm/reflex_tutorial/fmost_reflex_tutorial.tex:242303)
   D /trunk/Pipelines/qmost/qmostp/qmost/fmost_dfs.c
   D /trunk/Pipelines/qmost/qmostp/qmost/fmost_dfs.h
   D /trunk/Pipelines/qmost/qmostp/qmost/fmost_pfits.c
   D /trunk/Pipelines/qmost/qmostp/qmost/fmost_pfits.h
   D /trunk/Pipelines/qmost/qmostp/qmost/fmost_utils.c
   D /trunk/Pipelines/qmost/qmostp/qmost/fmost_utils.h
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.c (from /trunk/Pipelines/qmost/qmostp/qmost/fmost_dfs.c:242303)
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_dfs.h (from /trunk/Pipelines/qmost/qmostp/qmost/fmost_dfs.h:242303)
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.c (from /trunk/Pipelines/qmost/qmostp/qmost/fmost_pfits.c:242303)
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_pfits.h (from /trunk/Pipelines/qmost/qmostp/qmost/fmost_pfits.h:242303)
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.c (from /trunk/Pipelines/qmost/qmostp/qmost/fmost_utils.c:242303)
   A /trunk/Pipelines/qmost/qmostp/qmost/qmost_utils.h (from /trunk/Pipelines/qmost/qmostp/qmost/fmost_utils.h:242303)
   D /trunk/Pipelines/qmost/qmostp/qmost/tests/fmost_dfs-test.c
   D /trunk/Pipelines/qmost/qmostp/qmost/tests/fmost_pfits-test.c
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_dfs-test.c (from /trunk/Pipelines/qmost/qmostp/qmost/tests/fmost_dfs-test.c:242303)
   A /trunk/Pipelines/qmost/qmostp/qmost/tests/qmost_pfits-test.c (from /trunk/Pipelines/qmost/qmostp/qmost/tests/fmost_pfits-test.c:242303)

fmost will become qmost in the future


------------------------------------------------------------------------
r242303 | agabasch | 2019-06-26 12:34:53 +0200 (Mi, 26 Jun 2019) | 1 line
Changed paths:
   D /trunk/Pipelines/qmost/qmostp/fmost_reg
   A /trunk/Pipelines/qmost/qmostp/qmost_reg (from /trunk/Pipelines/qmost/qmostp/fmost_reg:242302)

fmost will become qmost in the future
------------------------------------------------------------------------
r242302 | agabasch | 2019-06-26 12:34:30 +0200 (Mi, 26 Jun 2019) | 1 line
Changed paths:
   D /trunk/Pipelines/qmost/qmostp/fmost
   A /trunk/Pipelines/qmost/qmostp/qmost (from /trunk/Pipelines/qmost/qmostp/fmost:242301)

fmost will become qmost in the future
------------------------------------------------------------------------
r242301 | agabasch | 2019-06-26 12:29:47 +0200 (Mi, 26 Jun 2019) | 1 line
Changed paths:
   D /trunk/Pipelines/qmost/fmostp
   A /trunk/Pipelines/qmost/qmostp (from /trunk/Pipelines/qmost/fmostp:242300)

fmost will become qmost in the future
------------------------------------------------------------------------
r242297 | agabasch | 2019-06-26 12:28:11 +0200 (Mi, 26 Jun 2019) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost
   A /trunk/Pipelines/qmost (from /trunk/Pipelines/fmost:242296)

fmost will become qmost in the future
------------------------------------------------------------------------
r231588 | agabasch | 2018-11-08 11:56:42 +0100 (Do, 08 Nov 2018) | 4 lines
Changed paths:
   M /trunk/Pipelines/fmost/fmostp/Makefile.am
   M /trunk/Pipelines/fmost/fmostp/configure.ac

A reflex workflow is not foreseen for fmost - therefore the directory
was deleted


------------------------------------------------------------------------
r231587 | agabasch | 2018-11-08 11:53:51 +0100 (Do, 08 Nov 2018) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost/fmostp/reflex

a reflex workflow is not forseen for fmost - therefore it can be deleted 
------------------------------------------------------------------------
r231521 | agabasch | 2018-11-07 12:43:17 +0100 (Mi, 07 Nov 2018) | 3 lines
Changed paths:
   M /trunk/Pipelines/fmost/fmostp/Makefile.am

cleanup


------------------------------------------------------------------------
r231513 | agabasch | 2018-11-07 11:48:36 +0100 (Mi, 07 Nov 2018) | 3 lines
Changed paths:
   M /trunk/Pipelines/fmost/fmostp/admin/doxygen.am

update


------------------------------------------------------------------------
r231512 | agabasch | 2018-11-07 11:43:00 +0100 (Mi, 07 Nov 2018) | 3 lines
Changed paths:
   M /trunk/Pipelines/fmost/fmostp/Makefile.am

extra_dist was present twice


------------------------------------------------------------------------
r231510 | agabasch | 2018-11-07 11:41:31 +0100 (Mi, 07 Nov 2018) | 3 lines
Changed paths:
   M /trunk/Pipelines/fmost/fmostp/Makefile.am
   M /trunk/Pipelines/fmost/fmostp/configure.ac

doxygen structure updated


------------------------------------------------------------------------
r231509 | agabasch | 2018-11-07 11:35:18 +0100 (Mi, 07 Nov 2018) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost/fmostp/Doxyfile.in
   A /trunk/Pipelines/fmost/fmostp/doxygen/Doxyfile.in (from /trunk/Pipelines/fmost/fmostp/Doxyfile.in:231508)

moving file to doxygen subdirectory
------------------------------------------------------------------------
r231507 | agabasch | 2018-11-07 11:29:11 +0100 (Mi, 07 Nov 2018) | 3 lines
Changed paths:
   M /trunk/Pipelines/fmost/fmostp/Makefile.am
   M /trunk/Pipelines/fmost/fmostp/acinclude.m4
   M /trunk/Pipelines/fmost/fmostp/configure.ac

casu library added as external


------------------------------------------------------------------------
r231505 | agabasch | 2018-11-07 11:22:25 +0100 (Mi, 07 Nov 2018) | 3 lines
Changed paths:
   M /trunk/Pipelines/fmost/fmostp

casu added as external


------------------------------------------------------------------------
r231500 | agabasch | 2018-11-07 11:05:47 +0100 (Mi, 07 Nov 2018) | 3 lines
Changed paths:
   M /trunk/Pipelines/fmost/fmostp/Makefile.am
   M /trunk/Pipelines/fmost/fmostp/acinclude.m4
   M /trunk/Pipelines/fmost/fmostp/configure.ac

irplib removed


------------------------------------------------------------------------
r231499 | agabasch | 2018-11-07 11:01:28 +0100 (Mi, 07 Nov 2018) | 3 lines
Changed paths:
   M /trunk/Pipelines/fmost/fmostp/configure.ac

version number set to 0.1.0


------------------------------------------------------------------------
r231496 | agabasch | 2018-11-07 10:58:29 +0100 (Mi, 07 Nov 2018) | 3 lines
Changed paths:
   M /trunk/Pipelines/fmost/fmostp/fmost/Makefile.am
   M /trunk/Pipelines/fmost/fmostp/reflex/create_demo_data.py

"Iiinstrument" replaced by Fmost


------------------------------------------------------------------------
r231490 | agabasch | 2018-11-07 10:36:06 +0100 (Mi, 07 Nov 2018) | 3 lines
Changed paths:
   M /trunk/Pipelines/fmost/fmostp/Doxyfile.in
   M /trunk/Pipelines/fmost/fmostp/Makefile.am
   M /trunk/Pipelines/fmost/fmostp/acinclude.m4
   M /trunk/Pipelines/fmost/fmostp/configure.ac
   M /trunk/Pipelines/fmost/fmostp/fmost/Makefile.am
   M /trunk/Pipelines/fmost/fmostp/fmost/fmost_dfs.c
   M /trunk/Pipelines/fmost/fmostp/fmost/fmost_dfs.h
   M /trunk/Pipelines/fmost/fmostp/fmost/fmost_pfits.c
   M /trunk/Pipelines/fmost/fmostp/fmost/fmost_pfits.h
   M /trunk/Pipelines/fmost/fmostp/fmost/fmost_utils.c
   M /trunk/Pipelines/fmost/fmostp/fmost/fmost_utils.h
   M /trunk/Pipelines/fmost/fmostp/fmost/tests/Makefile.am
   M /trunk/Pipelines/fmost/fmostp/fmost/tests/fmost_dfs-test.c
   M /trunk/Pipelines/fmost/fmostp/fmost/tests/fmost_pfits-test.c
   M /trunk/Pipelines/fmost/fmostp/recipes/Makefile.am
   M /trunk/Pipelines/fmost/fmostp/recipes/rrrecipe.c
   M /trunk/Pipelines/fmost/fmostp/recipes/rrrecipe_calib.c

IIINSTRUMENT replaced by FMOST


------------------------------------------------------------------------
r231489 | agabasch | 2018-11-07 10:32:06 +0100 (Mi, 07 Nov 2018) | 3 lines
Changed paths:
   M /trunk/Pipelines/fmost/fmostp/Doxyfile.in
   M /trunk/Pipelines/fmost/fmostp/Makefile.am
   M /trunk/Pipelines/fmost/fmostp/acinclude.m4
   M /trunk/Pipelines/fmost/fmostp/configure.ac
   M /trunk/Pipelines/fmost/fmostp/fmost/Makefile.am
   M /trunk/Pipelines/fmost/fmostp/fmost/fmost_dfs.c
   M /trunk/Pipelines/fmost/fmostp/fmost/fmost_dfs.h
   M /trunk/Pipelines/fmost/fmostp/fmost/fmost_pfits.c
   M /trunk/Pipelines/fmost/fmostp/fmost/fmost_pfits.h
   M /trunk/Pipelines/fmost/fmostp/fmost/fmost_utils.c
   M /trunk/Pipelines/fmost/fmostp/fmost/fmost_utils.h
   M /trunk/Pipelines/fmost/fmostp/fmost/tests/Makefile.am
   M /trunk/Pipelines/fmost/fmostp/fmost/tests/fmost_dfs-test.c
   M /trunk/Pipelines/fmost/fmostp/fmost/tests/fmost_pfits-test.c
   M /trunk/Pipelines/fmost/fmostp/fmost_reg/sof/111.rrrecipe.sof
   M /trunk/Pipelines/fmost/fmostp/recipes/rrrecipe.c
   M /trunk/Pipelines/fmost/fmostp/recipes/rrrecipe_calib.c
   M /trunk/Pipelines/fmost/fmostp/reflex/Makefile.am
   M /trunk/Pipelines/fmost/fmostp/reflex/create_demo_data.py
   M /trunk/Pipelines/fmost/fmostp/reflex/fmost.xml.in

iiinstrument replaced by fmost


------------------------------------------------------------------------
r231474 | agabasch | 2018-11-07 09:58:34 +0100 (Mi, 07 Nov 2018) | 3 lines
Changed paths:
   M /trunk/Pipelines/fmost/fmostp/configure.ac

aligned to the newest one


------------------------------------------------------------------------
r231473 | agabasch | 2018-11-07 09:56:57 +0100 (Mi, 07 Nov 2018) | 3 lines
Changed paths:
   M /trunk/Pipelines/fmost/fmostp/bootstrap

alligned to the newest one


------------------------------------------------------------------------
r231472 | agabasch | 2018-11-07 09:55:26 +0100 (Mi, 07 Nov 2018) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost/fmostp/regtests

deleting as there is a conflict with an external
------------------------------------------------------------------------
r231470 | agabasch | 2018-11-07 09:44:58 +0100 (Mi, 07 Nov 2018) | 3 lines
Changed paths:
   M /trunk/Pipelines/fmost/fmostp

hdrl version updatet to 1.2.0


------------------------------------------------------------------------
r231469 | agabasch | 2018-11-07 09:41:08 +0100 (Mi, 07 Nov 2018) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost/fmostp/reflex/4most_wkf.oca
   A /trunk/Pipelines/fmost/fmostp/reflex/fmost_wkf.oca (from /trunk/Pipelines/fmost/fmostp/reflex/4most_wkf.oca:231468)

4most renamed to fmost as the leading 4 creates problems during packaging
------------------------------------------------------------------------
r231468 | agabasch | 2018-11-07 09:40:52 +0100 (Mi, 07 Nov 2018) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost/fmostp/reflex/4most.xml.in
   A /trunk/Pipelines/fmost/fmostp/reflex/fmost.xml.in (from /trunk/Pipelines/fmost/fmostp/reflex/4most.xml.in:231467)

4most renamed to fmost as the leading 4 creates problems during packaging
------------------------------------------------------------------------
r231467 | agabasch | 2018-11-07 09:40:30 +0100 (Mi, 07 Nov 2018) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost/fmostp/fmost/tests/4most_pfits-test.c
   A /trunk/Pipelines/fmost/fmostp/fmost/tests/fmost_pfits-test.c (from /trunk/Pipelines/fmost/fmostp/fmost/tests/4most_pfits-test.c:231466)

4most renamed to fmost as the leading 4 creates problems during packaging
------------------------------------------------------------------------
r231466 | agabasch | 2018-11-07 09:40:14 +0100 (Mi, 07 Nov 2018) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost/fmostp/fmost/tests/4most_dfs-test.c
   A /trunk/Pipelines/fmost/fmostp/fmost/tests/fmost_dfs-test.c (from /trunk/Pipelines/fmost/fmostp/fmost/tests/4most_dfs-test.c:231465)

4most renamed to fmost as the leading 4 creates problems during packaging
------------------------------------------------------------------------
r231465 | agabasch | 2018-11-07 09:39:09 +0100 (Mi, 07 Nov 2018) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost/fmostp/fmost/4most_utils.h
   A /trunk/Pipelines/fmost/fmostp/fmost/fmost_utils.h (from /trunk/Pipelines/fmost/fmostp/fmost/4most_utils.h:231464)

4most renamed to fmost as the leading 4 creates problems during packaging
------------------------------------------------------------------------
r231464 | agabasch | 2018-11-07 09:38:36 +0100 (Mi, 07 Nov 2018) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost/fmostp/fmost/4most_utils.c
   A /trunk/Pipelines/fmost/fmostp/fmost/fmost_utils.c (from /trunk/Pipelines/fmost/fmostp/fmost/4most_utils.c:231463)

4most renamed to fmost as the leading 4 creates problems during packaging
------------------------------------------------------------------------
r231463 | agabasch | 2018-11-07 09:38:26 +0100 (Mi, 07 Nov 2018) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost/fmostp/fmost/4most_pfits.h
   A /trunk/Pipelines/fmost/fmostp/fmost/fmost_pfits.h (from /trunk/Pipelines/fmost/fmostp/fmost/4most_pfits.h:231462)

4most renamed to fmost as the leading 4 creates problems during packaging
------------------------------------------------------------------------
r231462 | agabasch | 2018-11-07 09:38:10 +0100 (Mi, 07 Nov 2018) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost/fmostp/fmost/4most_pfits.c
   A /trunk/Pipelines/fmost/fmostp/fmost/fmost_pfits.c (from /trunk/Pipelines/fmost/fmostp/fmost/4most_pfits.c:231461)

4most renamed to fmost as the leading 4 creates problems during packaging
------------------------------------------------------------------------
r231461 | agabasch | 2018-11-07 09:37:56 +0100 (Mi, 07 Nov 2018) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost/fmostp/fmost/4most_dfs.h
   A /trunk/Pipelines/fmost/fmostp/fmost/fmost_dfs.h (from /trunk/Pipelines/fmost/fmostp/fmost/4most_dfs.h:231460)

4most renamed to fmost as the leading 4 creates problems during packaging
------------------------------------------------------------------------
r231460 | agabasch | 2018-11-07 09:37:46 +0100 (Mi, 07 Nov 2018) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost/fmostp/fmost/4most_dfs.c
   A /trunk/Pipelines/fmost/fmostp/fmost/fmost_dfs.c (from /trunk/Pipelines/fmost/fmostp/fmost/4most_dfs.c:231459)

4most renamed to fmost as the leading 4 creates problems during packaging
------------------------------------------------------------------------
r231459 | agabasch | 2018-11-07 09:36:34 +0100 (Mi, 07 Nov 2018) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost/fmostp/4most_reg
   A /trunk/Pipelines/fmost/fmostp/fmost_reg (from /trunk/Pipelines/fmost/fmostp/4most_reg:231458)

4most renamed to fmost as the leading 4 creates problems during packaging
------------------------------------------------------------------------
r231458 | agabasch | 2018-11-07 09:36:22 +0100 (Mi, 07 Nov 2018) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost/fmostp/4most
   A /trunk/Pipelines/fmost/fmostp/fmost (from /trunk/Pipelines/fmost/fmostp/4most:231457)

4most renamed to fmost as the leading 4 creates problems during packaging
------------------------------------------------------------------------
r231450 | agabasch | 2018-11-07 09:28:43 +0100 (Mi, 07 Nov 2018) | 1 line
Changed paths:
   D /trunk/Pipelines/fmost/4mostp
   A /trunk/Pipelines/fmost/fmostp (from /trunk/Pipelines/fmost/4mostp:231449)

4most renamed to fmost as the leading 4 creates problems during packaging
------------------------------------------------------------------------
r231446 | agabasch | 2018-11-07 09:20:30 +0100 (Mi, 07 Nov 2018) | 3 lines
Changed paths:
   A /trunk/Pipelines/fmost (from /trunk/Pipelines/4most:231445)

4most copied to fmost as the leading 4 is not supported in many places


------------------------------------------------------------------------
r229827 | agabasch | 2018-10-08 11:30:02 +0200 (Mo, 08 Okt 2018) | 11 lines
Changed paths:
   M /trunk/Pipelines/4most/4mostp

externals

^/trunk/Pipelines/common/m4macros       m4
^/trunk/Pipelines/common/regtests       regtests
^/tags/Pipelines/common/hdrl/hdrl-1.1.0 hdrl

added

The external for irplib has not been added


------------------------------------------------------------------------
r229825 | agabasch | 2018-10-08 11:26:21 +0200 (Mo, 08 Okt 2018) | 8 lines
Changed paths:
   A /trunk/Pipelines/4most/4most-calib
   A /trunk/Pipelines/4most/4most-calib/spec
   A /trunk/Pipelines/4most/4most-calib/spec/line_catalog_thar.fits
   A /trunk/Pipelines/4most/4mostc
   A /trunk/Pipelines/4most/4mostc/dic
   A /trunk/Pipelines/4most/4mostc/dic/ESO-DFS-DIC.IIINSTRUMENT_QC
   A /trunk/Pipelines/4most/4mostc/gasgano
   A /trunk/Pipelines/4most/4mostc/gasgano/IIINSTRUMENT.prefs
   A /trunk/Pipelines/4most/4mostc/oca
   A /trunk/Pipelines/4most/4mostc/oca/4most.properties
   A /trunk/Pipelines/4most/4mostc/oca/iiinstrment.oca
   A /trunk/Pipelines/4most/4mostc/oca/rul
   A /trunk/Pipelines/4most/4mostc/oca/rul/4most.pkd
   A /trunk/Pipelines/4most/4mostc/pso-releasenotes.txt
   A /trunk/Pipelines/4most/4mostc/rbs
   A /trunk/Pipelines/4most/4mostc/rbs/4most.properties
   A /trunk/Pipelines/4most/4mostc/rbs/4most_closing.sh
   A /trunk/Pipelines/4most/4mostm
   A /trunk/Pipelines/4most/4mostm/4mostpdoc.bib
   A /trunk/Pipelines/4most/4mostm/4mostpdoc.tex
   A /trunk/Pipelines/4most/4mostm/Makefile
   A /trunk/Pipelines/4most/4mostm/abbreviations.tex
   A /trunk/Pipelines/4most/4mostm/algorithms.tex
   A /trunk/Pipelines/4most/4mostm/ancdata.tex
   A /trunk/Pipelines/4most/4mostm/distortions.tex
   A /trunk/Pipelines/4most/4mostm/environment.tex
   A /trunk/Pipelines/4most/4mostm/figures
   A /trunk/Pipelines/4most/4mostm/figures/badpix.eps
   A /trunk/Pipelines/4most/4mostm/figures/badpix.fig
   A /trunk/Pipelines/4most/4mostm/figures/badpix.png
   A /trunk/Pipelines/4most/4mostm/figures/girassocmap.eps
   A /trunk/Pipelines/4most/4mostm/figures/girassocmap.png
   A /trunk/Pipelines/4most/4mostm/figures/ifuhead.eps
   A /trunk/Pipelines/4most/4mostm/figures/ifuhead.fig
   A /trunk/Pipelines/4most/4mostm/figures/ifuhead.png
   A /trunk/Pipelines/4most/4mostm/figures/pseudoslits.eps
   A /trunk/Pipelines/4most/4mostm/figures/pseudoslits.fig
   A /trunk/Pipelines/4most/4mostm/figures/pseudoslits.png
   A /trunk/Pipelines/4most/4mostm/figures/quadrants.eps
   A /trunk/Pipelines/4most/4mostm/figures/quadrants.fig
   A /trunk/Pipelines/4most/4mostm/figures/quadrants.png
   A /trunk/Pipelines/4most/4mostm/figures/skyccd.eps
   A /trunk/Pipelines/4most/4mostm/figures/skyccd.fig
   A /trunk/Pipelines/4most/4mostm/figures/skyccd.png
   A /trunk/Pipelines/4most/4mostm/installation.tex
   A /trunk/Pipelines/4most/4mostm/instrument.tex
   A /trunk/Pipelines/4most/4mostm/introduction.tex
   A /trunk/Pipelines/4most/4mostm/knownProblems.tex
   A /trunk/Pipelines/4most/4mostm/layout.tex
   A /trunk/Pipelines/4most/4mostm/overview.tex
   A /trunk/Pipelines/4most/4mostm/overview_dfs.tex
   A /trunk/Pipelines/4most/4mostm/overview_iins.tex
   A /trunk/Pipelines/4most/4mostm/prodata.tex
   A /trunk/Pipelines/4most/4mostm/quickStart.tex
   A /trunk/Pipelines/4most/4mostm/rawdata.tex
   A /trunk/Pipelines/4most/4mostm/recipes.tex
   A /trunk/Pipelines/4most/4mostm/recipes_io.tex
   A /trunk/Pipelines/4most/4mostm/reduction.tex
   A /trunk/Pipelines/4most/4mostm/reflex_tutorial
   A /trunk/Pipelines/4most/4mostm/reflex_tutorial/4most_reflex_tutorial.tex
   A /trunk/Pipelines/4most/4mostm/reflex_tutorial/figures
   A /trunk/Pipelines/4most/4mostm/reflex_tutorial/figures/product_explorer.png
   A /trunk/Pipelines/4most/4mostm/reflex_tutorial/figures/select_data_sets.png
   A /trunk/Pipelines/4most/4mostm/reflex_tutorial/figures/wkf_layout.png
   A /trunk/Pipelines/4most/4mostm/scripts
   A /trunk/Pipelines/4most/4mostm/scripts/process_bdd.csh
   A /trunk/Pipelines/4most/4mostm/shortcut.tex
   A /trunk/Pipelines/4most/4mostm/troubleshoot.tex
   A /trunk/Pipelines/4most/4mostp
   A /trunk/Pipelines/4most/4mostp/4most
   A /trunk/Pipelines/4most/4mostp/4most/4most_dfs.c
   A /trunk/Pipelines/4most/4mostp/4most/4most_dfs.h
   A /trunk/Pipelines/4most/4mostp/4most/4most_pfits.c
   A /trunk/Pipelines/4most/4mostp/4most/4most_pfits.h
   A /trunk/Pipelines/4most/4mostp/4most/4most_utils.c
   A /trunk/Pipelines/4most/4mostp/4most/4most_utils.h
   A /trunk/Pipelines/4most/4mostp/4most/Makefile.am
   A /trunk/Pipelines/4most/4mostp/4most/tests
   A /trunk/Pipelines/4most/4mostp/4most/tests/4most_dfs-test.c
   A /trunk/Pipelines/4most/4mostp/4most/tests/4most_pfits-test.c
   A /trunk/Pipelines/4most/4mostp/4most/tests/Makefile.am
   A /trunk/Pipelines/4most/4mostp/4most_reg
   A /trunk/Pipelines/4most/4mostp/4most_reg/sof
   A /trunk/Pipelines/4most/4mostp/4most_reg/sof/111.rrrecipe.sof
   A /trunk/Pipelines/4most/4mostp/AUTHORS
   A /trunk/Pipelines/4most/4mostp/BUGS
   A /trunk/Pipelines/4most/4mostp/COPYING
   A /trunk/Pipelines/4most/4mostp/ChangeLog
   A /trunk/Pipelines/4most/4mostp/Doxyfile.in
   A /trunk/Pipelines/4most/4mostp/INSTALL
   A /trunk/Pipelines/4most/4mostp/Makefile.am
   A /trunk/Pipelines/4most/4mostp/NEWS
   A /trunk/Pipelines/4most/4mostp/README
   A /trunk/Pipelines/4most/4mostp/TODO
   A /trunk/Pipelines/4most/4mostp/acinclude.m4
   A /trunk/Pipelines/4most/4mostp/admin
   A /trunk/Pipelines/4most/4mostp/admin/doxygen.am
   A /trunk/Pipelines/4most/4mostp/autogen.sh
   A /trunk/Pipelines/4most/4mostp/bootstrap
   A /trunk/Pipelines/4most/4mostp/configure.ac
   A /trunk/Pipelines/4most/4mostp/doxygen
   A /trunk/Pipelines/4most/4mostp/recipes
   A /trunk/Pipelines/4most/4mostp/recipes/Makefile.am
   A /trunk/Pipelines/4most/4mostp/recipes/rrrecipe.c
   A /trunk/Pipelines/4most/4mostp/recipes/rrrecipe_calib.c
   A /trunk/Pipelines/4most/4mostp/reflex
   A /trunk/Pipelines/4most/4mostp/reflex/4most.xml.in
   A /trunk/Pipelines/4most/4mostp/reflex/4most_wkf.oca
   A /trunk/Pipelines/4most/4mostp/reflex/Makefile.am
   A /trunk/Pipelines/4most/4mostp/reflex/create_demo_data.py
   A /trunk/Pipelines/4most/4mostp/reflex/interactive_window.py
   A /trunk/Pipelines/4most/4mostp/reflex/xml2in.pl
   A /trunk/Pipelines/4most/4mostp/regtests
   A /trunk/Pipelines/4most/4mostp/regtests/Makefile.am
   A /trunk/Pipelines/4most/4mostp/regtests/tests
   A /trunk/Pipelines/4most/4mostp/regtests/tests/Makefile.am

Skeleton taken from the iiinstrument module:

A) Files and directories were renamed: iiinstrument -> 4most
B) Externals are removed - will be added later
C) The build system has to be adapete later as the content of the
   files were not touched


------------------------------------------------------------------------
