OpenHCS Coverage Report: 13.0%

Files Functions Classes

coverage.py v7.10.7, created at 2025-10-01 18:28 +0000

File statements missing excluded branches partial coverage
openhcs/__init__.py 12 0 0 2 1 92.9%
openhcs/config_framework/__init__.py 10 0 0 0 0 100.0%
openhcs/config_framework/config.py 8 1 0 2 1 80.0%
openhcs/config_framework/context_manager.py 208 108 0 90 16 44.3%
openhcs/config_framework/dual_axis_resolver.py 200 154 0 130 3 22.1%
openhcs/config_framework/global_config.py 17 0 0 2 0 100.0%
openhcs/config_framework/lazy_factory.py 440 108 0 170 22 70.2%
openhcs/config_framework/placeholder.py 104 82 0 38 0 15.5%
openhcs/constants/__init__.py 4 0 0 0 0 100.0%
openhcs/constants/constants.py 119 0 0 2 0 100.0%
openhcs/constants/input_source.py 6 0 0 0 0 100.0%
openhcs/core/__init__.py 3 0 0 0 0 100.0%
openhcs/core/components/__init__.py 5 0 0 0 0 100.0%
openhcs/core/components/framework.py 54 15 0 20 6 63.5%
openhcs/core/components/metaprogramming.py 101 101 9 28 0 0.0%
openhcs/core/components/multiprocessing.py 51 36 0 10 0 24.6%
openhcs/core/components/parser_metaprogramming.py 159 106 46 44 0 27.1%
openhcs/core/components/validation.py 63 21 0 16 5 64.6%
openhcs/core/config.py 343 51 18 46 9 80.5%
openhcs/core/config_cache.py 124 124 8 20 0 0.0%
openhcs/core/context/__init__.py 2 0 0 0 0 100.0%
openhcs/core/context/processing_context.py 45 16 0 18 4 55.6%
openhcs/core/lazy_placeholder.py 1 1 0 0 0 0.0%
openhcs/core/lazy_placeholder_simplified.py 104 104 0 38 0 0.0%
openhcs/core/log_utils.py 96 96 0 52 0 0.0%
openhcs/core/memory/__init__.py 9 0 0 0 0 100.0%
openhcs/core/memory/conversion_functions.py 518 478 0 236 0 5.3%
openhcs/core/memory/converters.py 82 76 0 80 0 3.7%
openhcs/core/memory/decorators.py 763 482 0 316 27 28.9%
openhcs/core/memory/exceptions.py 8 6 0 0 0 25.0%
openhcs/core/memory/gpu_cleanup.py 216 151 0 82 12 25.2%
openhcs/core/memory/gpu_utils.py 83 50 0 26 10 35.8%
openhcs/core/memory/oom_recovery.py 63 57 0 38 0 5.9%
openhcs/core/memory/stack_utils.py 160 146 0 96 0 5.5%
openhcs/core/memory/utils.py 152 140 0 62 0 5.6%
openhcs/core/memory/wrapper.py 90 66 8 34 0 19.4%
openhcs/core/metadata_cache.py 56 14 0 22 5 73.1%
openhcs/core/orchestrator/__init__.py 3 0 0 0 0 100.0%
openhcs/core/orchestrator/gpu_scheduler.py 71 24 0 20 6 60.4%
openhcs/core/orchestrator/orchestrator.py 596 359 0 198 40 37.7%
openhcs/core/path_cache.py 102 102 0 18 0 0.0%
openhcs/core/pipeline/__init__.py 33 9 3 2 0 68.6%
openhcs/core/pipeline/compiler.py 395 91 2 192 43 72.7%
openhcs/core/pipeline/funcstep_contract_validator.py 183 72 3 74 15 56.8%
openhcs/core/pipeline/function_contracts.py 28 3 0 10 3 84.2%
openhcs/core/pipeline/gpu_memory_validator.py 62 44 0 34 3 24.0%
openhcs/core/pipeline/materialization_flag_planner.py 45 2 0 16 2 93.4%
openhcs/core/pipeline/path_planner.py 237 36 0 122 18 80.5%
openhcs/core/pipeline/pipeline_utils.py 28 12 0 18 2 52.2%
openhcs/core/pipeline/step_attribute_stripper.py 30 10 0 12 2 61.9%
openhcs/core/steps/__init__.py 3 0 0 0 0 100.0%
openhcs/core/steps/abstract.py 27 1 19 2 1 93.1%
openhcs/core/steps/function_step.py 561 516 0 168 3 6.9%
openhcs/core/utils.py 240 166 2 92 4 24.7%
openhcs/core/xdg_paths.py 103 75 0 34 2 21.9%
openhcs/debug/__init__.py 1 1 0 0 0 0.0%
openhcs/debug/example_export.py 53 53 3 2 0 0.0%
openhcs/debug/example_export_clean.py 52 52 3 2 0 0.0%
openhcs/debug/export.py 72 72 3 6 0 0.0%
openhcs/debug/pickle_to_python.py 452 452 3 198 0 0.0%
openhcs/formats/func_arg_prep.py 97 94 0 40 0 2.2%
openhcs/io/__init__.py 22 6 0 2 1 70.8%
openhcs/io/atomic.py 101 68 0 12 0 29.2%
openhcs/io/backend_registry.py 102 35 0 24 6 64.3%
openhcs/io/base.py 41 18 270 4 1 53.3%
openhcs/io/disk.py 291 136 0 92 21 50.7%
openhcs/io/exceptions.py 14 0 0 0 0 100.0%
openhcs/io/fiji_stream.py 65 47 0 18 2 21.7%
openhcs/io/filemanager.py 220 94 0 36 8 56.2%
openhcs/io/memory.py 318 268 2 158 2 10.9%
openhcs/io/metadata_migration.py 118 103 2 36 0 9.7%
openhcs/io/metadata_writer.py 71 38 0 4 0 44.0%
openhcs/io/napari_stream.py 91 63 0 20 2 27.0%
openhcs/io/pipeline_migration.py 152 134 0 48 0 9.0%
openhcs/io/streaming.py 5 1 0 0 0 80.0%
openhcs/io/zarr.py 513 463 2 218 0 7.1%
openhcs/microscopes/__init__.py 3 0 0 0 0 100.0%
openhcs/microscopes/handler_registry_service.py 26 6 0 6 0 81.2%
openhcs/microscopes/imagexpress.py 298 112 0 114 28 58.3%
openhcs/microscopes/microscope_base.py 248 105 62 90 27 53.3%
openhcs/microscopes/microscope_interfaces.py 30 5 164 4 0 85.3%
openhcs/microscopes/openhcs.py 313 193 0 64 3 32.6%
openhcs/microscopes/opera_phenix.py 326 123 0 114 39 57.3%
openhcs/microscopes/opera_phenix_xml_parser.py 258 139 0 96 10 43.2%
openhcs/processing/__init__.py 4 0 0 0 0 100.0%
openhcs/processing/backends/__init__.py 0 0 0 0 0 100.0%
openhcs/processing/backends/analysis/__init__.py 9 4 0 0 0 55.6%
openhcs/processing/backends/analysis/cache_utils.py 126 111 0 28 0 9.7%
openhcs/processing/backends/analysis/cell_counting_cpu.py 446 363 0 128 0 14.5%
openhcs/processing/backends/analysis/cell_counting_cupy.py 461 375 0 144 1 14.4%
openhcs/processing/backends/analysis/cell_counting_pyclesperanto.py 605 595 0 176 0 1.3%
openhcs/processing/backends/analysis/consolidate_analysis_results.py 216 192 0 92 1 8.1%
openhcs/processing/backends/analysis/consolidate_special_outputs.py 160 132 0 58 0 12.8%
openhcs/processing/backends/analysis/cx5_format.py 465 462 0 214 0 0.4%
openhcs/processing/backends/analysis/dxf_mask_pipeline.py 124 99 0 38 5 18.5%
openhcs/processing/backends/analysis/focus_analyzer.py 91 65 0 26 0 22.2%
openhcs/processing/backends/analysis/hmm_axon.py 240 228 1 70 0 3.9%
openhcs/processing/backends/analysis/hmm_axon_torbi.py 255 238 1 72 0 5.2%
openhcs/processing/backends/analysis/multi_template_matching.py 264 227 0 100 0 10.2%
openhcs/processing/backends/analysis/self_supervised_segmentation_3d.py 183 161 0 50 0 9.4%
openhcs/processing/backends/analysis/skan_axon_analysis.py 257 220 0 78 0 11.0%
openhcs/processing/backends/analysis/straighten_object_3d.py 170 159 1 48 0 5.0%
openhcs/processing/backends/assemblers/__init__.py 3 0 0 0 0 100.0%
openhcs/processing/backends/assemblers/assemble_stack_cpu.py 183 167 0 90 1 6.2%
openhcs/processing/backends/assemblers/assemble_stack_cupy.py 262 240 0 112 3 6.7%
openhcs/processing/backends/assemblers/self_supervised_stitcher.py 267 243 78 74 0 7.0%
openhcs/processing/backends/enhance/__init__.py 39 20 0 2 1 48.8%
openhcs/processing/backends/enhance/basic_processor_cupy.py 274 254 0 76 2 6.3%
openhcs/processing/backends/enhance/basic_processor_jax.py 60 43 0 20 2 23.8%
openhcs/processing/backends/enhance/basic_processor_numpy.py 73 60 0 34 0 12.1%
openhcs/processing/backends/enhance/cupy_clahe.py 296 271 0 88 2 7.0%
openhcs/processing/backends/enhance/dl_edof_unsupervised.py 139 120 0 32 1 11.7%
openhcs/processing/backends/enhance/focus_torch.py 54 45 0 22 0 11.8%
openhcs/processing/backends/enhance/jax_nlm_processor.py 103 84 1 22 0 15.2%
openhcs/processing/backends/enhance/n2v2_processor_torch.py 194 170 0 34 0 10.5%
openhcs/processing/backends/enhance/self_supervised_2d_deconvolution.py 134 110 0 44 1 14.0%
openhcs/processing/backends/enhance/self_supervised_3d_deconvolution.py 148 123 0 44 1 13.5%
openhcs/processing/backends/enhance/torch_nlm_processor.py 46 31 0 18 1 25.0%
openhcs/processing/backends/experimental_analysis/__init__.py 4 0 0 0 0 100.0%
openhcs/processing/backends/experimental_analysis/cx5_registry.py 77 63 0 26 0 13.6%
openhcs/processing/backends/experimental_analysis/format_registry.py 53 27 61 14 0 38.8%
openhcs/processing/backends/experimental_analysis/format_registry_service.py 84 60 0 28 0 21.4%
openhcs/processing/backends/experimental_analysis/metaxpress_registry.py 81 68 0 32 0 11.5%
openhcs/processing/backends/experimental_analysis/unified_analysis_engine.py 82 61 0 14 0 21.9%
openhcs/processing/backends/lib_registry/cupy_registry.py 50 16 0 0 0 68.0%
openhcs/processing/backends/lib_registry/openhcs_registry.py 94 24 0 26 4 70.0%
openhcs/processing/backends/lib_registry/pyclesperanto_registry.py 54 20 0 12 0 51.5%
openhcs/processing/backends/lib_registry/registry_service.py 59 7 0 16 1 89.3%
openhcs/processing/backends/lib_registry/scikit_image_registry.py 40 6 0 0 0 85.0%
openhcs/processing/backends/lib_registry/unified_registry.py 386 140 40 106 19 60.8%
openhcs/processing/backends/pos_gen/__init__.py 0 0 0 0 0 100.0%
openhcs/processing/backends/pos_gen/ashlar_main_cpu.py 402 355 1 114 1 9.3%
openhcs/processing/backends/pos_gen/ashlar_main_gpu.py 508 456 1 184 2 7.8%
openhcs/processing/backends/pos_gen/mist/__init__.py 2 0 0 0 0 100.0%
openhcs/processing/backends/pos_gen/mist/boruvka_mst.py 67 58 0 22 1 11.2%
openhcs/processing/backends/pos_gen/mist/gpu_kernels.py 80 64 0 30 1 15.5%
openhcs/processing/backends/pos_gen/mist/mist_main.py 305 284 0 108 1 5.3%
openhcs/processing/backends/pos_gen/mist/phase_correlation.py 198 186 0 64 1 5.0%
openhcs/processing/backends/pos_gen/mist/position_reconstruction.py 53 45 0 18 1 12.7%
openhcs/processing/backends/pos_gen/mist/quality_metrics.py 153 137 0 40 1 8.8%
openhcs/processing/backends/pos_gen/mist_processor_cupy.py 59 47 0 12 1 18.3%
openhcs/processing/backends/processors/__init__.py 7 0 0 0 0 100.0%
openhcs/processing/backends/processors/cupy_processor.py 308 247 0 104 3 15.5%
openhcs/processing/backends/processors/jax_processor.py 227 189 0 56 0 13.4%
openhcs/processing/backends/processors/numpy_processor.py 210 170 0 72 0 14.2%
openhcs/processing/backends/processors/percentile_utils.py 61 55 0 40 0 5.9%
openhcs/processing/backends/processors/pyclesperanto_processor.py 232 187 0 76 1 14.9%
openhcs/processing/backends/processors/tensorflow_processor.py 248 207 0 82 1 12.7%
openhcs/processing/backends/processors/torch_processor.py 268 232 0 84 1 10.5%
openhcs/processing/func_registry.py 231 135 0 114 7 38.0%
openhcs/pyqt_gui/__init__.py 5 5 0 0 0 0.0%
openhcs/pyqt_gui/__main__.py 3 3 2 0 0 0.0%
openhcs/pyqt_gui/app.py 88 88 3 14 0 0.0%
openhcs/pyqt_gui/config.py 131 131 0 8 0 0.0%
openhcs/pyqt_gui/launch.py 117 117 2 16 0 0.0%
openhcs/pyqt_gui/main.py 313 313 0 72 0 0.0%
openhcs/pyqt_gui/services/__init__.py 3 3 0 0 0 0.0%
openhcs/pyqt_gui/services/async_service_bridge.py 104 104 0 20 0 0.0%
openhcs/pyqt_gui/services/config_cache_adapter.py 47 47 0 12 0 0.0%
openhcs/pyqt_gui/services/persistent_system_monitor.py 151 151 0 28 0 0.0%
openhcs/pyqt_gui/services/service_adapter.py 183 183 0 18 0 0.0%
openhcs/pyqt_gui/services/simple_code_editor.py 279 279 0 30 0 0.0%
openhcs/pyqt_gui/shared/__init__.py 5 5 0 0 0 0.0%
openhcs/pyqt_gui/shared/color_scheme.py 137 137 0 14 0 0.0%
openhcs/pyqt_gui/shared/config_validator.py 138 138 0 76 0 0.0%
openhcs/pyqt_gui/shared/palette_manager.py 96 96 0 14 0 0.0%
openhcs/pyqt_gui/shared/style_generator.py 46 46 0 0 0 0.0%
openhcs/pyqt_gui/utils/__init__.py 2 2 0 0 0 0.0%
openhcs/pyqt_gui/utils/log_detection_utils.py 8 8 0 0 0 0.0%
openhcs/pyqt_gui/widgets/__init__.py 6 6 0 0 0 0.0%
openhcs/pyqt_gui/widgets/enhanced_path_widget.py 123 123 0 34 0 0.0%
openhcs/pyqt_gui/widgets/function_list_editor.py 466 466 0 162 0 0.0%
openhcs/pyqt_gui/widgets/function_pane.py 260 260 0 60 0 0.0%
openhcs/pyqt_gui/widgets/log_viewer.py 564 564 0 130 0 0.0%
openhcs/pyqt_gui/widgets/mixins/__init__.py 2 2 0 0 0 0.0%
openhcs/pyqt_gui/widgets/mixins/selection_preservation_mixin.py 36 36 0 18 0 0.0%
openhcs/pyqt_gui/widgets/pipeline_editor.py 536 536 0 152 0 0.0%
openhcs/pyqt_gui/widgets/plate_manager.py 751 751 0 202 0 0.0%
openhcs/pyqt_gui/widgets/shared/__init__.py 1 1 0 0 0 0.0%
openhcs/pyqt_gui/widgets/shared/clickable_help_components.py 157 157 0 22 0 0.0%
openhcs/pyqt_gui/widgets/shared/layout_constants.py 16 16 0 0 0 0.0%
openhcs/pyqt_gui/widgets/shared/no_scroll_spinbox.py 75 75 0 12 0 0.0%
openhcs/pyqt_gui/widgets/shared/parameter_form_manager.py 603 603 0 202 0 0.0%
openhcs/pyqt_gui/widgets/shared/widget_strategies.py 346 346 0 124 0 0.0%
openhcs/pyqt_gui/widgets/status_bar.py 142 142 0 18 0 0.0%
openhcs/pyqt_gui/widgets/step_parameter_editor.py 180 180 0 42 0 0.0%
openhcs/pyqt_gui/widgets/system_monitor.py 268 268 0 34 0 0.0%
openhcs/pyqt_gui/windows/__init__.py 5 5 0 0 0 0.0%
openhcs/pyqt_gui/windows/config_window.py 288 288 0 82 0 0.0%
openhcs/pyqt_gui/windows/dual_editor_window.py 346 346 0 84 0 0.0%
openhcs/pyqt_gui/windows/file_browser_window.py 238 238 0 50 0 0.0%
openhcs/pyqt_gui/windows/help_window.py 97 97 0 2 0 0.0%
openhcs/pyqt_gui/windows/help_windows.py 179 179 0 30 0 0.0%
openhcs/runtime/napari_stream_visualizer.py 531 522 0 166 0 1.3%
openhcs/textual_tui/__init__.py 1 0 0 0 0 100.0%
openhcs/textual_tui/__main__.py 119 119 2 8 0 0.0%
openhcs/textual_tui/adapters/__init__.py 0 0 0 0 0 100.0%
openhcs/textual_tui/adapters/universal_directorytree.py 192 192 0 74 0 0.0%
openhcs/textual_tui/app.py 264 264 2 26 0 0.0%
openhcs/textual_tui/services/__init__.py 5 5 0 0 0 0.0%
openhcs/textual_tui/services/config_cache_adapter.py 23 23 0 2 0 0.0%
openhcs/textual_tui/services/config_reflection_service.py 47 47 0 14 0 0.0%
openhcs/textual_tui/services/external_editor_service.py 61 61 0 8 0 0.0%
openhcs/textual_tui/services/file_browser_service.py 75 75 0 24 0 0.0%
openhcs/textual_tui/services/pattern_data_manager.py 75 75 0 42 0 0.0%
openhcs/textual_tui/services/pattern_file_service.py 93 93 0 22 0 0.0%
openhcs/textual_tui/services/system_monitor.py 159 159 2 18 0 0.0%
openhcs/textual_tui/services/terminal.py 1988 1988 3 762 0 0.0%
openhcs/textual_tui/services/terminal_enhancements.py 169 169 0 128 0 0.0%
openhcs/textual_tui/services/terminal_launcher.py 116 116 0 18 0 0.0%
openhcs/textual_tui/services/validation_service.py 76 76 0 26 0 0.0%
openhcs/textual_tui/services/visual_programming_dialog_service.py 62 62 0 10 0 0.0%
openhcs/textual_tui/services/window_cache.py 68 68 0 10 0 0.0%
openhcs/textual_tui/services/window_service.py 25 25 0 0 0 0.0%
openhcs/textual_tui/subprocess_runner.py 406 406 2 52 0 0.0%
openhcs/textual_tui/utils/__init__.py 2 2 0 0 0 0.0%
openhcs/textual_tui/widgets/__init__.py 8 7 0 0 0 12.5%
openhcs/textual_tui/widgets/button_list_widget.py 275 275 0 72 0 0.0%
openhcs/textual_tui/widgets/config_form.py 145 145 0 62 0 0.0%
openhcs/textual_tui/widgets/custom_window_bar.py 84 84 0 2 0 0.0%
openhcs/textual_tui/widgets/different_values_checkbox.py 37 37 0 6 0 0.0%
openhcs/textual_tui/widgets/different_values_input.py 34 34 0 6 0 0.0%
openhcs/textual_tui/widgets/different_values_radio_set.py 68 68 0 26 0 0.0%
openhcs/textual_tui/widgets/different_values_wrapper.py 105 105 0 46 0 0.0%
openhcs/textual_tui/widgets/file_list.py 98 98 0 26 0 0.0%
openhcs/textual_tui/widgets/function_list_editor.py 626 626 0 196 0 0.0%
openhcs/textual_tui/widgets/function_pane.py 187 187 0 66 0 0.0%
openhcs/textual_tui/widgets/log_monitor.py 110 110 0 38 0 0.0%
openhcs/textual_tui/widgets/main_content.py 39 37 0 0 0 5.1%
openhcs/textual_tui/widgets/openhcs_toolong_widget.py 615 615 0 186 0 0.0%
openhcs/textual_tui/widgets/pipeline_editor.py 414 414 0 122 0 0.0%
openhcs/textual_tui/widgets/plate_manager.py 940 940 0 300 0 0.0%
openhcs/textual_tui/widgets/reactive_log_monitor.py 228 228 0 56 0 0.0%
openhcs/textual_tui/widgets/shared/__init__.py 5 5 0 0 0 0.0%
openhcs/textual_tui/widgets/shared/clickable_help_label.py 46 46 0 10 0 0.0%
openhcs/textual_tui/widgets/shared/enum_radio_set.py 19 19 0 2 0 0.0%
openhcs/textual_tui/widgets/shared/parameter_form_manager.py 126 126 0 24 0 0.0%
openhcs/textual_tui/widgets/shared/signature_analyzer.py 559 559 0 274 0 0.0%
openhcs/textual_tui/widgets/shared/typed_widget_factory.py 61 61 0 22 0 0.0%
openhcs/textual_tui/widgets/shared/unified_parameter_analyzer.py 92 92 0 40 0 0.0%
openhcs/textual_tui/widgets/start_menu_button.py 170 170 0 28 0 0.0%
openhcs/textual_tui/widgets/status_bar.py 223 223 0 52 0 0.0%
openhcs/textual_tui/widgets/step_parameter_editor.py 158 158 0 48 0 0.0%
openhcs/textual_tui/widgets/system_monitor.py 152 152 0 18 0 0.0%
openhcs/textual_tui/widgets/toolong_widget.py 94 94 0 34 0 0.0%
openhcs/textual_tui/windows/__init__.py 15 15 0 0 0 0.0%
openhcs/textual_tui/windows/advanced_terminal_window.py 190 190 0 44 0 0.0%
openhcs/textual_tui/windows/base_window.py 24 24 0 2 0 0.0%
openhcs/textual_tui/windows/config_window.py 67 67 0 26 0 0.0%
openhcs/textual_tui/windows/debug_class_explorer.py 382 382 0 118 0 0.0%
openhcs/textual_tui/windows/dual_editor_window.py 245 245 0 62 0 0.0%
openhcs/textual_tui/windows/file_browser_window.py 589 589 0 182 0 0.0%
openhcs/textual_tui/windows/function_selector_window.py 185 185 0 58 0 0.0%
openhcs/textual_tui/windows/gateone-terminal-widget.py 244 244 7 90 0 0.0%
openhcs/textual_tui/windows/group_by_selector_window.py 131 131 0 44 0 0.0%
openhcs/textual_tui/windows/help_window.py 35 35 0 4 0 0.0%
openhcs/textual_tui/windows/help_windows.py 179 179 0 60 0 0.0%
openhcs/textual_tui/windows/multi_orchestrator_config_window.py 91 91 0 30 0 0.0%
openhcs/textual_tui/windows/pipeline_plate_window.py 36 36 0 0 0 0.0%
openhcs/textual_tui/windows/terminal_window.py 271 271 0 124 0 0.0%
openhcs/textual_tui/windows/toolong_window.py 89 89 0 24 0 0.0%
openhcs/utils/import_utils.py 19 3 0 2 1 81.0%
openhcs/validation/__init__.py 2 0 0 0 0 100.0%
openhcs/validation/ast_validator.py 147 110 0 62 0 17.7%
openhcs/validation/validate.py 69 69 2 34 0 0.0%
Total 43439 37109 844 13588 485 13.0%

No items found using the specified filter.