Coverage for openhcs/microscopes/__init__.py: 100.0%

8 statements  

« prev     ^ index     » next       coverage.py v7.10.3, created at 2025-08-14 05:57 +0000

1""" 

2Microscope-specific implementations for openhcs. 

3 

4This package contains modules for different microscope types, each providing 

5concrete implementations of FilenameParser and MetadataHandler interfaces. 

6""" 

7 

8# Import base components needed for registration 

9from openhcs.microscopes.microscope_base import MICROSCOPE_HANDLERS, METADATA_HANDLERS, create_microscope_handler 

10 

11# Import concrete MicroscopeHandler implementations 

12# These imports trigger automatic registration via metaclass 

13from openhcs.microscopes.imagexpress import ImageXpressHandler 

14from openhcs.microscopes.opera_phenix import OperaPhenixHandler 

15from openhcs.microscopes.openhcs import OpenHCSMicroscopeHandler 

16 

17# Import parsers and metadata handlers that might be useful to export, 

18# though direct use is often through the MicroscopeHandler 

19from openhcs.microscopes.imagexpress import (ImageXpressFilenameParser, 

20 ImageXpressMetadataHandler) 

21from openhcs.microscopes.opera_phenix import (OperaPhenixFilenameParser, 

22 OperaPhenixMetadataHandler) 

23from openhcs.microscopes.openhcs import OpenHCSMetadataHandler 

24 

25# Note: No manual registration needed - handlers are automatically registered via metaclass 

26 

27__all__ = [ 

28 # Factory function 

29 'create_microscope_handler', 

30 # Handlers 

31 'ImageXpressHandler', 

32 'OperaPhenixHandler', 

33 'OpenHCSMicroscopeHandler', 

34 # Individual parsers and metadata handlers (optional, for direct use if needed) 

35 'ImageXpressFilenameParser', 

36 'ImageXpressMetadataHandler', 

37 'OperaPhenixFilenameParser', 

38 'OperaPhenixMetadataHandler', 

39 'OpenHCSMetadataHandler', 

40 # The MICROSCOPE_HANDLERS dict itself is not typically part of __all__ 

41 # as it's used internally by the factory. 

42]