Coverage for qubalab/images/wrapped_image_server.py: 100%

13 statements  

« prev     ^ index     » next       coverage.py v7.6.10, created at 2025-01-31 11:24 +0000

1from .image_server import ImageServer 

2from .metadata.image_metadata import ImageMetadata 

3 

4 

5class WrappedImageServer(ImageServer): 

6 """ 

7 Abstract class for an ImageServer that wraps another ImageServer, 

8 e.g. to transform the image in some way. 

9  

10 Closing this server will close the wrapped server. 

11 The metadata of this server is equivalent to the metadata of the wrapped server. 

12 """ 

13 

14 def __init__(self, base_server: ImageServer, **kwargs): 

15 """ 

16 :param base_server: the server to wrap 

17 :param resize_method: the resampling method to use when resizing the image for downsampling. Bicubic by default 

18 """ 

19 super().__init__(**kwargs) 

20 self._base_server = base_server 

21 

22 @property 

23 def base_server(self) -> ImageServer: 

24 """ 

25 Get the wrapped server. 

26 """ 

27 return self._base_server 

28 

29 def close(self): 

30 self._base_server.close() 

31 

32 def _build_metadata(self) -> ImageMetadata: 

33 return self._base_server.metadata