Process CCD Obs.

Measure total comet-coma brightness from astrometrically solved FITS images, use observation-local helpers for the comet centre and comparison stars, and inspect independent Slice profiles.

Source-verified Manual photometry is documented with the R79 unified reference-star workflow, the R73 shared saturation and camera-validation workflow, the R60 unified bounded Gaussian comet centroid, R59 120-arcsec interactive finder, R58 clean result-comment policy, R55 crowded-field Automatic Star Measure stability and the retained R27 photometry convention.

Choose a measurement route

Manual WCCD

Open a required comet-aligned FITS image and, preferably, the matching star-aligned image. Select the comet centre, aperture and comparison stars yourself. The workflow can also measure a tail.

Start with: New observation in WCCD or Measure on the WStack Stack page.

Helper-assisted setup

The New CCD/DSLR observation dialog can locate and confirm a comet candidate, request an optional JPL position and measure comparison stars automatically. These helpers prepare the ordinary manual WCCD observation; they do not process or save the comet measurement.

Continue with: the normal comet aperture, ACF review and Process obs. workflow.

Requirements before measurement

  • The shared Comet designation control accepts a canonical identifier and confirms that usable local elements exist.
  • The active location, telescope and camera describe the observation.
  • The Comet role contains a usable two-dimensional FITS image and a celestial WCS when catalogue stars are required.
  • The selected camera and binning are compatible with the image geometry.
  • A manual aperture and its complete local background annulus fit inside valid image coverage.

A separate Stars file is optional. When Stars is empty, or the same FITS is selected in both fields, KOPR creates a full Stars logical role from the already loaded Comet FITS. Immutable image/header/saturation data may be shared, while catalogue overlays, annotations, centroids, measurements and viewport state remain independent.

Scientific, Compact and external FITS input

WCCD measures physical pixel values, not raw on-disk integer codes. Astropy applies BSCALE, BZERO and BLANK; KOPR then copies the selected science image to a common C-contiguous float32 array.

  • signed int16;
  • pseudo-unsigned uint16 through FITS scaling;
  • other scaled integer FITS;
  • float32 and float64;
  • science images in the primary or a supported image extension.

Coverage, clipping, saturation, PROVENANCE and COMETTRK extensions are skipped when locating the science image.

Same photometry: native Scientific and Compact Stars/Comet products are decoded to the same physical floating-point arrays before manual WCCD and helper calculations. Compact is not a reason to reject an image.

Ordinary external FITS can be measured manually when their image, WCS and required observation metadata are usable. WStack provenance improves pairing, saturation and helper diagnostics, but integer storage alone does not establish those contracts.

Open a manual observation

  1. Select Comet stack. This is required. Click the path field, press Enter/Return, or use Browse….
  2. Select Stars stack (optional). Choose a dedicated star-aligned product when available. Leaving the field empty, or selecting the same FITS, activates comet_fallback without a second physical read. Both Comet and Stars buttons remain available.
  3. Confirm Comet designation. The shared R107 control parses FITS OBJECT, canonicalises values such as 10P/Tempel 2 to 10P, preserves incomplete typing states and does not overwrite a manual edit after later Browse actions.
  4. Complete preflight. Invalid designation syntax is reported separately from a valid designation that has no local orbital elements. A genuine two-file pair still undergoes STACKTYP, filter, geometry, exposure and PAIRFILE checks. Accepted Comet/Stars EXPTIME values must agree within 0.001 s.
Transactional observation: Cancel or any validation error preserves the previous observation. Canonical designation, repository status and role resolution complete before the dialog is accepted. A valid designation without local elements offers Add or update comet elements…. See Comet designation.
Keyboard Browse behaviour: Tab or Shift+Tab opens the chooser only when the receiving field is empty. Cancel preserves the previous path; modal focus return cannot reopen the chooser or queue a duplicate request.

Camera compatibility gate

KOPR reconstructs native detector geometry from FITS source dimensions and binning. VERIFIED_EXACT and a unique VERIFIED_COMPATIBLE active-area match are accepted silently. A camera dialog appears only when one unambiguous verified camera cannot be selected.

Automatic helpers for a new observation

The dialog can enable Automatic comet finder, Auto star measure and dependent High-precision position — JPL Horizons. Accepted checkbox values become the next-dialog defaults; Cancel does not save them. Each committed observation receives its own helper state and run token.

R93 GUI-thread handoff. Numerical ranking and star measurement run outside the GUI thread. Progress, completion, failure and cleanup return through QObject-bound pyqtSlot receivers. The completed progress dialog is hidden synchronously before any Qt/Matplotlib review window is built in the main GUI thread.

The interactive finder uses the 120-arcsec visual-confirmation search and labels the actual expected-position source, including internal KOPR ephemeris (DE440s N-body (automatic)) when that engine was used. A fallback label and reason remain visible. Similarity of the final offset alone is not evidence of the model.

When Stars uses comet_fallback, Auto Star Measure operates on the logical Stars role and the finder receives a non-null Stars image/header. Both roles retain independent overlays and measurement state.

A stale or cancelled worker cannot commit or open a dialog after the observation changes. Candidate confirmation still stores only the authoritative comet centre; it does not start photometry.

Open the complete Automatic Helpers and Slice guide

Main WCCD controls

ControlMeaning
Comet designation, Date, TimeObservation identity and midpoint time in UT. Changing valid date/time fields refreshes comet distance, heliocentric distance, altitude, Sun altitude and Moon altitude.
FilterObservation passband: unfiltered C, B, V, R, I, g′, r′ or i′. Changing it selects the corresponding band while preserving the current APASS/Gaia catalogue family.
Mag. sourceCatalogue magnitude or synthetic transformed magnitude used for comparison stars.
CorrectionsICQ reduction description inherited from CCD defaults. It records the stated bias/dark/flat treatment; it does not recalibrate the loaded image.
Binning1×1, 2×2 or 3×3. It affects centroid radius and the pixel-scale fallback used for coma and tail dimensions.
Saturation levelLocated in the left observation panel between Binning and Nr. of frames. Comet and Stars retain separate saturation states. In automatic policy, a complete WStack NSATVAL map is authoritative and the displayed detector limit is informational. Editing the field activates a manual numeric override for the active image and intentionally ignores that image's source-frame map until the corresponding FITS is replaced.
Nr. of frames / Total exp. timeNumber of represented exposures and their total exposure in seconds.
Coma diameter, Tail length, Position angleDerived after comet/tail measurement; values can be reviewed before processing.
Image: Comet / StarsSwitches between already loaded products. Selecting Measure Stars automatically prefers the Stars image; comet and tail modes prefer the Comet image.
CentroidRefines a stellar centre or invokes the canonical bounded 2D Gaussian comet-centroid model. Manual WCCD clicks, automatic finder candidates and M1 share the same comet model. Movement is limited by Comet centroid max shift (px), independent of the coma aperture.
ACF filterUses production pa-adaptive-upper-v1 for comet photometry. It clips only positive PA-local outliers and does not affect comparison-star photometry.
Star mag. limitCatalogue query limit. Click or edit the field to reload markers when WCS is available.
Aperture radiusManual circular aperture radius. Enter an integer number of pixels or a physical radius such as 10kkm, which KOPR converts to pixels from WCS scale and comet distance.
Perform comet measureLocated beside Aperture radius. It is enabled only when the aperture is positive and a finite comet centre is stored. It switches to the Comet image when necessary and starts the same comet-measurement path without an additional confirmation dialog.
Reference starsReviews the canonical measured-star list. Use is checked only for stars effectively included in the current final ensemble; Reason explains exclusions.
Process obs.Validates the measurement, calculates the comet magnitude, Afρ/curve-of-growth data and opens the standard result dialog.
FITS HeaderDisplays the active image header.

Measurement modes

The selector uses stable named identifiers: Measure Comet, Measure Tail, Measure Stars, Slice Through Comet, Slice Between Points and Fix Astrometry. Logic does not depend on their visual index.

Comparison-star catalogues

Catalogue markers require a celestial WCS. KOPR queries the selected magnitude family and transforms catalogue coordinates into image pixels. Without WCS, stars can still be entered manually through the search dialog, but the normal catalogue-assisted workflow is unavailable.

FamilyAvailable WCCD bandsAutomatic default limit
APASSDirect B, V, g′, r′, i′ and calculated R/I variants17.0 mag
Gaia DR3 / XPCalculated B, V, Rc, Ic, g′, r′, i′ and XP z′ entries18.0 mag

For an unfiltered C observation, KOPR selects a comparison band from the configured camera spectral peak where possible. The catalogue family follows the Preferred mag. catalog setting, but a manual APASS/Gaia choice remains in effect when the filter is changed.

COBS magnitude-source identifiers are case-sensitive. R47 uses AG, AR and AI for direct APASS Sloan g′, r′ and i′. Calculated APASS R and direct Sloan-r both use AR; calculated APASS I and direct Sloan-i both use AI. Gaia transformed/synthetic sources retain the exact codes Bg, Vg, Rg, Ig, gg, rg, ig and zg. Do not normalize these codes to a different letter case.

Marker colours distinguish catalogue colour classes. A catalogue marker is only a candidate position; it becomes a measured reference star after aperture photometry succeeds. All objects used in one final solution must use the same magnitude source.

Unified Reference stars workflow

R77–R78 use one canonical, lossless reference-star model for both AutoStars and Manual Stars. Fields available from the richer source are retained instead of being discarded when stars move between automatic measurement, manual review and the final observation.

  • Reference stars opens one scrollable dialog over the canonical collection, including larger star sets.
  • Use is checked only when the star is effectively included in the current final ensemble. Pairwise-rejected stars, image-quality-rejected stars and stars disabled by the observer are displayed unchecked.
  • Reason is the single visible explanation of exclusion. The former redundant Pairwise status column is not shown.
  • A freshly edited or explicitly rechecked candidate remains selected while recalculation is pending. After Recalculate, the strict scientific policy is applied again and an incompatible star becomes unchecked.
  • Internally, user_enabled still records the observer's explicit state and pairwise_accepted still records the derived solver result. The R80 hotfix changes only the table projection; it does not discard either state.
  • Automatic and manual stars have canonical type parity and feed the same final solution.
  • Process obs. and Af-rho consume the same accepted IDs; they do not create a second competing reference-star solution.
Strict pairwise boundary: every accepted pair must differ by less than 0.150 mag. A difference of exactly 0.150 mag is rejected. Extinction-corrected q_i values are used before this comparison.

Internal pairwise audit details remain available for review and diagnostics but are not automatically copied into the ICQ free-text comment.

Manual measurement workflow

  1. Set the aperture radius and verify saturation handling. Use a radius that includes the intended coma while leaving the complete background annulus inside valid image coverage. For a physical standard aperture, enter the radius in thousands of kilometres, for example 10kkm. Leave Saturation level untouched to use the automatic role-specific policy; edit it only when you intentionally need a direct numeric threshold for the active image.
  2. Measure the comet on the Comet image. Choose Measure Comet and store the nuclear-condensation centre. Manual selection uses the same bounded 2D Gaussian comet-centroid model as finder candidates and M1. You can then use the existing image interaction or click Perform comet measure beside Aperture radius. The button becomes available only with a positive aperture and finite stored centre, switches to the Comet image when necessary and runs without a separate confirmation dialog. When the Comet image is already active, repeating the measurement preserves the current zoom and pan; a role change still performs the normal switch and redraw. The large coma aperture is never reused as the centroid search radius.
  3. Inspect the drawn geometry. The green circle is the comet aperture. The two green squares bound the local square background annulus. A cropped annulus is rejected.
  4. Measure comparison stars. Choose Measure Stars. KOPR switches to the star-aligned image when one is loaded. Click clean, isolated catalogue stars. Each measurement enters the same canonical reference-star collection used by AutoStars. Each accepted star is shown with a cyan circular aperture and square background annulus.
  5. Reject unsuitable stars. Avoid saturation, no-data edges, blends, star trails, contaminated annuli and stars with obviously inconsistent photometry. Hold Shift and click near an already measured star to change the manual set, or review the lossless canonical collection and its separate user/solver states through Reference stars.
  6. Optionally measure the tail. Choose Measure Tail and right-click the comet centre followed by the visible tail end. KOPR derives angular length and position angle from WCS.
  7. Process the observation. Select an extinction season only when appropriate, add an optional comment and click Process obs..

The same manual aperture-radius field is used for comet and manually selected comparison-star measurements. Auto Star Measure can derive and commit one validated common stellar aperture for its accepted comparison stars.

Background, valid coverage and saturation

Same-image local background

Manual WCCD measures the sky in the same image as each object. The adopted level is the median of a complete square annulus linked to the aperture radius. Its inner square half-size is approximately 4/3 of the aperture radius and its outer half-size approximately 7/3. The object aperture itself is excluded.

No background transfer: KOPR does not transfer a sky value between independently created Comet and Stars stacks. The comet uses a local annulus in the Comet image; every comparison star uses its own local annulus in the active star-measurement image.

The median is robust to sparse outliers, but it does not make a visibly contaminated annulus valid. Reject a measurement when the annulus contains a bright star/trail, strong gradient, residual coma or masked/no-data boundary.

Coverage checks

Only finite pixels with positive aperture weight are accepted. KOPR reports No data coverage when a circular aperture touches NaN pixels, typically along the reprojection edge. A complete background annulus must also fit; KOPR does not silently use a clipped asymmetric sample.

Automatic role-specific policy

Comet and Stars images retain independent saturation contracts. When a WStack product contains a complete, shape-compatible NSATVAL source-frame map, any aperture touching a marked pixel is rejected as saturated even when averaging or summation hides the clipped source value. The aggregate stack pixel is not compared with a per-source-frame ADC threshold in this mode.

Without a complete map, the shared resolver first obtains a base value in this order:

  1. explicit detector or linearity metadata: SATURATE, SATLEVEL, MAXADU or ADC-MAX;
  2. detector bit depth from ADCBITS, ADC-BITS, BITDEPTH, BITDEP or NBITS, converted to 2**bits - 1;
  3. the physical storage ceiling for integer FITS from BITPIX, BSCALE and BZERO;
  4. for floating FITS, 1.0 when finite data follow the common normalized 0–1 convention, otherwise an editable 65535 ADU fallback.

For an aggregate image whose pixel scale can exceed that base value, the common resolver converts the base limit into the current image domain using an integer multiplier. The effective limit must be at least the finite image maximum, but the maximum itself is never copied as the threshold. In the audited FLOAT32 SUM stack, base 65535, maximum 1036396.5625 and multiplier 16 produce an effective limit of 1048560 ADU.

The brightest observed pixel is never copied into Saturation level. The finite range of floating data is used to recognize normalized 0–1 storage and to verify that the resolved image-domain limit is not below the data range. The generic 65535 base is non-authoritative; replace it with the real detector or linearity base when known.

Manual threshold override

Editing Saturation level activates a per-image manual base value. While it is active, KOPR intentionally ignores the complete source-frame map for that image. The same shared resolver converts the manual base into the effective image-domain threshold, so the same base produces the same effective limit whether it came from automatic FLOAT fallback or the WCCD field. The override survives redraw, remeasurement and Comet/Stars switching. Loading a new FITS resets only the replaced image slot. The tooltip and terminal log identify the active policy.

Missing source-frame provenance is not an automatic failure. SATCOMP=NONE remains visible in diagnostics, but a resolved scalar threshold allows Automatic Star Measure to continue to common-aperture selection without a source-frame peak provider. Flat-top and bleeding morphology remain independent clipping vetoes.

The same frozen role-specific policy is used by manual comparison-star photometry, ordinary comet apertures, PA-adaptive ACF and Auto Star Measure.

PA-adaptive ACF comet photometry

Manual WCCD uses the production pa-adaptive-upper-v1 algorithm. Each circular layer is modelled along position angle in a fixed 40° local window. Only positive outliers above the dynamic robust-noise threshold are limited; negative samples are not clipped.

The manual workflow freezes the bounded centroid, local background and calibration context before analysing the ring sequence. The user's chosen final aperture radius remains authoritative; Review Apply recalculates the ACF analysis inside the same frozen manual context.

Review comet ACF… is available below Reference stars after a successful ACF comet measurement. It belongs to the last successful ACF Comet result and can be opened while the Stars image or another measurement mode is active.

  • Reset parameters returns to the original or last applied state.
  • Apply to measurement validates the frozen identity and always commits the preview to the Comet slot.
  • Close discards the preview.

The selected-ring PA graph follows the actual ACF state. With ACF ON, raw, upper-limit and filtered profiles are styled explicitly. With ACF OFF, clipping curves are not displayed because no ACF clipping is active.

Persistent lifetime: Stars-image, reference-star, filter, magnitude-source, catalogue, correction, extinction and displayed-aperture changes do not invalidate Review. A new observation/reset/different Comet FITS, a newer successful non-ACF measurement or an incompatible context does. Cancelled or failed replacement measurements preserve the previous Review. Observation reset closes the foreground Review/helper windows.

The reported signal remains the cumulative PA-adaptive ACF value at the selected radius; a second ordinary aperture sum is not substituted afterward.

Open the complete ACF, centroid, Review and provenance guide.

Magnitude calculation and uncertainty

Exposure-normalized instrumental convention

Manual ordinary photometry, ACF measurements, curve-of-growth points and automatically transferred comparison stars use one convention:

m_inst = 40 - 2.5 log10(net_flux / EXPTIME)

net_flux is the weighted aperture signal after additive local-sky subtraction. EXPTIME is the numerical exposure represented by the stack pixels and is frozen during observation preflight. Local sky is not a photometric divisor. TOTEXP remains total-integration/reporting metadata and does not replace EXPTIME. KOPR does not introduce PHOTSCAL, KPRSCAL or a user-entered scale factor.

Canonical differential solution

AutoStars and manually measured stars are converted to one lossless canonical reference-star collection. Extinction is applied to each star quantity q_i before consistency selection. The strict global pairwise solver then selects a mutually consistent subset; it does not use a naive greedy remove-and-recompute sequence.

No two accepted stars may differ by 0.150 mag or more. A pair exactly on the 0.150-mag boundary therefore fails the strict policy. The user choice user_enabled is preserved separately from the derived pairwise_accepted state, so opening or rerunning the solution does not destroy the observer's selections.

The one canonical accepted-ID set and one common final solution are used by Process obs. and the Af-rho output. There is no parallel post-success scatter gate after the strict pairwise solution.

Results, curve of growth and saved files

After validation, the Observation output dialog contains:

  • the fixed-width ICQ observation record;
  • the CometObs text representation;
  • filtered Afρ rows when a supported non-C passband is used;
  • a graph of measured aperture magnitudes and the selected curve-of-growth model;
  • buttons for COBS comparison, saving the figure, appending the ICQ record and closing the dialog.

Append ICQ code writes the record to <observer-code>.txt in the current KOPR working directory. Merely opening or closing the result dialog does not append it. Save figure writes a PNG chosen by the user.

Afρ and curve of growth

KOPR converts measured angular apertures to projected cometocentric radii and calculates Afρ for filtered observations within the configured maximum physical radius. Unfiltered C data do not produce a meaningful Afρ row because no solar passband magnitude is assigned.

The same physically interpretable curve-of-growth model is used in the plot and ICQ comment:

m(<rho) = m_ref + s log10(rho / rho_ref)
gamma = -2 - s / 2.5

The preferred reference radius is 10,000 km when it lies inside the measured interval; otherwise the geometric centre of that interval is used. KOPR may select a continuous broken power law only when at least four measured apertures lie on each side and the broken fit improves BIC by more than 6. Cumulative apertures are correlated, so a reported break is descriptive and must be checked against seeing, background residuals, trails and image boundaries.

ICQ free-text comment

The generated comment records the requested observation metadata, including the active location with coordinates, comet altitude, Moon altitude and the fitted CoG formula. A user-entered comment is appended after these generated fields. R58 does not append an automatic Saturation: sentence to Results, ICQ or COBS comments. Saturation validation and provenance remain active in the measurement diagnostics. Individual comparison-star magnitudes remain internal diagnostics and are not exported as a list.

Common problems

Message or symptomMeaning and action
No AstrometryCatalogue stars cannot be requested. Solve the image in WStack or use a manually entered comparison-star record.
Object / filter / exposure / pair mismatchThe selected comet and Stars products do not describe one compatible observation. In particular, their represented EXPTIME values must agree within 0.001 s. Return to the matched WStack group instead of overriding scientific metadata.
Camera selection requiredThe shared policy could not identify one exact or unique active-area-compatible camera. Check native camera resolution, FITS source dimensions and binning, then select the camera actually used. A verified exact or unique compatible configuration should not open this dialog.
Source-frame saturation provenance unavailableThis is diagnostic, not an automatic rejection. KOPR resolves a scalar image-domain limit and Automatic Star Measure may continue. Inspect the effective threshold and retain the independent flat-top/bleeding morphology veto.
Stack chooser opened while tabbingExpected only when the newly focused Comet/Stars path field is empty. A populated field should receive focus without opening Browse.
Perform comet measure is disabledEnter a positive aperture radius and store a finite comet centre with the finder or manual centre selection. The button state follows aperture edits, image changes, centre updates and observation reset.
Background region errorThe complete square annulus is cropped or otherwise invalid. Reduce the aperture, recenter away from an edge or use an image with more valid coverage.
Saturation possibilityIn automatic policy, the aperture touches a complete source-frame NSATVAL map or reaches the numeric fallback threshold. In manual-override policy, a pixel reaches the explicitly entered threshold and the source-frame map is intentionally ignored. Reject the object unless the active policy or threshold is demonstrably inappropriate for that image.
No data coverageThe active circular aperture includes NaN/no-coverage pixels, usually a reprojected edge. Choose a fully covered object or smaller aperture.
No positive signal / No positive comet signalSky-subtracted flux or sky normalization is non-positive. Recenter, reduce the aperture and inspect the local background for over-subtraction.
No star foundNo suitable catalogue entry is close enough to the click, or catalogue data are unavailable. Check WCS, source, network/offline data and marker limit.
Magnitude source mismatchMeasured objects in the current solution use different catalogue sources. Remove/re-measure them using one common source.
Automatic manual_requiredThe conservative automatic quality contract was not satisfied. Read the final stage and log, inspect the JSON diagnostic and continue manually.
Automatic result brighter than expectedInspect candidate identity, source-frame saturation, star-trail contribution, background retries and the outer CoG plot. Do not accept a result solely because the worker reached Success.
Review comet ACF is disabledNo successful ACF measurement is retained for the current Comet observation, a new observation/reset/different Comet FITS invalidated it, or a later successful non-ACF measurement replaced it. Stars-image, catalogue and photometric-option changes do not invalidate the last successful ACF context.
Changing ACF cut (%) has no effect on the production resultExpected. That field is retained only for legacy rollback; production pa-adaptive-upper-v1 uses Upper limit (sigma).

Measurement checklist

  • Comet and Stars products belong to the same WStack group and use the same filter/exposure.
  • Active location, telescope, camera and binning are correct.
  • Observation midpoint and represented frame count are plausible.
  • Comet centre is on the intended condensation, not a star or trail.
  • Comet aperture captures the requested coma and remains inside valid coverage.
  • Every local background annulus is complete and visually clean.
  • Comparison stars are unsaturated, isolated and use one catalogue source.
  • Manual and automatic CoG behaviour is physically plausible; no late negative drift or unbounded growth is ignored.
  • The result dialog and optional Afρ/CoG graph have been reviewed before appending the ICQ record.
  • The automatic JSON diagnostic is retained with the measured WStack products.

Related chapters

Prepare matched stacks · Configuration · FITS and output formats · Troubleshooting · Algorithm reference · Scientific / Compact output · ACF / Review guide · Automatic helpers / Slice