Coverage for tests/images/metadata/test_image_metadata.py: 100%

58 statements  

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

1from qubalab.images.metadata.image_shape import ImageShape 

2from qubalab.images.metadata.image_metadata import ImageMetadata 

3from qubalab.images.metadata.image_channel import ImageChannel 

4 

5 

6def test_shape(): 

7 expected_shape = ImageShape(128, 100) 

8 metadata = ImageMetadata( 

9 "", 

10 "", 

11 ( 

12 expected_shape, 

13 ImageShape(64, 50), 

14 ImageShape(32, 25) 

15 ), 

16 None, 

17 True, 

18 None 

19 ) 

20 

21 shape = metadata.shape 

22 

23 assert expected_shape == shape 

24 

25def test_width(): 

26 expected_width = 128 

27 metadata = ImageMetadata( 

28 "", 

29 "", 

30 ( 

31 ImageShape(expected_width, 100), 

32 ImageShape(64, 50), 

33 ImageShape(32, 25) 

34 ), 

35 None, 

36 True, 

37 None 

38 ) 

39 

40 width = metadata.width 

41 

42 assert expected_width == width 

43 

44def test_height(): 

45 expected_height = 100 

46 metadata = ImageMetadata( 

47 "", 

48 "", 

49 ( 

50 ImageShape(128, expected_height), 

51 ImageShape(64, 50), 

52 ImageShape(32, 25) 

53 ), 

54 None, 

55 True, 

56 None 

57 ) 

58 

59 height = metadata.height 

60 

61 assert expected_height == height 

62 

63def test_n_channels(): 

64 expected_n_channels = 5 

65 metadata = ImageMetadata( 

66 "", 

67 "", 

68 ( 

69 ImageShape(128, 100, c=expected_n_channels), 

70 ImageShape(64, 50, c=expected_n_channels), 

71 ImageShape(32, 25, c=expected_n_channels) 

72 ), 

73 None, 

74 True, 

75 None 

76 ) 

77 

78 n_channels = metadata.n_channels 

79 

80 assert expected_n_channels == n_channels 

81 

82def test_n_timepoints(): 

83 expected_n_timepoints = 50 

84 metadata = ImageMetadata( 

85 "", 

86 "", 

87 ( 

88 ImageShape(128, 100, t=expected_n_timepoints), 

89 ImageShape(64, 50, t=expected_n_timepoints), 

90 ImageShape(32, 25, t=expected_n_timepoints) 

91 ), 

92 None, 

93 True, 

94 None 

95 ) 

96 

97 n_timepoints = metadata.n_timepoints 

98 

99 assert expected_n_timepoints == n_timepoints 

100 

101def test_n_z_slices(): 

102 expected_n_z_slices = 10 

103 metadata = ImageMetadata( 

104 "", 

105 "", 

106 ( 

107 ImageShape(128, 100, z=expected_n_z_slices), 

108 ImageShape(64, 50, z=expected_n_z_slices), 

109 ImageShape(32, 25, z=expected_n_z_slices) 

110 ), 

111 None, 

112 True, 

113 None 

114 ) 

115 

116 n_z_slices = metadata.n_z_slices 

117 

118 assert expected_n_z_slices == n_z_slices 

119 

120def test_n_resolutions(): 

121 expected_n_resolutions = 3 

122 metadata = ImageMetadata( 

123 "", 

124 "", 

125 ( 

126 ImageShape(128, 100), 

127 ImageShape(64, 50), 

128 ImageShape(32, 25) 

129 ), 

130 None, 

131 True, 

132 None 

133 ) 

134 

135 n_resolutions = metadata.n_resolutions 

136 

137 assert expected_n_resolutions == n_resolutions 

138 

139def test_downsamples(): 

140 expected_downsamples = (1, 2, 4) 

141 metadata = ImageMetadata( 

142 "", 

143 "", 

144 ( 

145 ImageShape(128, 100), 

146 ImageShape(64, 50), 

147 ImageShape(32, 25) 

148 ), 

149 None, 

150 True, 

151 None 

152 ) 

153 

154 downsamples = metadata.downsamples 

155 

156 assert expected_downsamples == downsamples 

157 

158def test_channels_when_provided(): 

159 expected_channels = (ImageChannel("Channel 1", (1, 1, 1)), ImageChannel("Channel 2", (0, 0, 0))) 

160 metadata = ImageMetadata( 

161 "", 

162 "", 

163 ( 

164 ImageShape(128, 100), 

165 ImageShape(64, 50), 

166 ImageShape(32, 25) 

167 ), 

168 None, 

169 True, 

170 None, 

171 expected_channels 

172 ) 

173 

174 channels = metadata.channels 

175 

176 assert expected_channels == channels 

177 

178def test_number_of_channels_when_not_provided_and_RGB(): 

179 expected_n_channels = 3 

180 metadata = ImageMetadata( 

181 "", 

182 "", 

183 ( 

184 ImageShape(128, 100), 

185 ImageShape(64, 50), 

186 ImageShape(32, 25) 

187 ), 

188 None, 

189 True, 

190 None 

191 ) 

192 

193 n_channels = len(metadata.channels) 

194 

195 assert expected_n_channels == n_channels 

196 

197def test_number_of_channels_when_not_provided_and_not_RGB(): 

198 expected_n_channels = 5 

199 metadata = ImageMetadata( 

200 "", 

201 "", 

202 ( 

203 ImageShape(128, 100, c=expected_n_channels), 

204 ImageShape(64, 50, c=expected_n_channels), 

205 ImageShape(32, 25, c=expected_n_channels) 

206 ), 

207 None, 

208 False, 

209 None 

210 ) 

211 

212 n_channels = len(metadata.channels) 

213 

214 assert expected_n_channels == n_channels 

215