{% extends 'core/lcars_app.html' %} {% load static %} {% block header_title %} AutoWISP Reductions Progress {% endblock header_title %} {% block extra_head %} {% endblock extra_head %} {% block app_title %} Processing Progress {% endblock app_title %} {% block left_menu %} {% if running %} {% if await_start >= 0 %}
Waiting to start {{ await_start }}
{% else %}
Processing
{% endif %} {% else %} {% endif %}
Add New Images
{% endblock left_menu %} {% block main %}
{% csrf_token %} {# Expose refresh config to JS via data attributes #} {% if refresh_seconds %}
{% endif %} {% for channel in channels %} {% endfor %} {% for step, imtype, by_channel, runs, step_errors in progress %} {% for success, failure, pending, by_status in by_channel %} {% with final=success|add:failure %} {% with total=final|add:pending %} {% endwith %} {% endwith %} {% endfor %} {% endfor %}
Step {% if not running %}
Select all
{% endif %}
Image Type{{ channel }}
{% if step.0 == 'calibrate' %} Calibrates raw frames using bias, dark, and flat corrections. This normalizes pixel values so later steps work on clean data. {% elif step.0 == 'find' and step.1 == 'stars' %} Detects point sources using your threshold and extraction settings. This produces initial star coordinates used by later steps. {% elif step.0 == 'solve' and step.1 == 'astrometry' %} Solves the WCS so sky coordinates map to pixel coordinates. This enables catalog matching and accurate positions. {% elif step.0 == 'fit' and step.1 == 'star' and step.2 == 'shape' %} Fits PSF/PRF shapes to measure flux more precisely. These fits provide the basis for high-quality photometry. {% elif step.0 == 'measure' and step.1 == 'aperture' and step.2 == 'photometry' %} Measures flux in fixed apertures for each source. This provides robust brightness estimates for later modeling. {% elif step.0 == 'fit' and step.1 == 'source' and step.2 == 'extracted' and step.4 == 'map' %} Fits a smooth PSF map across the image using many stars. This reduces noise in PSF parameters and improves consistency. {% elif step.0 == 'fit' and step.1 == 'magnitudes' %} Fits relative magnitudes by comparing each frame to a reference. This removes frame-to-frame systematics and normalizes fluxes. {% elif step.0 == 'create' and step.1 == 'lightcurves' %} Reorganizes measurements into per-star lightcurves. This collects each star’s time series into a single file. {% elif step.0 == 'epd' or step.1 == 'epd' %} Removes trends correlated with external parameters. This reduces instrumental systematics in each lightcurve. {% elif step.0 == 'tfa' or step.1 == 'tfa' %} Filters trends shared across many stars in the field. This improves precision while preserving real variability. {% else %} Runs this pipeline step and updates its outputs. Use hover for quick context while monitoring progress. {% endif %}
{{ step|join:" " }}
{% if step_errors %} {{ step_errors }} recorded error{{ step_errors|pluralize }} — review
{{ imtype }} ⚠
{% elif step.0 == 'fit' and step.1 == 'magnitudes' or step.0 == 'find' and step.1 == 'stars' %} {% if step.0 == 'fit' and step.1 == 'magnitudes' %} select reference image {% else %} tune source extraction {% endif %}
{{ imtype }}
{% else %} {{ imtype }} {% endif %}
{% for status, count in by_status %} {% endfor %}
{% if step.0 == 'calibrate' %} Review calibration diagnostics {% comment %} One section per recorded quantile, there being no single name for the family any more. No link at all until one is recorded, as with the bars whose steps have not run. {% endcomment %} {% if quantile_quantities %} {% url 'diagnostics:display_diagnostics' x_quantity='jd' y_quantities=quantile_quantities as diagnostic_url %} {% endif %} {% elif step.0 == 'find' and step.1 == 'stars' %} Review star finding diagnostics {% url 'diagnostics:display_diagnostics' x_quantity='jd' y_quantities='num_extracted_src' as diagnostic_url %} {% elif step.0 == 'solve' and step.1 == 'astrometry' %} Review astrometry diagnostics {% url 'diagnostics:display_diagnostics' x_quantity='jd' y_quantities='pointing_offset' as diagnostic_url %} {% elif step.0 == 'fit' and step.1 == 'star' and step.2 == 'shape' %} Review star shape fit diagnostics {% url 'diagnostics:display_diagnostics' x_quantity='jd' y_quantities='bg_center' as diagnostic_url %} {% elif step.0 == 'measure' and step.1 == 'aperture' and step.2 == 'photometry' %} Review aperture photometry diagnostics {% url 'diagnostics:display_diagnostics' x_quantity='jd' y_quantities='bg_center' as diagnostic_url %} {% elif step.0 == 'fit' and step.1 == 'source' and step.2 == 'extracted' and step.4 == 'map' %} Review source extraction PSF diagnostics {% url 'diagnostics:display_diagnostics' x_quantity='jd' y_quantities='s_center' as diagnostic_url %} {% elif step.0 == 'fit' and step.1 == 'magnitudes' or step.0 == 'epd' or step.0 == 'tfa' or step.1 == 'epd' or step.1 == 'tfa' %} Review magnitude fitting performance {% url 'diagnostics:display_detrending_diagnostics' as diagnostic_url %} {% endif %} {% if diagnostic_url %} {% endif %}
{{success}}/{{total}} {% if failure > 0 %} | {{failure}}/{{total}} {% endif %}
{% if diagnostic_url %} {% endif %}
Status {{ status }}
{{count}}/{{pending}}
{% endblock main %} {% block scripts %} {# Moved all JS to static/processing/js/progress.js #} {% endblock %}