Developer Guide
This guide is intended for developers who want to understand, modify, or extend the RMS-NAV system.
Developer Guide Contents:
- Introduction
- 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 - Stage 5 — Orchestrator round-trip: feasibility, confidence, diagnostics, ensemble
- Stage 6 — Remaining models and their techniques
- Stage 7 — Simulated images
- Stage 8 — Calibration and regression
- Stage 9 — Downstream products
- Stage 10 — Extending and conventions
- Navigation
- Navigation Overview
- Class Hierarchy
- Observations
- Navigation Models
- Navigation Techniques
- Shared infrastructure
- Star techniques
- Body techniques
- Ring techniques
- Titan techniques
- Manual
- Orchestrator Subsystem
- Orchestrator (NavOrchestrator)
- Per-Image State (NavContext)
- Final Output (NavResult)
- Per-Feature Post-Mortem (NavFeatureSummary)
- Reproducibility Envelope (Provenance)
- Image Classifier (NavImageClassifier)
- Per-Instrument Settings (InstrumentSettings)
- 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)
- Annotations
- Camera-rotation correction
- Image Library
- Reprojection Internals
- Backplanes
- PDS4 Bundle Generation
- The Image Simulator
- Support Modules
- Testing
- Extending the System
- Best Practices
- API Reference
- nav.feature
NavFeatureNavFeature.__post_init__()NavFeature.body_nameNavFeature.feature_idNavFeature.feature_typeNavFeature.flagsNavFeature.geometryNavFeature.intensity_sigma_relNavFeature.position_cov_pxNavFeature.preferred_filterNavFeature.reliabilityNavFeature.reliability_reasonsNavFeature.source_modelNavFeature.subject_range_kmNavFeature.template_imgNavFeature.template_maskNavFeature.usable_types
NavReliabilityBreakdownNavReliabilityBreakdown.albedo_penaltyNavReliabilityBreakdown.blob_extent_pxNavReliabilityBreakdown.blob_snrNavReliabilityBreakdown.in_body_silhouetteNavReliabilityBreakdown.in_saturation_or_cosmicNavReliabilityBreakdown.incidence_factorNavReliabilityBreakdown.overflow_fractionNavReliabilityBreakdown.predicted_snrNavReliabilityBreakdown.shadow_occluded_fractionNavReliabilityBreakdown.smear_length_okNavReliabilityBreakdown.visible_arc_fractionNavReliabilityBreakdown.visible_lit_fraction
body_names_from_features()NavFeatureTypeBodyBlobGeometryBodyDiscGeometryCartographicModelGeometryLimbPolylineNavFeatureGeometryRingAnnulusGeometryRingEdgePolylineStarGeometryTerminatorPolylineBodyBlobFlagsBodyDiscFlagsCartographicModelFlagsLimbArcFlagsNavFeatureFlagsRingAnnulusFlagsRingEdgeFlagsStarFlagsTerminatorArcFlagscompose_dialog_overlay()compose_template_features()DEFAULT_RELIABILITY_THRESHOLDSFeatureReliabilityGateGatedFeatureRecordAGREEMENT_FACTOR_CAPCOMBINED_CONFIDENCE_CAPINCIDENCE_FACTOR_ANGLE_CAP_DEGINCIDENCE_FACTOR_CLIP_DEGJSON_INF_SENTINELMAX_INCIDENCE_FACTOR_CAPMIN_ANISOTROPIC_SMEAR_PX
- nav.nav_orchestrator
NavOrchestratorOrchestratorPrepNavContextNavContext.cosmic_ray_mask_extNavContext.fit_camera_rotationNavContext.image_classifierNavContext.image_edge_dt_extNavContext.image_extNavContext.image_gradient_extNavContext.image_gradient_vu_extNavContext.image_noise_sigmaNavContext.max_rotation_degNavContext.obsNavContext.pre_filter_appliedNavContext.prior_covariance_px2NavContext.prior_offset_pxNavContext.provenanceNavContext.saturation_mask_extNavContext.sensor_mask_extNavContext.with_prior()
NavResultNavResult.__post_init__()NavResult.annotationsNavResult.confidenceNavResult.confidence_rankNavResult.conflicted()NavResult.covariance_px2NavResult.failed()NavResult.feature_inventoryNavResult.image_classifierNavResult.model_metadataNavResult.offset_pxNavResult.per_techniqueNavResult.provenanceNavResult.rotation_radNavResult.sigma_along_unobservable_pxNavResult.sigma_pxNavResult.sigma_rotation_radNavResult.statusNavResult.status_reasonNavResult.success()
NavFeatureSummaryImageQualityThresholdsImageQualityThresholds.blank_max_dnImageQualityThresholds.max_missing_frac_cleanImageQualityThresholds.max_saturation_frac_cleanImageQualityThresholds.missing_data_marker_dnImageQualityThresholds.noisy_thresholdImageQualityThresholds.partial_dropout_min_fracImageQualityThresholds.saturation_threshold_dn
NavImageClassifierNavImageClassifierResultDEFAULT_DT_HALF_WIDTH_PXDEFAULT_EDGE_THRESHOLD_K_SIGMADEFAULT_IMAGE_GRADIENT_SIGMA_PXImageDerivativesConfigbuild_image_edge_dt()compute_all_image_derivatives()compute_image_gradient_vu()ProvenanceProvenanceMetadatacollect_provenance_metadata()EnsembleConfigEnsembleConfig.agreement_gapEnsembleConfig.agreement_pixel_floorEnsembleConfig.agreement_sigmaEnsembleConfig.conflicted_confidence_multiplierEnsembleConfig.disagreement_penaltyEnsembleConfig.max_allowed_rotation_degEnsembleConfig.min_confidenceEnsembleConfig.pinvh_rcondEnsembleConfig.tier_thresholds
derive_confidence_rank()ensemble()assert_diagnostic_fields_present()build_metadata_dict()InstrumentSettingsinstrument_settings_from_obs()
- nav.nav_model
NavModelbuild_models_for_obs()BODY_SHAPE_TABLEBodyShapeDEFAULT_BODY_SHAPEload_body_shape()BODY_DISC_MAX_OVERFLOW_FRACTIONBODY_DISC_MIN_VISIBLE_LIT_FRACTIONBODY_POSITION_SLOP_FRACLIMB_ARC_MAX_UNCERTAINTY_PXNavModelBodyTERMINATOR_MIN_PHASE_FACTORTERMINATOR_MIN_VERTICESBODY_BLOB_MIN_DIAMETER_PXNavModelBodyBaseNavModelBodySimulatedFLAT_CURVATURE_THRESHOLD_PXNavModelRingsRING_EDGE_DEFAULT_RELIABILITYRING_EDGE_SIGMA_ALONG_PXNavModelRingsBaseNavModelRingsSimulatedNavModelTitan- nav.nav_model.rings
RingBaseOrbitModeRingEdgeDataRingFeatureTypeRingPerturbationModeRingFeatureRingFeature.__post_init__()RingFeature.all_base_radii()RingFeature.edge_labelsRingFeature.end_dateRingFeature.feature_typeRingFeature.from_config()RingFeature.inner_edgeRingFeature.is_in_radius_range()RingFeature.is_visible_at()RingFeature.keyRingFeature.max_extent_radiusRingFeature.nameRingFeature.outer_edgeRingFeature.render()RingFeature.start_dateRingFeature.uncertaintyRingFeature.uses_fade_for_edge()
validate_no_date_overlaps()RingFeatureFilter- Design notes
compute_antialiasing()compute_edge_fade()compute_fade_integral()RingsRenderContextRingRenderResult
- nav.nav_model.stars
NavModelStarsNavModelStarsSimulatedCATALOG_MAGNITUDE_BINSaberrate_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_SIGMADAOPHOT_DEFAULT_ROUNDNESS_BOUNDDAOPHOT_DEFAULT_SHARPNESS_MAXDAOPHOT_DEFAULT_SHARPNESS_MINDetectedSourceapply_shape_cuts()centroid_gaussian_fit()centroid_saturated()detect_ccd_bloom_columns()detect_sources()matched_filter_image()
- nav.nav_technique
NavTechniqueROTATION_AT_EDGE_FRACTIONROTATION_UNOBSERVABLE_VARIANCEembed_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()NavFeasibilityReportNavTechniqueResultNavTechniqueResult.__post_init__()NavTechniqueResult.at_edgeNavTechniqueResult.confidenceNavTechniqueResult.covariance_px2NavTechniqueResult.diagnosticsNavTechniqueResult.feature_idsNavTechniqueResult.offset_pxNavTechniqueResult.rotation_radNavTechniqueResult.sigma_rotation_radNavTechniqueResult.source_bodiesNavTechniqueResult.spuriousNavTechniqueResult.technique_name
BodyBlobDiagnosticsBodyDiscDiagnosticsBodyLimbDiagnosticsBodyTerminatorDiagnosticsManualNavDiagnosticsNavTechniqueDiagnosticsRingAnnulusDiagnosticsRingEdgeDiagnosticsStarFieldDiagnosticsStarRefineDiagnosticsStarUniqueMatchDiagnosticsConfidenceBreakdownConfidenceSpecConfidenceTermConfidenceTermContributionevaluate_sigmoid_combination()ConfidenceConfigErrorload_confidence_spec()load_technique_tuning()DEFAULT_LM_DAMPINGDEFAULT_LM_MAX_ITERATIONSDEFAULT_LM_STEP_TOLERANCEDEFAULT_PINVH_RCONDDEFAULT_RIDGE_HALF_WIDTH_PXDEFAULT_RIDGE_MAX_ITERATIONSDEFAULT_RIDGE_MAX_TOTAL_DISPLACEMENT_PXDEFAULT_RIDGE_SAMPLE_STEP_PXDEFAULT_TUKEY_CLMRefineResultLMRefineResult.__post_init__()LMRefineResult.convergedLMRefineResult.covarianceLMRefineResult.degenerateLMRefineResult.inlier_countLMRefineResult.iterationsLMRefineResult.offset_vuLMRefineResult.raw_rms_pxLMRefineResult.residuals_pxLMRefineResult.rms_pxLMRefineResult.rotation_radLMRefineResult.weights
RidgeRefineResultbuild_polyline_mask()coarse_ncc_search()gradient_ridge_refine()information_matrix_to_covariance()lm_subpixel_refine()polarity_filter()tukey_biweight_weights()BodyLimbNavBodyTerminatorNavBodyDiscCorrelateNavBodyBlobNavRingEdgeNavRingAnnulusNavStarFieldFromCatalogNavStarRefineNavStarUniqueMatchNavNavTechniqueManualrun_manual_nav()
- nav.reproj
BodyMosaicBodyMosaicDataBodyMosaicData.body_nameBodyMosaicData.contributing_image_namesBodyMosaicData.eff_resolutionBodyMosaicData.emissionBodyMosaicData.image_dtypeBodyMosaicData.image_numberBodyMosaicData.imgBodyMosaicData.incidenceBodyMosaicData.lat_rangeBodyMosaicData.lat_resolutionBodyMosaicData.latlon_typeBodyMosaicData.load()BodyMosaicData.lon_directionBodyMosaicData.lon_rangeBodyMosaicData.lon_resolutionBodyMosaicData.metadata_dtypeBodyMosaicData.phaseBodyMosaicData.photometric_model_nameBodyMosaicData.resolutionBodyMosaicData.save()BodyMosaicData.sub_observer_lat_per_imageBodyMosaicData.sub_observer_lon_per_imageBodyMosaicData.sub_solar_lat_per_imageBodyMosaicData.sub_solar_lon_per_imageBodyMosaicData.time
BodyMosaicMergeStrategyBodyReprojResultBodyReprojResult.body_nameBodyReprojResult.eff_resolutionBodyReprojResult.emissionBodyReprojResult.image_dtypeBodyReprojResult.image_nameBodyReprojResult.imgBodyReprojResult.incidenceBodyReprojResult.lat_idx_rangeBodyReprojResult.lat_resolutionBodyReprojResult.latlon_typeBodyReprojResult.load()BodyReprojResult.lon_directionBodyReprojResult.lon_idx_rangeBodyReprojResult.lon_resolutionBodyReprojResult.metadata_dtypeBodyReprojResult.phaseBodyReprojResult.photometric_model_nameBodyReprojResult.resolutionBodyReprojResult.save()BodyReprojResult.sub_observer_latBodyReprojResult.sub_observer_lonBodyReprojResult.sub_solar_latBodyReprojResult.sub_solar_lonBodyReprojResult.time
USE_MOSAIC_LIMITSRingMosaicRingMosaic.add()RingMosaic.body_nameRingMosaic.boundsRingMosaic.generate_longitudes()RingMosaic.generate_radii()RingMosaic.longitude_radius_to_pixels()RingMosaic.orbit_pixels()RingMosaic.reproject()RingMosaic.ring_body_nameRingMosaic.shadow_body_nameRingMosaic.to_bounded()RingMosaic.to_full()RingMosaic.to_sparse()
RingMosaicDataRingMosaicData.body_nameRingMosaicData.contributing_image_namesRingMosaicData.image_dtypeRingMosaicData.image_numberRingMosaicData.imgRingMosaicData.load()RingMosaicData.longitude_antimaskRingMosaicData.longitude_rangeRingMosaicData.longitude_resolutionRingMosaicData.mean_angular_resolutionRingMosaicData.mean_emissionRingMosaicData.mean_incidenceRingMosaicData.mean_phaseRingMosaicData.mean_radial_resolutionRingMosaicData.metadata_dtypeRingMosaicData.orbit_model_nameRingMosaicData.photometric_model_nameRingMosaicData.radius_innerRingMosaicData.radius_outerRingMosaicData.radius_resolutionRingMosaicData.ring_body_nameRingMosaicData.save()RingMosaicData.shadow_body_nameRingMosaicData.time
RingMosaicMergeStrategyRingReprojResultRingReprojResult.body_nameRingReprojResult.image_dtypeRingReprojResult.image_nameRingReprojResult.imgRingReprojResult.incidenceRingReprojResult.load()RingReprojResult.longitude_antimaskRingReprojResult.longitude_resolutionRingReprojResult.mean_angular_resolutionRingReprojResult.mean_emissionRingReprojResult.mean_phaseRingReprojResult.mean_radial_resolutionRingReprojResult.metadata_dtypeRingReprojResult.orbit_modelRingReprojResult.photometric_model_nameRingReprojResult.radius_innerRingReprojResult.radius_outerRingReprojResult.radius_resolutionRingReprojResult.save()RingReprojResult.time
CartographicModelResultcreate_cartographic_model()LambertModelLommelSeeligerModelMinnaertModelPhotometricModelphotometric_model_from_name()FRING_CORERingOrbitModelRingOrbitModel.__post_init__()RingOrbitModel.aRingOrbitModel.corotating_to_inertial()RingOrbitModel.dwRingOrbitModel.eRingOrbitModel.epoch_utcRingOrbitModel.inertial_to_corotating()RingOrbitModel.longitude_radius()RingOrbitModel.mean_motionRingOrbitModel.nameRingOrbitModel.radius_at_longitude()RingOrbitModel.w0
get_orbit_model_by_name()
- nav.dataset
DataSetPDS3DataSetPDS4DataSetPDS3CassiniISSDataSetPDS3CassiniISS.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()
DataSetPDS3CassiniISSCruiseDataSetPDS3CassiniISSSaturnDataSetPDS3VoyagerISSDataSetPDS3VoyagerISS.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()
DataSetPDS3GalileoSSIDataSetPDS3GalileoSSI.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()
DataSetPDS3NewHorizonsLORRIDataSetPDS3NewHorizonsLORRI.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
ObsObsSnapshotObsSnapshot.body_distance()ObsSnapshot.bpObsSnapshot.center_bpObsSnapshot.clip_extfov()ObsSnapshot.clip_fov()ObsSnapshot.clip_rect_extfov()ObsSnapshot.clip_rect_fov()ObsSnapshot.closest_planetObsSnapshot.corner_bpObsSnapshot.data_shape_uObsSnapshot.data_shape_uvObsSnapshot.data_shape_vObsSnapshot.data_shape_vuObsSnapshot.ext_bpObsSnapshot.ext_corner_bpObsSnapshot.extdataObsSnapshot.extdata_shape_uvObsSnapshot.extdata_shape_vuObsSnapshot.extfov_data_sensor_mask()ObsSnapshot.extfov_margin_uObsSnapshot.extfov_margin_vObsSnapshot.extfov_margin_vuObsSnapshot.extfov_u_maxObsSnapshot.extfov_u_minObsSnapshot.extfov_v_maxObsSnapshot.extfov_v_minObsSnapshot.extfov_vu_maxObsSnapshot.extfov_vu_minObsSnapshot.extract_offset_array()ObsSnapshot.fov_u_maxObsSnapshot.fov_u_minObsSnapshot.fov_v_maxObsSnapshot.fov_v_minObsSnapshot.fov_vu_maxObsSnapshot.fov_vu_minObsSnapshot.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()
ObsSnapshotInstObsInstObsCassiniISSObsVoyagerISSObsGalileoSSIObsNewHorizonsLORRIObsSim
- nav.annotation
- nav.config
ConfigConfig.backplanesConfig.bodiesConfig.body_shapeConfig.bootstrapConfig.category()Config.ensure_loaded()Config.environmentConfig.fuzzy_satellites()Config.generalConfig.is_loadedConfig.offsetConfig.pds4Config.planetsConfig.read_config()Config.ring_satellites()Config.ringsConfig.satellites()Config.starsConfig.titanConfig.update_config()
image_log_handlers()setup_logging()
- nav.support
AttrDictevaluate_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()NavFilterKindNavFilterSpecapply_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()NavBaseestimate_image_noise_sigma()NavStatusReasonNavStatusReason.ALL_FEATURES_GATEDNavStatusReason.ALL_TECHNIQUES_SPURIOUSNavStatusReason.CONFLICTED_TECHNIQUESNavStatusReason.FINAL_CONFIDENCE_BELOW_THRESHOLDNavStatusReason.FINAL_SIGMA_ABOVE_THRESHOLDNavStatusReason.IMAGE_CORRUPTNavStatusReason.IMAGE_OVEREXPOSEDNavStatusReason.INSTRUMENT_NOT_CONFIGUREDNavStatusReason.KERNELS_UNAVAILABLENavStatusReason.MISSING_DATA_DOMINANTNavStatusReason.NO_FEASIBLE_TECHNIQUESNavStatusReason.NO_FEATURES_EXTRACTEDNavStatusReason.NO_SIGNAL_IN_IMAGENavStatusReason.OKNavStatusReason.RANK_1_ONLYNavStatusReason.UNOBSERVABLE_OFFSET
dt_delta_str()et_to_utc()now_dt()now_iso()utc_to_et()MutableStarMutableStar.b_vMutableStar.catalog_nameMutableStar.conflictsMutableStar.decMutableStar.dec_pmMutableStar.diff_uMutableStar.diff_vMutableStar.dnMutableStar.johnson_mag_bMutableStar.johnson_mag_fakedMutableStar.johnson_mag_vMutableStar.move_uMutableStar.move_vMutableStar.nameMutableStar.pretty_nameMutableStar.psf_sizeMutableStar.raMutableStar.ra_dec_with_pm()MutableStar.ra_pmMutableStar.spectral_classMutableStar.temperatureMutableStar.temperature_fakedMutableStar.uMutableStar.unique_numberMutableStar.vMutableStar.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()MeshMeshBodySpecmake_irregular_mesh()mesh_spec_from_params()render_mesh_body_image()render_polyhedral_body()SimSceneValidationErroriter_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
ManualNavDialogLibraryEntryDraftbuild_sidecar_yaml()compute_image_url()infer_obs_metadata()- nav.ui.mosaic_viewer
- nav.navigate_image_files
- nav.feature
- Contributing