RMS-NAV

Contents:

  • Introduction
    • Overview
      • Navigation Pipeline
      • Installation
        • Using pip
        • Using pipx
      • Command-Line Programs
        • Navigation Phase
        • Backplanes Phase
        • PDS4 Bundle Phase
      • Cloud Tasks Support
    • Configuration
      • Configuration Loading Order
      • Configuration File Structure
        • Logging Configuration
      • Creating a User Configuration File
      • Using Command-Line Configuration Overrides
      • Command-Line Option Overrides
        • Environment Options
        • Navigation Options
        • Logging Options
      • Example: Combining Configuration Methods
  • User Guide
    • Image Navigation
      • Introduction
        • Purpose of the System
        • Supported Missions
      • Installation and Setup
        • Environment Setup
      • Configuration System
      • Command-Line Interface
        • Basic Usage
        • Command-Line Arguments
          • Environment options
          • Navigation options
          • Output options
          • Dataset selection (PDS3 datasets)
          • Miscellaneous
          • Logging options
        • Example Commands
        • Cloud-tasks entry point
          • Cloud-tasks JSON schema
      • Selecting models and techniques
        • Pattern syntax
          • Inclusion patterns
          • Exclusion patterns
          • Multiple patterns
        • Model names
        • Technique names
        • Examples
      • Inputs and Outputs
        • Input Files
        • Output Files
          • Metadata Files (*_metadata.json)
          • Summary PNG Files (*_summary.png)
        • Interpreting Results
      • Simulated Images
      • Navigation Techniques
        • Implemented techniques
          • BodyLimbNav
          • BodyTerminatorNav
          • RingEdgeNav
          • RingAnnulusNav
          • NavTechniqueManual
        • Filtering examples
        • Output
      • Navigation Models
        • Star Navigation Model
        • Body Navigation Model
        • Ring Navigation Model
          • Planet shadow removal
          • Body shadow removal (future)
      • Troubleshooting
        • Common Issues
        • Getting Help
    • Reprojection Mosaicing
      • Overview
      • Body reprojection and mosaicing
        • Coordinate systems
        • Choosing dtypes
        • Photometric correction
        • Pixel conflict resolution
        • Geometry limits when adding
        • Longitude wraparound
        • Retrieval methods
      • Ring reprojection and mosaicing
        • Choosing dtypes (rings)
        • Orbit model
        • Mosaic compatibility
        • Merge strategy
        • Retrieval methods
      • Saving and loading
        • Image labels (reprojection and mosaic)
        • Sub-solar and sub-observer geometry (body reprojection and mosaics)
      • Cartographic navigation model
      • Command-line mosaic generation
        • Offset application
        • Output format
        • Cloud-tasks entry point
        • Common options reference
          • Ring-specific options
          • Orbit model, longitude, and radius conventions
          • Body-specific options
      • Command-line mosaic display
        • Display options
        • Interactive controls
        • Projection selector (body mosaics)
        • Mouse bindings summary
    • Backplane Generation
      • Overview
      • Command-Line Interfaces
        • Examples
          • Cloud-tasks JSON schema
        • Configuration
        • Outputs
      • Backplane Viewer GUI
        • Run
        • Features
        • Notes
    • Simulated Images
    • PDS4 Bundle Generation
      • Overview
        • Purpose
      • Bundle Structure
      • Command-Line Interfaces
        • Labels Pass
          • Basic Usage
          • Command-Line Arguments
          • Examples
          • Cloud Tasks Variant
        • Summary Pass
          • Basic Usage
          • Command-Line Arguments
          • Examples
      • Inputs and Outputs
        • Input Files
        • Output Files
          • Labels Pass Outputs
          • Summary Pass Outputs
      • Configuration
        • Configuration Options
        • Bundle Results Root
      • Templates
      • Dataset-Specific Behavior
      • Workflow
      • Troubleshooting
        • Common Issues
        • Getting Help
    • Appendix: Cassini ISS
    • Appendix: Galileo SSI
    • Appendix: New Horizons LORRI
    • Appendix: Voyager ISS
  • Developer Guide
    • Introduction
      • Package overview
      • Repository layout
      • Install
        • Environment variables
      • Running the CLI tools
      • Running the test suite
        • Test markers and layout
      • Lint, types, formatter
      • Building the documentation
      • CI / CD pipeline
      • Release / deployment
      • Contribution workflow
      • Pointers to the rest of this manual
    • Code Familiarization Plan
      • Stage 1 — Orientation
      • Stage 2 — Cross-cutting foundations
      • Stage 3 — Inputs: datasets, observations, features
      • Stage 4 — First end-to-end pipeline: NavModelBody + BodyLimbNav
        • Model
        • Technique
        • Orchestrator (minimum slice)
        • Output: annotations, metadata, summary PNG, top-level driver
      • Stage 5 — Orchestrator round-trip: feasibility, confidence, diagnostics, ensemble
      • Stage 6 — Remaining models and their techniques
        • Stars (model + star techniques)
        • Body (additional techniques)
        • Rings (model + ring techniques)
        • Titan (model only)
        • Manual
      • Stage 7 — Simulated images
      • Stage 8 — Calibration and regression
      • Stage 9 — Downstream products
      • Stage 10 — Extending and conventions
    • Navigation
      • Navigation Overview
        • System architecture
        • Data flow
      • Class Hierarchy
        • Top-level driver
        • NavBase
        • FeatureReliabilityGate
        • Dataset, Obs, and ObsSnapshot
        • NavModel
        • NavTechnique
        • NavFeature and NavFeatureGeometry
        • NavResult, ensemble, curator
        • Annotation
      • Observations
        • Overview
        • ObsSnapshot
          • Backplane caching and thread safety
        • ObsInst
        • Per-instrument subclasses
          • Simulated-image instrument config: inherit / override / self-specify
        • Adding a new instrument
        • API reference
      • Navigation Models
        • Stars
          • Star Navigation Model
            • Overview
            • Theory
              • Catalog reduction
              • Conflict marking
              • Magnitude detectability gate
              • Magnitude-margin effective SNR
              • Per-feature uncertainty
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
              • Module-level emission constants
              • Per-instrument overrides
            • Implementation
              • Annotation helpers
              • Per-image metadata
              • Call path
            • Examples
          • Simulated Star Navigation Model
            • Overview
            • Theory
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
            • Implementation
            • Examples
        • Bodies
          • Body Navigation Model
            • Overview
            • Theory
              • Bounding-box construction
              • Anti-aliased silhouette extraction
              • Polyline sampling
              • Per-vertex position covariance
              • Visible-lit and overflow fractions
              • Lit-weighted predicted centroid
              • Sub-solar direction
              • Phase-and-irregularity coupling
              • Feature emission gates
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
              • bodies block
              • Body-shape catalogue
              • Module-level emission constants
              • Per-instrument overrides
            • Implementation
              • BodyShape dataclass
              • Annotation helpers
              • Per-image metadata
              • Call path
            • Examples
          • Simulated Body Navigation Model
            • Overview
            • Theory
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
              • Render geometry vs navigation geometry
            • Implementation
              • Call path
            • Examples
        • Rings
          • Ring Navigation Model
            • Overview
            • Theory
              • Edge rendering
              • Per-edge feature filtering
              • Curvature classification
              • Per-vertex covariance
              • Annulus template
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
              • rings block
              • Per-planet ring catalogue
              • Module-level emission constants
              • Per-instrument overrides
            • Implementation
              • Annotation helpers
              • Per-image metadata
              • Call path
            • Examples
          • Simulated Ring Navigation Model
            • Overview
            • Theory
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
            • Implementation
              • Call path
            • Examples
        • Titan
          • Titan Navigation Model
            • Overview
            • Theory
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
            • Implementation
            • Examples
          • Simulated Titan Navigation Model
            • Overview
            • Theory
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
            • Implementation
            • Examples
      • Navigation Techniques
        • Shared infrastructure
          • DT Fitting (Shared Polyline-vs-Image Fitter)
            • Overview
            • Theory
              • Stage 1 — coarse integer cross-correlation
              • Stage 2 — sub-pixel Levenberg-Marquardt refinement
              • Stage 3 — optional continuous gradient-ridge refinement
              • Polarity filtering
              • Robustness via Tukey biweight
              • From cost surface to information matrix
              • Pseudoinverse to covariance
              • Combining with a prior in the ensemble
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
            • Implementation
            • Examples
          • Image Derivatives (Shared Gradient and Edge DT)
            • Overview
            • Theory
              • Gaussian smoothing then Sobel
              • Edge thresholding and Canny-style non-maximum suppression
              • Truncated distance transform
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
            • Implementation
              • Call path
            • Examples
          • Confidence Calibration (Shared Sigmoid-of-Linear Combination)
            • Overview
            • Theory
              • Per-term normalisation
              • Sigmoid combination
              • Hard-zero gates
              • Post-sigmoid hard cap
              • Per-term breakdown
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
            • Implementation
            • Examples
          • Feasibility Reporting (Shared NavFeasibilityReport)
            • Overview
            • Theory
              • Stable reasons
              • Consumed-feature count
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
            • Implementation
            • Examples
          • Per-Technique Diagnostics (Shared Dataclass Family)
            • Overview
            • Theory
              • The confidence formula
              • The curator
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
            • Implementation
            • Examples
        • Star techniques
          • Star Unique Match (StarUniqueMatchNav)
            • Overview
            • Theory
              • Brightness-margin gate
              • Local centroid
              • 1-star path
              • 2-star path
              • Per-mode confidence cap
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
              • Per-instrument overrides
              • Confidence formula
            • Implementation
              • Diagnostics
              • Call path
            • Examples
          • Star Field Pattern Match (StarFieldFromCatalogNav)
            • Overview
            • Theory
              • Triplet hashing
              • Source detection
              • KD-tree match
              • RANSAC inlier validation
              • PSF-fit inlier refinement
              • Similarity-transform refit
              • Per-axis covariance
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
              • Per-instrument overrides
              • Confidence formula
            • Implementation
              • Diagnostics
              • Call path
            • Examples
          • Star Refinement (StarRefineNav)
            • Overview
            • Theory
              • Per-star centroid model
              • Translation-only fit
              • Rotation-aware fit
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
              • Per-instrument overrides
              • Confidence formula
            • Implementation
              • Diagnostics
            • Examples
        • Body techniques
          • Body Limb Fit (BodyLimbNav)
            • Overview
            • Theory
              • Cost function
              • Search strategy
              • Robustness
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
              • Per-instrument overrides
              • Confidence formula
            • Implementation
              • Diagnostics
            • Examples
          • Body Terminator Fit (BodyTerminatorNav)
            • Overview
            • Theory
              • Cost function
              • Per-body uniform weighting
              • Search strategy
              • Robustness
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
              • Per-instrument overrides
              • Confidence formula
            • Implementation
              • Diagnostics
            • Examples
          • Body Disc Correlate (BodyDiscCorrelateNav)
            • Overview
            • Theory
              • Composite template construction
              • Cost function
              • Sub-pixel refinement band-limit (refine_lowpass_sigma_px)
              • Mode selection (auto / raw / gradient)
              • Search strategy
              • Rotation-aware schedule
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
              • Per-instrument overrides
              • Confidence formula
            • Implementation
              • Diagnostics
              • Call path
            • Examples
          • Body Blob Centroid (BodyBlobNav)
            • Overview
            • Theory
              • Coarse acquisition (lit-shape matched filter)
              • Per-blob centroid
              • Per-blob covariance
              • Joint translation fit
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
              • Per-instrument overrides
              • Confidence formula
            • Implementation
              • Diagnostics
              • Call path
            • Examples
        • Ring techniques
          • Ring Edge Fit (RingEdgeNav)
            • Overview
            • Theory
              • Rank-deficient covariance
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
              • Per-instrument overrides
              • Confidence formula
            • Implementation
              • Diagnostics
              • Call path
            • Examples
          • Ring Annulus Correlate (RingAnnulusNav)
            • Overview
            • Theory
              • Composite template construction
              • Cost function
              • Mode selection (auto / raw / gradient)
              • Search strategy
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
              • Feature-emission tunables (per-planet)
              • Per-instrument overrides
              • Confidence formula
            • Implementation
              • Diagnostics
              • Call path
            • Examples
        • Titan techniques
        • Manual
          • Manual Navigation (NavTechniqueManual)
            • Overview
            • Theory
              • Composite overlay
              • Auto-pick option
              • Restrictions and assumptions
              • Sources of uncertainty
            • Configuration
            • Implementation
              • Call path
            • Examples
      • Orchestrator Subsystem
        • Orchestrator (NavOrchestrator)
          • Overview
          • Theory
            • Pipeline stages
            • Exception-sandbox discipline
            • Glob-pattern model and technique filters
            • Restrictions and assumptions
            • Sources of uncertainty
          • Configuration
          • Implementation
            • Call path
          • Examples
        • Per-Image State (NavContext)
          • Overview
          • Theory
            • Restrictions and assumptions
            • Sources of uncertainty
          • Configuration
          • Implementation
          • Examples
        • Final Output (NavResult)
          • Overview
          • Theory
            • Restrictions and assumptions
            • Sources of uncertainty
          • Configuration
          • Implementation
          • Examples
        • Per-Feature Post-Mortem (NavFeatureSummary)
          • Overview
          • Theory
            • Restrictions and assumptions
            • Sources of uncertainty
          • Configuration
          • Implementation
          • Examples
        • Reproducibility Envelope (Provenance)
          • Overview
          • Theory
            • Restrictions and assumptions
            • Sources of uncertainty
          • Configuration
          • Implementation
          • Examples
        • Image Classifier (NavImageClassifier)
          • Overview
          • Theory
            • Restrictions and assumptions
            • Sources of uncertainty
          • Configuration
          • Implementation
          • Examples
        • Per-Instrument Settings (InstrumentSettings)
          • Overview
          • Theory
            • Restrictions and assumptions
            • Sources of uncertainty
          • Configuration
          • Implementation
          • Examples
        • Ensemble Combine (ensemble + EnsembleConfig)
          • Overview
          • Theory
            • Step 1 — drop spurious
            • Step 2 — drop at-edge
            • Step 3 — single-link Mahalanobis grouping
            • Step 4 — pick the highest summed-confidence group
            • Step 5 — precision-weighted merge
            • Step 6 — disagreement and conflict penalties
            • Step 7 — confidence-rank assignment
            • Restrictions and assumptions
            • Sources of uncertainty
          • Configuration
          • Implementation
          • Examples
        • JSON Curation (build_metadata_dict)
          • Overview
          • Theory
            • Float rounding policy
            • Allow-list discipline
            • Restrictions and assumptions
            • Sources of uncertainty
          • Configuration
          • Implementation
          • Examples
      • Annotations
        • Overview
        • Class hierarchy
        • Pipeline
        • Configuration
        • Per-model annotation contributions
        • API reference
      • Camera-rotation correction
        • Why per-instrument
        • The flag
        • Parameter vector
        • Per-technique strategy
        • Rank-deficient rotation
        • Ensemble combine in 3-D
        • JSON output
        • at_edge for rotation
      • Image Library
        • Layout
        • Sidecar schema (schema_version 1)
        • The calibration process
          • Why the library is the right substrate
          • The calibration loop
          • Coverage taxonomy
          • Confidence-tier semantics
          • Per-instrument calibration anchors
        • Adding a new entry
        • Tolerance regimes
        • Regression baselines
          • What checks the baselines
          • How a baseline is created or updated
    • Reprojection Internals
      • Module layout
      • Thread safety
      • Body mosaic storage
      • Ring sparse storage
      • Ring radius and longitude semantics
      • dtype propagation
      • Serialization
        • Supported formats
        • Format inference
        • kind / version scheme
        • Load-time dtype verification
        • RingOrbitModel serialization
      • Photometric models
      • Context managers
      • Adding a new photometric model
      • Cartographic model projection
      • Command-line layer
        • Two-pass workflow
      • Display layer
        • Adding a new display feature
        • Gamma stretch convention
    • Backplanes
      • Overview
      • Pipeline overview
      • Entry points
      • Restrictions and assumptions
      • Per-source backplane generation
        • Bodies
        • Rings
      • Distance-aware merge
      • FITS writer
      • Configuration
      • Snapshot helpers
      • Adding a backplane
      • Testing
      • API reference
    • PDS4 Bundle Generation
      • Pipeline overview
      • Driver: nav_create_bundle
      • Per-dataset extension points
        • The pds4 config block
      • Templated label workflow
        • Template tree
      • Output layout
      • Adding PDS4 support to a new dataset
      • API reference
    • The Image Simulator
      • Overview
      • What can be simulated
      • Scene ingredients
      • The render pipeline
      • Scene format
      • Scene parameter reference
        • Top-level fields
        • Body parameters
        • Ring parameters
        • Star parameters
        • Detector-noise block
        • Stray-light block
        • Instrument-config overrides
      • The simulated-image GUI
      • Running navigation on a simulated image
      • Exporting viewable PNGs
      • See also
    • Support Modules
      • Config and Static Data
        • The Config object
          • Sections
        • File layout
          • Per-file contents
          • Loader rules
          • Path resolution
        • Static data: catalogues and citation discipline
          • Static-data files
          • Citation requirement
          • Schema
          • Anti-hallucination procedure
          • Human review
          • Validation tests
          • Strip-rule guarantee
        • Adding a new tunable
      • Developer Guide: Logging
        • Why pdslogger
        • Log structure
        • Tests
        • Log levels
        • Conventions
    • Testing
      • Overview
      • Running the suite
      • Test kinds
      • Characterization runners and updaters
    • Extending the System
      • Adding a new dataset
      • Implementing PDS4 bundle generation methods
      • Adding a new instrument
      • Adding a new NavModel
      • Adding a new NavTechnique
      • Adding to the image library via the manual-nav dialog
    • Best Practices
      • Code style
      • Linting and typing
      • Testing
      • Documentation
    • API Reference
      • nav.feature
        • NavFeature
          • NavFeature.__post_init__()
          • NavFeature.body_name
          • NavFeature.feature_id
          • NavFeature.feature_type
          • NavFeature.flags
          • NavFeature.geometry
          • NavFeature.intensity_sigma_rel
          • NavFeature.position_cov_px
          • NavFeature.preferred_filter
          • NavFeature.reliability
          • NavFeature.reliability_reasons
          • NavFeature.source_model
          • NavFeature.subject_range_km
          • NavFeature.template_img
          • NavFeature.template_mask
          • NavFeature.usable_types
        • NavReliabilityBreakdown
          • NavReliabilityBreakdown.albedo_penalty
          • NavReliabilityBreakdown.blob_extent_px
          • NavReliabilityBreakdown.blob_snr
          • NavReliabilityBreakdown.in_body_silhouette
          • NavReliabilityBreakdown.in_saturation_or_cosmic
          • NavReliabilityBreakdown.incidence_factor
          • NavReliabilityBreakdown.overflow_fraction
          • NavReliabilityBreakdown.predicted_snr
          • NavReliabilityBreakdown.shadow_occluded_fraction
          • NavReliabilityBreakdown.smear_length_ok
          • NavReliabilityBreakdown.visible_arc_fraction
          • NavReliabilityBreakdown.visible_lit_fraction
        • body_names_from_features()
        • NavFeatureType
          • NavFeatureType.BODY_BLOB
          • NavFeatureType.BODY_DISC
          • NavFeatureType.CARTOGRAPHIC_MODEL
          • NavFeatureType.LIMB_ARC
          • NavFeatureType.RING_ANNULUS
          • NavFeatureType.RING_EDGE
          • NavFeatureType.STAR
          • NavFeatureType.TERMINATOR_ARC
          • NavFeatureType.TITAN_LIMB
        • BodyBlobGeometry
          • BodyBlobGeometry.bbox_extfov_vu
          • BodyBlobGeometry.predicted_center_vu
          • BodyBlobGeometry.predicted_diameter_px
        • BodyDiscGeometry
          • BodyDiscGeometry.bbox_extfov_vu
          • BodyDiscGeometry.overflow_fraction
          • BodyDiscGeometry.predicted_center_vu
        • CartographicModelGeometry
          • CartographicModelGeometry.bbox_extfov_vu
          • CartographicModelGeometry.overflow_fraction
          • CartographicModelGeometry.predicted_center_vu
        • LimbPolyline
          • LimbPolyline.bbox_extfov_vu
          • LimbPolyline.normals_vu
          • LimbPolyline.sigma_normal_per_vertex_px
          • LimbPolyline.sigma_tangent_per_vertex_px
          • LimbPolyline.vertices_vu
        • NavFeatureGeometry
        • RingAnnulusGeometry
          • RingAnnulusGeometry.bbox_extfov_vu
          • RingAnnulusGeometry.predicted_center_vu
        • RingEdgePolyline
          • RingEdgePolyline.bbox_extfov_vu
          • RingEdgePolyline.is_straight_line
          • RingEdgePolyline.normals_vu
          • RingEdgePolyline.sigma_along_edge_per_vertex_px
          • RingEdgePolyline.sigma_radial_per_vertex_px
          • RingEdgePolyline.vertices_vu
        • StarGeometry
          • StarGeometry.bbox_extfov_vu
          • StarGeometry.catalog_vu
          • StarGeometry.predicted_vu
        • TerminatorPolyline
          • TerminatorPolyline.bbox_extfov_vu
          • TerminatorPolyline.normals_vu
          • TerminatorPolyline.sigma_normal_per_vertex_px
          • TerminatorPolyline.sigma_tangent_per_vertex_px
          • TerminatorPolyline.vertices_vu
        • BodyBlobFlags
          • BodyBlobFlags.__post_init__()
          • BodyBlobFlags.body_name
          • BodyBlobFlags.phase_angle_deg
          • BodyBlobFlags.phase_irregularity_factor
          • BodyBlobFlags.predicted_diameter_px
          • BodyBlobFlags.sub_solar_dir_vu
        • BodyDiscFlags
          • BodyDiscFlags.__post_init__()
          • BodyDiscFlags.body_name
          • BodyDiscFlags.overflow_fov_fraction
        • CartographicModelFlags
          • CartographicModelFlags.body_name
          • CartographicModelFlags.mosaic_source
        • LimbArcFlags
          • LimbArcFlags.__post_init__()
          • LimbArcFlags.body_name
          • LimbArcFlags.visible_arc_fraction
        • NavFeatureFlags
        • RingAnnulusFlags
          • RingAnnulusFlags.__post_init__()
          • RingAnnulusFlags.constituent_edge_count
          • RingAnnulusFlags.planet_name
        • RingEdgeFlags
          • RingEdgeFlags.edge_name
          • RingEdgeFlags.is_straight_line
          • RingEdgeFlags.planet_name
          • RingEdgeFlags.polarity_predictable
        • StarFlags
          • StarFlags.__post_init__()
          • StarFlags.in_body_silhouette
          • StarFlags.in_saturation_or_cosmic_mask
          • StarFlags.predicted_snr
          • StarFlags.saturated
          • StarFlags.smear_length_px
          • StarFlags.vmag
        • TerminatorArcFlags
          • TerminatorArcFlags.__post_init__()
          • TerminatorArcFlags.body_name
          • TerminatorArcFlags.phase_angle_factor
          • TerminatorArcFlags.visible_arc_fraction
        • compose_dialog_overlay()
        • compose_template_features()
        • DEFAULT_RELIABILITY_THRESHOLDS
        • FeatureReliabilityGate
          • FeatureReliabilityGate.__post_init__()
          • FeatureReliabilityGate.apply()
          • FeatureReliabilityGate.thresholds
        • GatedFeatureRecord
          • GatedFeatureRecord.feature
          • GatedFeatureRecord.reason
        • AGREEMENT_FACTOR_CAP
        • COMBINED_CONFIDENCE_CAP
        • INCIDENCE_FACTOR_ANGLE_CAP_DEG
        • INCIDENCE_FACTOR_CLIP_DEG
        • JSON_INF_SENTINEL
        • MAX_INCIDENCE_FACTOR_CAP
        • MIN_ANISOTROPIC_SMEAR_PX
      • nav.nav_orchestrator
        • NavOrchestrator
          • NavOrchestrator.navigate()
          • NavOrchestrator.prepare()
        • OrchestratorPrep
          • OrchestratorPrep.annotations
          • OrchestratorPrep.context
          • OrchestratorPrep.feature_inventory
          • OrchestratorPrep.features
          • OrchestratorPrep.image_classifier
          • OrchestratorPrep.model_metadata
          • OrchestratorPrep.provenance
        • NavContext
          • NavContext.cosmic_ray_mask_ext
          • NavContext.fit_camera_rotation
          • NavContext.image_classifier
          • NavContext.image_edge_dt_ext
          • NavContext.image_ext
          • NavContext.image_gradient_ext
          • NavContext.image_gradient_vu_ext
          • NavContext.image_noise_sigma
          • NavContext.max_rotation_deg
          • NavContext.obs
          • NavContext.pre_filter_applied
          • NavContext.prior_covariance_px2
          • NavContext.prior_offset_px
          • NavContext.provenance
          • NavContext.saturation_mask_ext
          • NavContext.sensor_mask_ext
          • NavContext.with_prior()
        • NavResult
          • NavResult.__post_init__()
          • NavResult.annotations
          • NavResult.confidence
          • NavResult.confidence_rank
          • NavResult.conflicted()
          • NavResult.covariance_px2
          • NavResult.failed()
          • NavResult.feature_inventory
          • NavResult.image_classifier
          • NavResult.model_metadata
          • NavResult.offset_px
          • NavResult.per_technique
          • NavResult.provenance
          • NavResult.rotation_rad
          • NavResult.sigma_along_unobservable_px
          • NavResult.sigma_px
          • NavResult.sigma_rotation_rad
          • NavResult.status
          • NavResult.status_reason
          • NavResult.success()
        • NavFeatureSummary
          • NavFeatureSummary.__post_init__()
          • NavFeatureSummary.bbox_extfov_vu
          • NavFeatureSummary.feature_id
          • NavFeatureSummary.feature_type
          • NavFeatureSummary.gate_reason
          • NavFeatureSummary.gated
          • NavFeatureSummary.reliability
          • NavFeatureSummary.source_model
        • ImageQualityThresholds
          • ImageQualityThresholds.blank_max_dn
          • ImageQualityThresholds.max_missing_frac_clean
          • ImageQualityThresholds.max_saturation_frac_clean
          • ImageQualityThresholds.missing_data_marker_dn
          • ImageQualityThresholds.noisy_threshold
          • ImageQualityThresholds.partial_dropout_min_frac
          • ImageQualityThresholds.saturation_threshold_dn
        • NavImageClassifier
          • NavImageClassifier.classify()
          • NavImageClassifier.thresholds
        • NavImageClassifierResult
          • NavImageClassifierResult.flags
          • NavImageClassifierResult.image_class
          • NavImageClassifierResult.max_dn
          • NavImageClassifierResult.missing_frac
          • NavImageClassifierResult.noise_sigma
          • NavImageClassifierResult.saturation_frac
        • DEFAULT_DT_HALF_WIDTH_PX
        • DEFAULT_EDGE_THRESHOLD_K_SIGMA
        • DEFAULT_IMAGE_GRADIENT_SIGMA_PX
        • ImageDerivativesConfig
          • ImageDerivativesConfig.__post_init__()
          • ImageDerivativesConfig.dt_half_width_px
          • ImageDerivativesConfig.edge_threshold_k_sigma
          • ImageDerivativesConfig.image_gradient_sigma_px
        • build_image_edge_dt()
        • compute_all_image_derivatives()
        • compute_image_gradient_vu()
        • Provenance
          • Provenance.__post_init__()
          • Provenance.extractor_names
          • Provenance.image_et
          • Provenance.pipeline_run_iso8601
          • Provenance.rms_nav_git_sha
          • Provenance.rms_nav_version
          • Provenance.spice_kernel_count
          • Provenance.spice_kernels
          • Provenance.static_data_hashes
          • Provenance.technique_names
        • ProvenanceMetadata
          • ProvenanceMetadata.git_sha
          • ProvenanceMetadata.spice_kernels
          • ProvenanceMetadata.static_data_hashes
        • collect_provenance_metadata()
        • EnsembleConfig
          • EnsembleConfig.agreement_gap
          • EnsembleConfig.agreement_pixel_floor
          • EnsembleConfig.agreement_sigma
          • EnsembleConfig.conflicted_confidence_multiplier
          • EnsembleConfig.disagreement_penalty
          • EnsembleConfig.max_allowed_rotation_deg
          • EnsembleConfig.min_confidence
          • EnsembleConfig.pinvh_rcond
          • EnsembleConfig.tier_thresholds
        • derive_confidence_rank()
        • ensemble()
        • assert_diagnostic_fields_present()
        • build_metadata_dict()
        • InstrumentSettings
          • InstrumentSettings.data_units
          • InstrumentSettings.fit_camera_rotation
          • InstrumentSettings.marker_value
          • InstrumentSettings.max_rotation_deg
          • InstrumentSettings.saturation_dn
          • InstrumentSettings.thresholds
        • instrument_settings_from_obs()
      • nav.nav_model
        • NavModel
          • NavModel.__init_subclass__()
          • NavModel.create_model()
          • NavModel.instances_for_obs()
          • NavModel.metadata
          • NavModel.name
          • NavModel.obs
          • NavModel.to_annotations()
          • NavModel.to_features()
        • build_models_for_obs()
        • BODY_SHAPE_TABLE
        • BodyShape
          • BodyShape.albedo_variation
          • BodyShape.crater_scale_km
          • BodyShape.ellipsoid_rms_residual_km
          • BodyShape.min_blob_diameter_px
          • BodyShape.shape_class_hint
          • BodyShape.spice_orbital_residual_km
        • DEFAULT_BODY_SHAPE
        • load_body_shape()
        • BODY_DISC_MAX_OVERFLOW_FRACTION
        • BODY_DISC_MIN_VISIBLE_LIT_FRACTION
        • BODY_POSITION_SLOP_FRAC
        • LIMB_ARC_MAX_UNCERTAINTY_PX
        • NavModelBody
          • NavModelBody.create_model()
          • NavModelBody.instances_for_obs()
          • NavModelBody.to_annotations()
          • NavModelBody.to_features()
        • TERMINATOR_MIN_PHASE_FACTOR
        • TERMINATOR_MIN_VERTICES
        • BODY_BLOB_MIN_DIAMETER_PX
        • NavModelBodyBase
        • NavModelBodySimulated
          • NavModelBodySimulated.create_model()
          • NavModelBodySimulated.instances_for_obs()
          • NavModelBodySimulated.to_annotations()
          • NavModelBodySimulated.to_features()
        • FLAT_CURVATURE_THRESHOLD_PX
        • NavModelRings
          • NavModelRings.create_model()
          • NavModelRings.instances_for_obs()
          • NavModelRings.to_annotations()
          • NavModelRings.to_features()
        • RING_EDGE_DEFAULT_RELIABILITY
        • RING_EDGE_SIGMA_ALONG_PX
        • NavModelRingsBase
        • NavModelRingsSimulated
          • NavModelRingsSimulated.create_model()
          • NavModelRingsSimulated.instances_for_obs()
          • NavModelRingsSimulated.to_annotations()
          • NavModelRingsSimulated.to_features()
        • NavModelTitan
          • NavModelTitan.create_model()
          • NavModelTitan.to_annotations()
          • NavModelTitan.to_features()
        • nav.nav_model.rings
          • RingBaseOrbitMode
            • RingBaseOrbitMode.__post_init__()
            • RingBaseOrbitMode.a
            • RingBaseOrbitMode.ae
            • RingBaseOrbitMode.long_peri
            • RingBaseOrbitMode.rate_peri
            • RingBaseOrbitMode.rms
          • RingEdgeData
            • RingEdgeData.__post_init__()
            • RingEdgeData.base_orbit
            • RingEdgeData.base_radius
            • RingEdgeData.parsed_modes_for_backplane()
            • RingEdgeData.perturbations
            • RingEdgeData.radial_perturbations()
            • RingEdgeData.rms
          • RingFeatureType
            • RingFeatureType.GAP
            • RingFeatureType.RINGLET
          • RingPerturbationMode
            • RingPerturbationMode.__post_init__()
            • RingPerturbationMode.amplitude
            • RingPerturbationMode.is_inclination_mode
            • RingPerturbationMode.mode_num
            • RingPerturbationMode.pattern_speed
            • RingPerturbationMode.phase
          • RingFeature
            • RingFeature.__post_init__()
            • RingFeature.all_base_radii()
            • RingFeature.edge_labels
            • RingFeature.end_date
            • RingFeature.feature_type
            • RingFeature.from_config()
            • RingFeature.inner_edge
            • RingFeature.is_in_radius_range()
            • RingFeature.is_visible_at()
            • RingFeature.key
            • RingFeature.max_extent_radius
            • RingFeature.name
            • RingFeature.outer_edge
            • RingFeature.render()
            • RingFeature.start_date
            • RingFeature.uncertainty
            • RingFeature.uses_fade_for_edge()
          • validate_no_date_overlaps()
          • RingFeatureFilter
            • RingFeatureFilter.filter()
          • Design notes
          • compute_antialiasing()
          • compute_edge_fade()
          • compute_fade_integral()
          • RingsRenderContext
            • RingsRenderContext.__post_init__()
            • RingsRenderContext.all_edge_radii
            • RingsRenderContext.epoch
            • RingsRenderContext.fade_width_pix
            • RingsRenderContext.logger
            • RingsRenderContext.obs
            • RingsRenderContext.resolutions
            • RingsRenderContext.ring_target
          • RingRenderResult
            • RingRenderResult.__post_init__()
            • RingRenderResult.edge_info_list
            • RingRenderResult.model_img
            • RingRenderResult.model_mask
            • RingRenderResult.uncertainty
        • nav.nav_model.stars
          • NavModelStars
            • NavModelStars.create_model()
            • NavModelStars.instances_for_obs()
            • NavModelStars.stars
            • NavModelStars.to_annotations()
            • NavModelStars.to_features()
          • NavModelStarsSimulated
            • NavModelStarsSimulated.create_model()
            • NavModelStarsSimulated.instances_for_obs()
          • CATALOG_MAGNITUDE_BINS
          • aberrate_star()
          • get_tycho2_catalog()
          • get_ucac4_catalog()
          • get_ybsc_catalog()
          • reduce_catalogs()
          • select_radec_list()
          • stars_in_extfov()
          • mark_body_and_ring_conflicts()
          • parse_ring_occlusion_annuli()
          • integrated_signal_dn()
          • predicted_snr()
          • psf_aperture_pixels()
          • psf_sigma_px()
          • compute_smear_vector_px()
          • movement_granularity_px()
          • render_smeared_psf()
          • smear_length_px()
          • DAOPHOT_DEFAULT_DETECTION_SIGMA
          • DAOPHOT_DEFAULT_ROUNDNESS_BOUND
          • DAOPHOT_DEFAULT_SHARPNESS_MAX
          • DAOPHOT_DEFAULT_SHARPNESS_MIN
          • DetectedSource
            • DetectedSource.peak_dn
            • DetectedSource.roundness
            • DetectedSource.saturated
            • DetectedSource.sharpness
            • DetectedSource.u
            • DetectedSource.v
          • apply_shape_cuts()
          • centroid_gaussian_fit()
          • centroid_saturated()
          • detect_ccd_bloom_columns()
          • detect_sources()
          • matched_filter_image()
      • nav.nav_technique
        • NavTechnique
          • NavTechnique.__init_subclass__()
          • NavTechnique.accepts_feature_types
          • NavTechnique.confidence_attributes
          • NavTechnique.confidence_spec
          • NavTechnique.is_feasible()
          • NavTechnique.name
          • NavTechnique.navigate()
          • NavTechnique.requires_prior
          • NavTechnique.tier
          • NavTechnique.tuning
        • ROTATION_AT_EDGE_FRACTION
        • ROTATION_UNOBSERVABLE_VARIANCE
        • embed_rotation_unobservable()
        • filter_technique_names()
        • log_confidence_breakdown()
        • rotation_pivot_distance_px()
        • rotation_unobservable_sigma_rad()
        • search_window_for_obs()
        • technique_tier()
        • validate_registered_confidence_specs()
        • NavFeasibilityReport
          • NavFeasibilityReport.__post_init__()
          • NavFeasibilityReport.consumed_feature_count
          • NavFeasibilityReport.feasible
          • NavFeasibilityReport.reason
        • NavTechniqueResult
          • NavTechniqueResult.__post_init__()
          • NavTechniqueResult.at_edge
          • NavTechniqueResult.confidence
          • NavTechniqueResult.covariance_px2
          • NavTechniqueResult.diagnostics
          • NavTechniqueResult.feature_ids
          • NavTechniqueResult.offset_px
          • NavTechniqueResult.rotation_rad
          • NavTechniqueResult.sigma_rotation_rad
          • NavTechniqueResult.source_bodies
          • NavTechniqueResult.spurious
          • NavTechniqueResult.technique_name
        • BodyBlobDiagnostics
          • BodyBlobDiagnostics.CURATOR_FIELDS
          • BodyBlobDiagnostics.blob_count
          • BodyBlobDiagnostics.body_extent_px
          • BodyBlobDiagnostics.body_snr_inside_predicted_bbox
          • BodyBlobDiagnostics.max_phase_angle_deg
          • BodyBlobDiagnostics.max_phase_irregularity_factor
          • BodyBlobDiagnostics.residual_px
        • BodyDiscDiagnostics
          • BodyDiscDiagnostics.CURATOR_FIELDS
          • BodyDiscDiagnostics.body_count
          • BodyDiscDiagnostics.consistency_px
          • BodyDiscDiagnostics.consistency_ratio
          • BodyDiscDiagnostics.ncc_peak
          • BodyDiscDiagnostics.peak_to_runner_up_ratio
          • BodyDiscDiagnostics.used_gradient
        • BodyLimbDiagnostics
          • BodyLimbDiagnostics.CURATOR_FIELDS
          • BodyLimbDiagnostics.dt_fit_rms_px
          • BodyLimbDiagnostics.lm_iterations
          • BodyLimbDiagnostics.tukey_inlier_count
          • BodyLimbDiagnostics.visible_arc_px
          • BodyLimbDiagnostics.visible_limb_arc_fraction
        • BodyTerminatorDiagnostics
          • BodyTerminatorDiagnostics.CURATOR_FIELDS
          • BodyTerminatorDiagnostics.dt_fit_rms_px
          • BodyTerminatorDiagnostics.lm_iterations
          • BodyTerminatorDiagnostics.tukey_inlier_count
          • BodyTerminatorDiagnostics.visible_arc_px
          • BodyTerminatorDiagnostics.visible_terminator_arc_fraction
        • ManualNavDiagnostics
          • ManualNavDiagnostics.CURATOR_FIELDS
          • ManualNavDiagnostics.operator_accepted
        • NavTechniqueDiagnostics
        • RingAnnulusDiagnostics
          • RingAnnulusDiagnostics.CURATOR_FIELDS
          • RingAnnulusDiagnostics.annulus_count
          • RingAnnulusDiagnostics.ncc_peak
          • RingAnnulusDiagnostics.peak_to_runner_up_ratio
          • RingAnnulusDiagnostics.used_gradient
        • RingEdgeDiagnostics
          • RingEdgeDiagnostics.CURATOR_FIELDS
          • RingEdgeDiagnostics.edge_count
          • RingEdgeDiagnostics.is_rank_1
          • RingEdgeDiagnostics.per_edge_dt_rms_mean
          • RingEdgeDiagnostics.per_edge_dt_rms_summed
          • RingEdgeDiagnostics.total_edge_length_px
        • StarFieldDiagnostics
          • StarFieldDiagnostics.CURATOR_FIELDS
          • StarFieldDiagnostics.median_residual_px
          • StarFieldDiagnostics.n_catalog_predicted
          • StarFieldDiagnostics.n_detected_sources
          • StarFieldDiagnostics.n_inliers
          • StarFieldDiagnostics.n_triplets_evaluated
        • StarRefineDiagnostics
          • StarRefineDiagnostics.CURATOR_FIELDS
          • StarRefineDiagnostics.median_pos_err_px
          • StarRefineDiagnostics.n_stars_used
          • StarRefineDiagnostics.residual_scatter_px
        • StarUniqueMatchDiagnostics
          • StarUniqueMatchDiagnostics.CURATOR_FIELDS
          • StarUniqueMatchDiagnostics.brightness_margin_mag
          • StarUniqueMatchDiagnostics.mode
          • StarUniqueMatchDiagnostics.predicted_snr
          • StarUniqueMatchDiagnostics.residual_px
        • ConfidenceBreakdown
          • ConfidenceBreakdown.alpha0
          • ConfidenceBreakdown.confidence
          • ConfidenceBreakdown.hard_cap_applied
          • ConfidenceBreakdown.hard_zero
          • ConfidenceBreakdown.sigmoid_arg
          • ConfidenceBreakdown.terms
        • ConfidenceSpec
          • ConfidenceSpec.__post_init__()
          • ConfidenceSpec.alpha0
          • ConfidenceSpec.hard_cap
          • ConfidenceSpec.hard_zero_if
          • ConfidenceSpec.terms
        • ConfidenceTerm
          • ConfidenceTerm.__post_init__()
          • ConfidenceTerm.alpha
          • ConfidenceTerm.cap_at
          • ConfidenceTerm.divisor
          • ConfidenceTerm.feature
          • ConfidenceTerm.offset
        • ConfidenceTermContribution
          • ConfidenceTermContribution.alpha
          • ConfidenceTermContribution.contribution
          • ConfidenceTermContribution.feature
          • ConfidenceTermContribution.normalized
          • ConfidenceTermContribution.raw
        • evaluate_sigmoid_combination()
        • ConfidenceConfigError
        • load_confidence_spec()
        • load_technique_tuning()
        • DEFAULT_LM_DAMPING
        • DEFAULT_LM_MAX_ITERATIONS
        • DEFAULT_LM_STEP_TOLERANCE
        • DEFAULT_PINVH_RCOND
        • DEFAULT_RIDGE_HALF_WIDTH_PX
        • DEFAULT_RIDGE_MAX_ITERATIONS
        • DEFAULT_RIDGE_MAX_TOTAL_DISPLACEMENT_PX
        • DEFAULT_RIDGE_SAMPLE_STEP_PX
        • DEFAULT_TUKEY_C
        • LMRefineResult
          • LMRefineResult.__post_init__()
          • LMRefineResult.converged
          • LMRefineResult.covariance
          • LMRefineResult.degenerate
          • LMRefineResult.inlier_count
          • LMRefineResult.iterations
          • LMRefineResult.offset_vu
          • LMRefineResult.raw_rms_px
          • LMRefineResult.residuals_px
          • LMRefineResult.rms_px
          • LMRefineResult.rotation_rad
          • LMRefineResult.weights
        • RidgeRefineResult
          • RidgeRefineResult.applied
          • RidgeRefineResult.converged
          • RidgeRefineResult.iterations
          • RidgeRefineResult.offset_vu
          • RidgeRefineResult.rotation_rad
        • build_polyline_mask()
        • coarse_ncc_search()
        • gradient_ridge_refine()
        • information_matrix_to_covariance()
        • lm_subpixel_refine()
        • polarity_filter()
        • tukey_biweight_weights()
        • BodyLimbNav
          • BodyLimbNav.accepts_feature_types
          • BodyLimbNav.confidence_attributes
          • BodyLimbNav.is_feasible()
          • BodyLimbNav.name
          • BodyLimbNav.navigate()
          • BodyLimbNav.requires_prior
        • BodyTerminatorNav
          • BodyTerminatorNav.accepts_feature_types
          • BodyTerminatorNav.confidence_attributes
          • BodyTerminatorNav.is_feasible()
          • BodyTerminatorNav.name
          • BodyTerminatorNav.navigate()
          • BodyTerminatorNav.requires_prior
          • BodyTerminatorNav.tier
        • BodyDiscCorrelateNav
          • BodyDiscCorrelateNav.accepts_feature_types
          • BodyDiscCorrelateNav.confidence_attributes
          • BodyDiscCorrelateNav.is_feasible()
          • BodyDiscCorrelateNav.name
          • BodyDiscCorrelateNav.navigate()
          • BodyDiscCorrelateNav.requires_prior
        • BodyBlobNav
          • BodyBlobNav.accepts_feature_types
          • BodyBlobNav.confidence_attributes
          • BodyBlobNav.is_feasible()
          • BodyBlobNav.name
          • BodyBlobNav.navigate()
          • BodyBlobNav.requires_prior
          • BodyBlobNav.tier
        • RingEdgeNav
          • RingEdgeNav.accepts_feature_types
          • RingEdgeNav.confidence_attributes
          • RingEdgeNav.is_feasible()
          • RingEdgeNav.name
          • RingEdgeNav.navigate()
          • RingEdgeNav.requires_prior
        • RingAnnulusNav
          • RingAnnulusNav.accepts_feature_types
          • RingAnnulusNav.confidence_attributes
          • RingAnnulusNav.is_feasible()
          • RingAnnulusNav.name
          • RingAnnulusNav.navigate()
          • RingAnnulusNav.requires_prior
        • StarFieldFromCatalogNav
          • StarFieldFromCatalogNav.accepts_feature_types
          • StarFieldFromCatalogNav.confidence_attributes
          • StarFieldFromCatalogNav.is_feasible()
          • StarFieldFromCatalogNav.name
          • StarFieldFromCatalogNav.navigate()
          • StarFieldFromCatalogNav.requires_prior
        • StarRefineNav
          • StarRefineNav.accepts_feature_types
          • StarRefineNav.confidence_attributes
          • StarRefineNav.is_feasible()
          • StarRefineNav.name
          • StarRefineNav.navigate()
          • StarRefineNav.requires_prior
        • StarUniqueMatchNav
          • StarUniqueMatchNav.accepts_feature_types
          • StarUniqueMatchNav.confidence_attributes
          • StarUniqueMatchNav.is_feasible()
          • StarUniqueMatchNav.name
          • StarUniqueMatchNav.navigate()
          • StarUniqueMatchNav.requires_prior
        • NavTechniqueManual
          • NavTechniqueManual.accepts_feature_types
          • NavTechniqueManual.is_feasible()
          • NavTechniqueManual.name
          • NavTechniqueManual.navigate()
          • NavTechniqueManual.requires_prior
        • run_manual_nav()
      • nav.reproj
        • BodyMosaic
          • BodyMosaic.body_name
          • BodyMosaic.add()
          • BodyMosaic.bounds
          • BodyMosaic.generate_latitudes()
          • BodyMosaic.generate_longitudes()
          • BodyMosaic.latitude_longitude_to_pixels()
          • BodyMosaic.reproject()
          • BodyMosaic.to_bounded()
          • BodyMosaic.to_full()
        • BodyMosaicData
          • BodyMosaicData.body_name
          • BodyMosaicData.contributing_image_names
          • BodyMosaicData.eff_resolution
          • BodyMosaicData.emission
          • BodyMosaicData.image_dtype
          • BodyMosaicData.image_number
          • BodyMosaicData.img
          • BodyMosaicData.incidence
          • BodyMosaicData.lat_range
          • BodyMosaicData.lat_resolution
          • BodyMosaicData.latlon_type
          • BodyMosaicData.load()
          • BodyMosaicData.lon_direction
          • BodyMosaicData.lon_range
          • BodyMosaicData.lon_resolution
          • BodyMosaicData.metadata_dtype
          • BodyMosaicData.phase
          • BodyMosaicData.photometric_model_name
          • BodyMosaicData.resolution
          • BodyMosaicData.save()
          • BodyMosaicData.sub_observer_lat_per_image
          • BodyMosaicData.sub_observer_lon_per_image
          • BodyMosaicData.sub_solar_lat_per_image
          • BodyMosaicData.sub_solar_lon_per_image
          • BodyMosaicData.time
        • BodyMosaicMergeStrategy
          • BodyMosaicMergeStrategy.BEST_RESOLUTION
        • BodyReprojResult
          • BodyReprojResult.body_name
          • BodyReprojResult.eff_resolution
          • BodyReprojResult.emission
          • BodyReprojResult.image_dtype
          • BodyReprojResult.image_name
          • BodyReprojResult.img
          • BodyReprojResult.incidence
          • BodyReprojResult.lat_idx_range
          • BodyReprojResult.lat_resolution
          • BodyReprojResult.latlon_type
          • BodyReprojResult.load()
          • BodyReprojResult.lon_direction
          • BodyReprojResult.lon_idx_range
          • BodyReprojResult.lon_resolution
          • BodyReprojResult.metadata_dtype
          • BodyReprojResult.phase
          • BodyReprojResult.photometric_model_name
          • BodyReprojResult.resolution
          • BodyReprojResult.save()
          • BodyReprojResult.sub_observer_lat
          • BodyReprojResult.sub_observer_lon
          • BodyReprojResult.sub_solar_lat
          • BodyReprojResult.sub_solar_lon
          • BodyReprojResult.time
        • USE_MOSAIC_LIMITS
        • RingMosaic
          • RingMosaic.add()
          • RingMosaic.body_name
          • RingMosaic.bounds
          • RingMosaic.generate_longitudes()
          • RingMosaic.generate_radii()
          • RingMosaic.longitude_radius_to_pixels()
          • RingMosaic.orbit_pixels()
          • RingMosaic.reproject()
          • RingMosaic.ring_body_name
          • RingMosaic.shadow_body_name
          • RingMosaic.to_bounded()
          • RingMosaic.to_full()
          • RingMosaic.to_sparse()
        • RingMosaicData
          • RingMosaicData.body_name
          • RingMosaicData.contributing_image_names
          • RingMosaicData.image_dtype
          • RingMosaicData.image_number
          • RingMosaicData.img
          • RingMosaicData.load()
          • RingMosaicData.longitude_antimask
          • RingMosaicData.longitude_range
          • RingMosaicData.longitude_resolution
          • RingMosaicData.mean_angular_resolution
          • RingMosaicData.mean_emission
          • RingMosaicData.mean_incidence
          • RingMosaicData.mean_phase
          • RingMosaicData.mean_radial_resolution
          • RingMosaicData.metadata_dtype
          • RingMosaicData.orbit_model_name
          • RingMosaicData.photometric_model_name
          • RingMosaicData.radius_inner
          • RingMosaicData.radius_outer
          • RingMosaicData.radius_resolution
          • RingMosaicData.ring_body_name
          • RingMosaicData.save()
          • RingMosaicData.shadow_body_name
          • RingMosaicData.time
        • RingMosaicMergeStrategy
          • RingMosaicMergeStrategy.BEST_RESOLUTION
          • RingMosaicMergeStrategy.MOST_COVERAGE_THEN_RESOLUTION
        • RingReprojResult
          • RingReprojResult.body_name
          • RingReprojResult.image_dtype
          • RingReprojResult.image_name
          • RingReprojResult.img
          • RingReprojResult.incidence
          • RingReprojResult.load()
          • RingReprojResult.longitude_antimask
          • RingReprojResult.longitude_resolution
          • RingReprojResult.mean_angular_resolution
          • RingReprojResult.mean_emission
          • RingReprojResult.mean_phase
          • RingReprojResult.mean_radial_resolution
          • RingReprojResult.metadata_dtype
          • RingReprojResult.orbit_model
          • RingReprojResult.photometric_model_name
          • RingReprojResult.radius_inner
          • RingReprojResult.radius_outer
          • RingReprojResult.radius_resolution
          • RingReprojResult.save()
          • RingReprojResult.time
        • CartographicModelResult
          • CartographicModelResult.model_img
          • CartographicModelResult.resolution_ratio
        • create_cartographic_model()
        • LambertModel
          • LambertModel.correct()
          • LambertModel.min_cos_incidence
          • LambertModel.name
          • LambertModel.uncorrect()
        • LommelSeeligerModel
          • LommelSeeligerModel.correct()
          • LommelSeeligerModel.min_cos_incidence
          • LommelSeeligerModel.min_denom
          • LommelSeeligerModel.name
          • LommelSeeligerModel.uncorrect()
        • MinnaertModel
          • MinnaertModel.correct()
          • MinnaertModel.k
          • MinnaertModel.min_cos_emission
          • MinnaertModel.min_cos_incidence
          • MinnaertModel.name
          • MinnaertModel.uncorrect()
        • PhotometricModel
          • PhotometricModel.correct()
          • PhotometricModel.name
        • photometric_model_from_name()
        • FRING_CORE
        • RingOrbitModel
          • RingOrbitModel.__post_init__()
          • RingOrbitModel.a
          • RingOrbitModel.corotating_to_inertial()
          • RingOrbitModel.dw
          • RingOrbitModel.e
          • RingOrbitModel.epoch_utc
          • RingOrbitModel.inertial_to_corotating()
          • RingOrbitModel.longitude_radius()
          • RingOrbitModel.mean_motion
          • RingOrbitModel.name
          • RingOrbitModel.radius_at_longitude()
          • RingOrbitModel.w0
        • get_orbit_model_by_name()
      • nav.dataset
        • DataSetPDS3
          • DataSetPDS3.add_selection_arguments()
          • DataSetPDS3.pds3_holdings_root
          • DataSetPDS3.supported_grouping()
          • DataSetPDS3.yield_image_files_from_arguments()
          • DataSetPDS3.yield_image_files_index()
        • DataSetPDS4
          • DataSetPDS4.add_selection_arguments()
          • DataSetPDS4.supported_grouping()
          • DataSetPDS4.yield_image_files_from_arguments()
          • DataSetPDS4.yield_image_files_index()
        • DataSetPDS3CassiniISS
          • DataSetPDS3CassiniISS.add_selection_arguments()
          • DataSetPDS3CassiniISS.pds4_bundle_name()
          • DataSetPDS3CassiniISS.pds4_bundle_path_for_image()
          • DataSetPDS3CassiniISS.pds4_bundle_template_dir()
          • DataSetPDS3CassiniISS.pds4_image_name_to_browse_lid()
          • DataSetPDS3CassiniISS.pds4_image_name_to_browse_lidvid()
          • DataSetPDS3CassiniISS.pds4_image_name_to_data_lid()
          • DataSetPDS3CassiniISS.pds4_image_name_to_data_lidvid()
          • DataSetPDS3CassiniISS.pds4_path_stub()
          • DataSetPDS3CassiniISS.pds4_template_variables()
          • DataSetPDS3CassiniISS.supported_grouping()
          • DataSetPDS3CassiniISS.yield_image_files_index()
        • DataSetPDS3CassiniISSCruise
        • DataSetPDS3CassiniISSSaturn
        • DataSetPDS3VoyagerISS
          • DataSetPDS3VoyagerISS.pds4_bundle_name()
          • DataSetPDS3VoyagerISS.pds4_bundle_path_for_image()
          • DataSetPDS3VoyagerISS.pds4_bundle_template_dir()
          • DataSetPDS3VoyagerISS.pds4_image_name_to_browse_lid()
          • DataSetPDS3VoyagerISS.pds4_image_name_to_browse_lidvid()
          • DataSetPDS3VoyagerISS.pds4_image_name_to_data_lid()
          • DataSetPDS3VoyagerISS.pds4_image_name_to_data_lidvid()
          • DataSetPDS3VoyagerISS.pds4_path_stub()
          • DataSetPDS3VoyagerISS.pds4_template_variables()
        • DataSetPDS3GalileoSSI
          • DataSetPDS3GalileoSSI.pds4_bundle_name()
          • DataSetPDS3GalileoSSI.pds4_bundle_path_for_image()
          • DataSetPDS3GalileoSSI.pds4_bundle_template_dir()
          • DataSetPDS3GalileoSSI.pds4_image_name_to_browse_lid()
          • DataSetPDS3GalileoSSI.pds4_image_name_to_browse_lidvid()
          • DataSetPDS3GalileoSSI.pds4_image_name_to_data_lid()
          • DataSetPDS3GalileoSSI.pds4_image_name_to_data_lidvid()
          • DataSetPDS3GalileoSSI.pds4_path_stub()
          • DataSetPDS3GalileoSSI.pds4_template_variables()
        • DataSetPDS3NewHorizonsLORRI
          • DataSetPDS3NewHorizonsLORRI.pds4_bundle_name()
          • DataSetPDS3NewHorizonsLORRI.pds4_bundle_path_for_image()
          • DataSetPDS3NewHorizonsLORRI.pds4_bundle_template_dir()
          • DataSetPDS3NewHorizonsLORRI.pds4_image_name_to_browse_lid()
          • DataSetPDS3NewHorizonsLORRI.pds4_image_name_to_browse_lidvid()
          • DataSetPDS3NewHorizonsLORRI.pds4_image_name_to_data_lid()
          • DataSetPDS3NewHorizonsLORRI.pds4_image_name_to_data_lidvid()
          • DataSetPDS3NewHorizonsLORRI.pds4_path_stub()
          • DataSetPDS3NewHorizonsLORRI.pds4_template_variables()
      • nav.obs
        • Obs
        • ObsSnapshot
          • ObsSnapshot.body_distance()
          • ObsSnapshot.bp
          • ObsSnapshot.center_bp
          • ObsSnapshot.clip_extfov()
          • ObsSnapshot.clip_fov()
          • ObsSnapshot.clip_rect_extfov()
          • ObsSnapshot.clip_rect_fov()
          • ObsSnapshot.closest_planet
          • ObsSnapshot.corner_bp
          • ObsSnapshot.data_shape_u
          • ObsSnapshot.data_shape_uv
          • ObsSnapshot.data_shape_v
          • ObsSnapshot.data_shape_vu
          • ObsSnapshot.ext_bp
          • ObsSnapshot.ext_corner_bp
          • ObsSnapshot.extdata
          • ObsSnapshot.extdata_shape_uv
          • ObsSnapshot.extdata_shape_vu
          • ObsSnapshot.extfov_data_sensor_mask()
          • ObsSnapshot.extfov_margin_u
          • ObsSnapshot.extfov_margin_v
          • ObsSnapshot.extfov_margin_vu
          • ObsSnapshot.extfov_u_max
          • ObsSnapshot.extfov_u_min
          • ObsSnapshot.extfov_v_max
          • ObsSnapshot.extfov_v_min
          • ObsSnapshot.extfov_vu_max
          • ObsSnapshot.extfov_vu_min
          • ObsSnapshot.extract_offset_array()
          • ObsSnapshot.fov_u_max
          • ObsSnapshot.fov_u_min
          • ObsSnapshot.fov_v_max
          • ObsSnapshot.fov_v_min
          • ObsSnapshot.fov_vu_max
          • ObsSnapshot.fov_vu_min
          • ObsSnapshot.inventory_body_in_extfov()
          • ObsSnapshot.inventory_body_in_fov()
          • ObsSnapshot.make_extfov_false()
          • ObsSnapshot.make_extfov_zeros()
          • ObsSnapshot.make_fov_zeros()
          • ObsSnapshot.ra_dec_limits()
          • ObsSnapshot.ra_dec_limits_ext()
          • ObsSnapshot.reset_all()
          • ObsSnapshot.sun_body_distance()
          • ObsSnapshot.unpad_array_to_extfov()
        • ObsSnapshotInst
        • ObsInst
          • ObsInst.from_file()
          • ObsInst.get_public_metadata()
          • ObsInst.inst_config
          • ObsInst.star_max_usable_vmag()
          • ObsInst.star_min_usable_vmag()
          • ObsInst.star_psf()
          • ObsInst.star_psf_size()
        • ObsCassiniISS
          • ObsCassiniISS.from_file()
          • ObsCassiniISS.get_public_metadata()
          • ObsCassiniISS.star_max_usable_vmag()
          • ObsCassiniISS.star_min_usable_vmag()
        • ObsVoyagerISS
          • ObsVoyagerISS.from_file()
          • ObsVoyagerISS.get_public_metadata()
          • ObsVoyagerISS.star_max_usable_vmag()
          • ObsVoyagerISS.star_min_usable_vmag()
        • ObsGalileoSSI
          • ObsGalileoSSI.from_file()
          • ObsGalileoSSI.get_public_metadata()
          • ObsGalileoSSI.star_max_usable_vmag()
          • ObsGalileoSSI.star_min_usable_vmag()
        • ObsNewHorizonsLORRI
          • ObsNewHorizonsLORRI.from_file()
          • ObsNewHorizonsLORRI.get_public_metadata()
          • ObsNewHorizonsLORRI.star_max_usable_vmag()
          • ObsNewHorizonsLORRI.star_min_usable_vmag()
        • ObsSim
          • ObsSim.from_file()
          • ObsSim.get_public_metadata()
          • ObsSim.star_max_usable_vmag()
          • ObsSim.star_min_usable_vmag()
      • nav.annotation
        • Annotation
          • Annotation.add_text_info()
          • Annotation.avoid_mask
          • Annotation.config
          • Annotation.obs
          • Annotation.overlay
          • Annotation.overlay_color
          • Annotation.text_info_list
        • Annotations
          • Annotations.add_annotations()
          • Annotations.annotations
          • Annotations.combine()
        • AnnotationTextInfo
          • AnnotationTextInfo.__repr__()
          • AnnotationTextInfo.__str__()
          • AnnotationTextInfo.color
          • AnnotationTextInfo.font
          • AnnotationTextInfo.font_size
          • AnnotationTextInfo.ref_vu
          • AnnotationTextInfo.text
          • AnnotationTextInfo.text_loc
        • TextLocInfo
          • TextLocInfo.label
          • TextLocInfo.label_u
          • TextLocInfo.label_v
      • nav.config
        • Config
          • Config.backplanes
          • Config.bodies
          • Config.body_shape
          • Config.bootstrap
          • Config.category()
          • Config.ensure_loaded()
          • Config.environment
          • Config.fuzzy_satellites()
          • Config.general
          • Config.is_loaded
          • Config.offset
          • Config.pds4
          • Config.planets
          • Config.read_config()
          • Config.ring_satellites()
          • Config.rings
          • Config.satellites()
          • Config.stars
          • Config.titan
          • Config.update_config()
        • image_log_handlers()
        • setup_logging()
      • nav.support
        • AttrDict
        • evaluate_candidate()
        • fisher_covariance()
        • fourier_shift()
        • gradient_magnitude()
        • int_to_signed()
        • masked_ncc()
        • navigate_single_scale_kpeaks()
        • navigate_with_pyramid_kpeaks()
        • nms_topk()
        • peak_to_runner_up_ratio()
        • per_metric()
        • pmr_metric()
        • psr_metric()
        • upsampled_dft()
        • apply_translation()
        • sample_dt_bilinear()
        • clean_obj()
        • dump_yaml()
        • json_as_string()
        • canonicalize()
        • NavFilterKind
          • NavFilterKind.ANISOTROPIC_GAUSSIAN
          • NavFilterKind.BANDPASS_DOG
          • NavFilterKind.DISTANCE_TRANSFORM
          • NavFilterKind.GRADIENT_OF_GAUSSIAN
          • NavFilterKind.ISOTROPIC_GAUSSIAN
          • NavFilterKind.MORPH_DILATE
          • NavFilterKind.NONE
        • NavFilterSpec
          • NavFilterSpec.align_axis
          • NavFilterSpec.bandpass_cutoffs_px
          • NavFilterSpec.covariance_px2
          • NavFilterSpec.dt_half_width_px
          • NavFilterSpec.kind
          • NavFilterSpec.null_filter_threshold_sigma
          • NavFilterSpec.sigma_xy
        • apply_filter()
        • clean_sclass()
        • apply_linear_gamma_stretch()
        • array_unzoom()
        • array_zoom()
        • crop_center()
        • draw_circle()
        • draw_line()
        • draw_line_arrow()
        • draw_rect()
        • filter_downsample()
        • filter_local_maximum()
        • filter_sub_median()
        • gaussian_blur_cov()
        • gradient_magnitude()
        • next_power_of_2()
        • normalize_array()
        • pad_array()
        • pad_array_to_power_of_2()
        • pad_top_left()
        • require_finite_int_or_float()
        • shift_array()
        • unpad_array()
        • cosmic_ray_mask()
        • saturation_mask()
        • current_git_version()
        • dec_rad_to_dms()
        • flatten_list()
        • get_local_host_name()
        • log_run_environment()
        • mad_std()
        • ra_rad_to_hms()
        • safe_lstrip_zero()
        • NavBase
          • NavBase.config
          • NavBase.logger
        • estimate_image_noise_sigma()
        • NavStatusReason
          • NavStatusReason.ALL_FEATURES_GATED
          • NavStatusReason.ALL_TECHNIQUES_SPURIOUS
          • NavStatusReason.CONFLICTED_TECHNIQUES
          • NavStatusReason.FINAL_CONFIDENCE_BELOW_THRESHOLD
          • NavStatusReason.FINAL_SIGMA_ABOVE_THRESHOLD
          • NavStatusReason.IMAGE_CORRUPT
          • NavStatusReason.IMAGE_OVEREXPOSED
          • NavStatusReason.INSTRUMENT_NOT_CONFIGURED
          • NavStatusReason.KERNELS_UNAVAILABLE
          • NavStatusReason.MISSING_DATA_DOMINANT
          • NavStatusReason.NO_FEASIBLE_TECHNIQUES
          • NavStatusReason.NO_FEATURES_EXTRACTED
          • NavStatusReason.NO_SIGNAL_IN_IMAGE
          • NavStatusReason.OK
          • NavStatusReason.RANK_1_ONLY
          • NavStatusReason.UNOBSERVABLE_OFFSET
        • dt_delta_str()
        • et_to_utc()
        • now_dt()
        • now_iso()
        • utc_to_et()
        • MutableStar
          • MutableStar.b_v
          • MutableStar.catalog_name
          • MutableStar.conflicts
          • MutableStar.dec
          • MutableStar.dec_pm
          • MutableStar.diff_u
          • MutableStar.diff_v
          • MutableStar.dn
          • MutableStar.johnson_mag_b
          • MutableStar.johnson_mag_faked
          • MutableStar.johnson_mag_v
          • MutableStar.move_u
          • MutableStar.move_v
          • MutableStar.name
          • MutableStar.pretty_name
          • MutableStar.psf_size
          • MutableStar.ra
          • MutableStar.ra_dec_with_pm()
          • MutableStar.ra_pm
          • MutableStar.spectral_class
          • MutableStar.temperature
          • MutableStar.temperature_faked
          • MutableStar.u
          • MutableStar.unique_number
          • MutableStar.v
          • MutableStar.vmag
      • nav.sim
        • apply_detector_noise()
        • apply_saturation()
        • apply_stray_light()
        • render_background_stars()
        • render_bodies()
        • render_combined_model()
        • render_stars()
        • create_simulated_body()
        • compute_border_atop_simulated()
        • compute_edge_radius_at_angle()
        • compute_edge_radius_mode1()
        • render_ring()
        • Mesh
          • Mesh.faces
          • Mesh.vertices
        • MeshBodySpec
          • MeshBodySpec.lumpiness
          • MeshBodySpec.n_lat
          • MeshBodySpec.n_lon
          • MeshBodySpec.pose_euler_deg
          • MeshBodySpec.seed
        • make_irregular_mesh()
        • mesh_spec_from_params()
        • render_mesh_body_image()
        • render_polyhedral_body()
        • SimSceneValidationError
        • iter_scene_paths()
        • load_sim_scene()
        • save_sim_scene()
        • scene_class_for_path()
        • resolve_extfov_margin()
        • resolve_sim_inst_config()
        • derive_effect_seed()
        • stable_param_seed()
        • render_scene_png()
        • save_png()
        • stretch_to_uint8()
      • nav.ui
        • ManualNavDialog
          • ManualNavDialog.run_modal()
        • LibraryEntryDraft
          • LibraryEntryDraft.camera
          • LibraryEntryDraft.exposure_time_sec
          • LibraryEntryDraft.filter_combo
          • LibraryEntryDraft.image_datetime_utc
          • LibraryEntryDraft.image_id
          • LibraryEntryDraft.mission
        • build_sidecar_yaml()
        • compute_image_url()
        • infer_obs_metadata()
        • nav.ui.mosaic_viewer
          • Normalized-unit conventions per kind
          • Coordinate system
          • ProjectionKind
            • ProjectionKind.MOLLWEIDE
            • ProjectionKind.POLAR_N
            • ProjectionKind.POLAR_S
            • ProjectionKind.RECT
            • ProjectionKind.SPHERE_3D
          • ProjectionParams
            • ProjectionParams.cx
            • ProjectionParams.cy
            • ProjectionParams.kind
            • ProjectionParams.pitch_deg
            • ProjectionParams.scale
            • ProjectionParams.yaw_deg
          • display_to_lonlat()
          • fit_scale()
          • lonlat_to_display()
          • sphere_pixel_to_lonlat()
          • render_to_image()
          • graticule_label_anchors()
          • graticule_polylines()
      • nav.navigate_image_files
        • build_metadata_from_result()
        • navigate_image_files()
        • write_summary_png()
    • Contributing
      • Contributing to RMS-NAV
        • Code of Conduct
        • Getting Started
        • Development Workflow
        • Coding Standards
        • Pull Request Process
        • Testing
        • Documentation
        • Reporting Issues
  • Simulator Performance and Sensitivity Report
    • Purpose and scope
    • Methodology
    • Running the sweeps
    • Example scenes
    • Algorithmic-invariant recovery
    • Single-variable sensitivity
      • Read-noise sweep
      • Phase-angle sweep
      • Body-size (range) sweep
    • Offset accuracy by technique
    • Star-field centroiding: dim vs bright
    • Per-technique accuracy across SNR and injected offset
    • Irregular-body navigation
      • Shape mismatch vs irregularity
      • Pose disagreement
    • Camera-roll sensitivity and roll / translation separability
    • Small-body navigation floor
    • I/F-calibrated vs raw-DN navigation
    • Summary
RMS-NAV
  • Developer Guide
  • Navigation
  • Navigation Techniques
  • View page source

Navigation Techniques

A NavTechnique consumes a subset of the per-image NavFeature set plus a per-image NavContext and produces one NavTechniqueResult carrying a calibrated translation offset, a 2x2 (or 3x3 with rotation) covariance, a calibrated [0, 1] confidence, and a typed diagnostics dataclass. The orchestrator’s ensemble combine reconciles every technique’s result into a single NavContext outcome.

Concrete subclasses self-register via __init_subclass__ and are discovered by the orchestrator through NavTechnique._registry. Each technique declares its accepted feature types, whether it requires a pass-1 prior, and the attribute set its confidence formula may read. Per-technique tunables and confidence-formula coefficients live in techniques.<TechniqueName> in src/nav/config_files/config_510_techniques.yaml.

Two cross-cutting kinds of pages live under this section:

  • Per-technique pages — one page per concrete NavTechnique subclass, documenting the technique’s theory, configuration, implementation, and worked examples.

  • Shared-infrastructure pages — one page per shared algorithmic component reused across techniques (DT fitting, image-side derivatives, confidence calibration, feasibility reporting, per-technique diagnostics dataclasses).

Per-technique pages cross-reference the shared-infrastructure pages instead of duplicating their content.

Shared infrastructure

  • DT Fitting (Shared Polyline-vs-Image Fitter)
    • Overview
    • Theory
      • Stage 1 — coarse integer cross-correlation
      • Stage 2 — sub-pixel Levenberg-Marquardt refinement
      • Stage 3 — optional continuous gradient-ridge refinement
      • Polarity filtering
      • Robustness via Tukey biweight
      • From cost surface to information matrix
      • Pseudoinverse to covariance
      • Combining with a prior in the ensemble
      • Restrictions and assumptions
      • Sources of uncertainty
    • Configuration
    • Implementation
    • Examples
  • Image Derivatives (Shared Gradient and Edge DT)
    • Overview
    • Theory
      • Gaussian smoothing then Sobel
      • Edge thresholding and Canny-style non-maximum suppression
      • Truncated distance transform
      • Restrictions and assumptions
      • Sources of uncertainty
    • Configuration
    • Implementation
      • Call path
    • Examples
  • Confidence Calibration (Shared Sigmoid-of-Linear Combination)
    • Overview
    • Theory
      • Per-term normalisation
      • Sigmoid combination
      • Hard-zero gates
      • Post-sigmoid hard cap
      • Per-term breakdown
      • Restrictions and assumptions
      • Sources of uncertainty
    • Configuration
    • Implementation
    • Examples
  • Feasibility Reporting (Shared NavFeasibilityReport)
    • Overview
    • Theory
      • Stable reasons
      • Consumed-feature count
      • Restrictions and assumptions
      • Sources of uncertainty
    • Configuration
    • Implementation
    • Examples
  • Per-Technique Diagnostics (Shared Dataclass Family)
    • Overview
    • Theory
      • The confidence formula
      • The curator
      • Restrictions and assumptions
      • Sources of uncertainty
    • Configuration
    • Implementation
    • Examples

Star techniques

  • Star Unique Match (StarUniqueMatchNav)
    • Overview
    • Theory
      • Brightness-margin gate
      • Local centroid
      • 1-star path
      • 2-star path
      • Per-mode confidence cap
      • Restrictions and assumptions
      • Sources of uncertainty
    • Configuration
      • Per-instrument overrides
      • Confidence formula
    • Implementation
      • Diagnostics
      • Call path
    • Examples
  • Star Field Pattern Match (StarFieldFromCatalogNav)
    • Overview
    • Theory
      • Triplet hashing
      • Source detection
      • KD-tree match
      • RANSAC inlier validation
      • PSF-fit inlier refinement
      • Similarity-transform refit
      • Per-axis covariance
      • Restrictions and assumptions
      • Sources of uncertainty
    • Configuration
      • Per-instrument overrides
      • Confidence formula
    • Implementation
      • Diagnostics
      • Call path
    • Examples
  • Star Refinement (StarRefineNav)
    • Overview
    • Theory
      • Per-star centroid model
      • Translation-only fit
      • Rotation-aware fit
      • Restrictions and assumptions
      • Sources of uncertainty
    • Configuration
      • Per-instrument overrides
      • Confidence formula
    • Implementation
      • Diagnostics
    • Examples

Body techniques

  • Body Limb Fit (BodyLimbNav)
    • Overview
    • Theory
      • Cost function
      • Search strategy
      • Robustness
      • Restrictions and assumptions
      • Sources of uncertainty
    • Configuration
      • Per-instrument overrides
      • Confidence formula
    • Implementation
      • Diagnostics
    • Examples
  • Body Terminator Fit (BodyTerminatorNav)
    • Overview
    • Theory
      • Cost function
      • Per-body uniform weighting
      • Search strategy
      • Robustness
      • Restrictions and assumptions
      • Sources of uncertainty
    • Configuration
      • Per-instrument overrides
      • Confidence formula
    • Implementation
      • Diagnostics
    • Examples
  • Body Disc Correlate (BodyDiscCorrelateNav)
    • Overview
    • Theory
      • Composite template construction
      • Cost function
      • Sub-pixel refinement band-limit (refine_lowpass_sigma_px)
      • Mode selection (auto / raw / gradient)
      • Search strategy
      • Rotation-aware schedule
      • Restrictions and assumptions
      • Sources of uncertainty
    • Configuration
      • Per-instrument overrides
      • Confidence formula
    • Implementation
      • Diagnostics
      • Call path
    • Examples
  • Body Blob Centroid (BodyBlobNav)
    • Overview
    • Theory
      • Coarse acquisition (lit-shape matched filter)
      • Per-blob centroid
      • Per-blob covariance
      • Joint translation fit
      • Restrictions and assumptions
      • Sources of uncertainty
    • Configuration
      • Per-instrument overrides
      • Confidence formula
    • Implementation
      • Diagnostics
      • Call path
    • Examples

Ring techniques

  • Ring Edge Fit (RingEdgeNav)
    • Overview
    • Theory
      • Rank-deficient covariance
      • Restrictions and assumptions
      • Sources of uncertainty
    • Configuration
      • Per-instrument overrides
      • Confidence formula
    • Implementation
      • Diagnostics
      • Call path
    • Examples
  • Ring Annulus Correlate (RingAnnulusNav)
    • Overview
    • Theory
      • Composite template construction
      • Cost function
      • Mode selection (auto / raw / gradient)
      • Search strategy
      • Restrictions and assumptions
      • Sources of uncertainty
    • Configuration
      • Feature-emission tunables (per-planet)
      • Per-instrument overrides
      • Confidence formula
    • Implementation
      • Diagnostics
      • Call path
    • Examples

Titan techniques

No Titan-specific autonomous techniques are registered. NavModelTitan is a registered placeholder that emits no features, so the technique pipeline runs without any Titan-derived contribution; the slot is reserved for a haze-aware extractor (see Titan).

Manual

  • Manual Navigation (NavTechniqueManual)
    • Overview
    • Theory
      • Composite overlay
      • Auto-pick option
      • Restrictions and assumptions
      • Sources of uncertainty
    • Configuration
    • Implementation
      • Call path
    • Examples
Previous Next

© Copyright 2025, SETI Institute.

Built with Sphinx using a theme provided by Read the Docs.