Coverage for models/datasets/pointer_gamut.py: 0%

17 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2025-11-16 22:49 +1300

1""" 

2Pointer's Gamut 

3=============== 

4 

5Define the *Pointer's Gamut* data for real surface colours. 

6 

7This module provides the data representing the gamut of real surface colours 

8as measured by Pointer (1980). The data includes the gamut volume in 

9*CIE L\\*C\\*Hab* colourspace and boundary chromaticity coordinates. 

10 

11References 

12---------- 

13- :cite:`Pointer1980a` : Pointer, M. R. (1980). Pointer's Gamut Data. 

14 http://www.cis.rit.edu/research/mcsl2/online/PointerData.xls 

15""" 

16 

17from __future__ import annotations 

18 

19import typing 

20 

21import numpy as np 

22 

23from colour.colorimetry import CCS_LIGHT_SOURCES 

24 

25if typing.TYPE_CHECKING: 

26 from colour.hints import NDArrayFloat 

27 

28__author__ = "Colour Developers" 

29__copyright__ = "Copyright 2013 Colour Developers" 

30__license__ = "BSD-3-Clause - https://opensource.org/licenses/BSD-3-Clause" 

31__maintainer__ = "Colour Developers" 

32__email__ = "colour-developers@colour-science.org" 

33__status__ = "Production" 

34 

35__all__ = [ 

36 "CCS_ILLUMINANT_POINTER_GAMUT", 

37 "DATA_POINTER_GAMUT_VOLUME", 

38 "CCS_POINTER_GAMUT_BOUNDARY", 

39] 

40 

41CCS_ILLUMINANT_POINTER_GAMUT: NDArrayFloat = CCS_LIGHT_SOURCES[ 

42 "CIE 1931 2 Degree Standard Observer" 

43]["SC"] 

44""" 

45*Pointer's Gamut* illuminant, i.e., *SC*. 

46 

47References 

48---------- 

49:cite:`Pointer1980a` 

50""" 

51 

52DATA_POINTER_GAMUT_VOLUME: NDArrayFloat = np.array( 

53 [ 

54 [15, 10, 0], 

55 [15, 15, 10], 

56 [15, 14, 20], 

57 [15, 35, 30], 

58 [15, 27, 40], 

59 [15, 10, 50], 

60 [15, 4, 60], 

61 [15, 5, 70], 

62 [15, 6, 80], 

63 [15, 4, 90], 

64 [15, 9, 100], 

65 [15, 9, 110], 

66 [15, 4, 120], 

67 [15, 5, 130], 

68 [15, 7, 140], 

69 [15, 7, 150], 

70 [15, 8, 160], 

71 [15, 13, 170], 

72 [15, 10, 180], 

73 [15, 7, 190], 

74 [15, 5, 200], 

75 [15, 0, 210], 

76 [15, 2, 220], 

77 [15, 10, 230], 

78 [15, 8, 240], 

79 [15, 9, 250], 

80 [15, 12, 260], 

81 [15, 14, 270], 

82 [15, 10, 280], 

83 [15, 20, 290], 

84 [15, 30, 300], 

85 [15, 62, 310], 

86 [15, 60, 320], 

87 [15, 20, 330], 

88 [15, 26, 340], 

89 [15, 15, 350], 

90 [20, 30, 0], 

91 [20, 30, 10], 

92 [20, 34, 20], 

93 [20, 48, 30], 

94 [20, 40, 40], 

95 [20, 21, 50], 

96 [20, 15, 60], 

97 [20, 15, 70], 

98 [20, 15, 80], 

99 [20, 12, 90], 

100 [20, 16, 100], 

101 [20, 18, 110], 

102 [20, 14, 120], 

103 [20, 18, 130], 

104 [20, 20, 140], 

105 [20, 21, 150], 

106 [20, 24, 160], 

107 [20, 25, 170], 

108 [20, 25, 180], 

109 [20, 19, 190], 

110 [20, 19, 200], 

111 [20, 12, 210], 

112 [20, 12, 220], 

113 [20, 20, 230], 

114 [20, 16, 240], 

115 [20, 21, 250], 

116 [20, 24, 260], 

117 [20, 31, 270], 

118 [20, 29, 280], 

119 [20, 40, 290], 

120 [20, 55, 300], 

121 [20, 76, 310], 

122 [20, 71, 320], 

123 [20, 50, 330], 

124 [20, 49, 340], 

125 [20, 37, 350], 

126 [25, 43, 0], 

127 [25, 45, 10], 

128 [25, 49, 20], 

129 [25, 59, 30], 

130 [25, 53, 40], 

131 [25, 34, 50], 

132 [25, 26, 60], 

133 [25, 25, 70], 

134 [25, 24, 80], 

135 [25, 20, 90], 

136 [25, 23, 100], 

137 [25, 27, 110], 

138 [25, 23, 120], 

139 [25, 30, 130], 

140 [25, 32, 140], 

141 [25, 34, 150], 

142 [25, 36, 160], 

143 [25, 36, 170], 

144 [25, 38, 180], 

145 [25, 30, 190], 

146 [25, 29, 200], 

147 [25, 17, 210], 

148 [25, 20, 220], 

149 [25, 29, 230], 

150 [25, 26, 240], 

151 [25, 32, 250], 

152 [25, 34, 260], 

153 [25, 42, 270], 

154 [25, 45, 280], 

155 [25, 60, 290], 

156 [25, 72, 300], 

157 [25, 85, 310], 

158 [25, 79, 320], 

159 [25, 72, 330], 

160 [25, 63, 340], 

161 [25, 52, 350], 

162 [30, 56, 0], 

163 [30, 56, 10], 

164 [30, 61, 20], 

165 [30, 68, 30], 

166 [30, 66, 40], 

167 [30, 45, 50], 

168 [30, 37, 60], 

169 [30, 36, 70], 

170 [30, 32, 80], 

171 [30, 28, 90], 

172 [30, 30, 100], 

173 [30, 35, 110], 

174 [30, 32, 120], 

175 [30, 40, 130], 

176 [30, 42, 140], 

177 [30, 45, 150], 

178 [30, 48, 160], 

179 [30, 47, 170], 

180 [30, 48, 180], 

181 [30, 40, 190], 

182 [30, 37, 200], 

183 [30, 26, 210], 

184 [30, 28, 220], 

185 [30, 36, 230], 

186 [30, 34, 240], 

187 [30, 40, 250], 

188 [30, 41, 260], 

189 [30, 50, 270], 

190 [30, 55, 280], 

191 [30, 69, 290], 

192 [30, 81, 300], 

193 [30, 88, 310], 

194 [30, 84, 320], 

195 [30, 86, 330], 

196 [30, 73, 340], 

197 [30, 65, 350], 

198 [35, 68, 0], 

199 [35, 64, 10], 

200 [35, 69, 20], 

201 [35, 75, 30], 

202 [35, 79, 40], 

203 [35, 60, 50], 

204 [35, 48, 60], 

205 [35, 46, 70], 

206 [35, 40, 80], 

207 [35, 36, 90], 

208 [35, 37, 100], 

209 [35, 44, 110], 

210 [35, 41, 120], 

211 [35, 48, 130], 

212 [35, 52, 140], 

213 [35, 57, 150], 

214 [35, 58, 160], 

215 [35, 57, 170], 

216 [35, 57, 180], 

217 [35, 48, 190], 

218 [35, 42, 200], 

219 [35, 34, 210], 

220 [35, 35, 220], 

221 [35, 42, 230], 

222 [35, 41, 240], 

223 [35, 49, 250], 

224 [35, 46, 260], 

225 [35, 55, 270], 

226 [35, 60, 280], 

227 [35, 71, 290], 

228 [35, 79, 300], 

229 [35, 85, 310], 

230 [35, 85, 320], 

231 [35, 89, 330], 

232 [35, 82, 340], 

233 [35, 73, 350], 

234 [40, 77, 0], 

235 [40, 70, 10], 

236 [40, 74, 20], 

237 [40, 82, 30], 

238 [40, 90, 40], 

239 [40, 75, 50], 

240 [40, 59, 60], 

241 [40, 56, 70], 

242 [40, 48, 80], 

243 [40, 44, 90], 

244 [40, 45, 100], 

245 [40, 52, 110], 

246 [40, 49, 120], 

247 [40, 56, 130], 

248 [40, 60, 140], 

249 [40, 68, 150], 

250 [40, 68, 160], 

251 [40, 65, 170], 

252 [40, 64, 180], 

253 [40, 55, 190], 

254 [40, 45, 200], 

255 [40, 43, 210], 

256 [40, 40, 220], 

257 [40, 46, 230], 

258 [40, 47, 240], 

259 [40, 54, 250], 

260 [40, 51, 260], 

261 [40, 60, 270], 

262 [40, 61, 280], 

263 [40, 69, 290], 

264 [40, 72, 300], 

265 [40, 80, 310], 

266 [40, 86, 320], 

267 [40, 89, 330], 

268 [40, 87, 340], 

269 [40, 79, 350], 

270 [45, 79, 0], 

271 [45, 73, 10], 

272 [45, 76, 20], 

273 [45, 84, 30], 

274 [45, 94, 40], 

275 [45, 90, 50], 

276 [45, 70, 60], 

277 [45, 67, 70], 

278 [45, 55, 80], 

279 [45, 53, 90], 

280 [45, 51, 100], 

281 [45, 59, 110], 

282 [45, 57, 120], 

283 [45, 64, 130], 

284 [45, 69, 140], 

285 [45, 75, 150], 

286 [45, 76, 160], 

287 [45, 70, 170], 

288 [45, 69, 180], 

289 [45, 59, 190], 

290 [45, 46, 200], 

291 [45, 49, 210], 

292 [45, 45, 220], 

293 [45, 49, 230], 

294 [45, 49, 240], 

295 [45, 55, 250], 

296 [45, 55, 260], 

297 [45, 60, 270], 

298 [45, 60, 280], 

299 [45, 65, 290], 

300 [45, 64, 300], 

301 [45, 71, 310], 

302 [45, 82, 320], 

303 [45, 86, 330], 

304 [45, 87, 340], 

305 [45, 82, 350], 

306 [50, 77, 0], 

307 [50, 73, 10], 

308 [50, 76, 20], 

309 [50, 83, 30], 

310 [50, 93, 40], 

311 [50, 100, 50], 

312 [50, 82, 60], 

313 [50, 76, 70], 

314 [50, 64, 80], 

315 [50, 60, 90], 

316 [50, 58, 100], 

317 [50, 66, 110], 

318 [50, 64, 120], 

319 [50, 70, 130], 

320 [50, 76, 140], 

321 [50, 81, 150], 

322 [50, 82, 160], 

323 [50, 75, 170], 

324 [50, 71, 180], 

325 [50, 62, 190], 

326 [50, 46, 200], 

327 [50, 51, 210], 

328 [50, 48, 220], 

329 [50, 51, 230], 

330 [50, 50, 240], 

331 [50, 55, 250], 

332 [50, 56, 260], 

333 [50, 57, 270], 

334 [50, 57, 280], 

335 [50, 58, 290], 

336 [50, 57, 300], 

337 [50, 62, 310], 

338 [50, 74, 320], 

339 [50, 80, 330], 

340 [50, 83, 340], 

341 [50, 84, 350], 

342 [55, 72, 0], 

343 [55, 71, 10], 

344 [55, 74, 20], 

345 [55, 80, 30], 

346 [55, 88, 40], 

347 [55, 102, 50], 

348 [55, 93, 60], 

349 [55, 85, 70], 

350 [55, 72, 80], 

351 [55, 68, 90], 

352 [55, 65, 100], 

353 [55, 74, 110], 

354 [55, 71, 120], 

355 [55, 77, 130], 

356 [55, 82, 140], 

357 [55, 84, 150], 

358 [55, 85, 160], 

359 [55, 76, 170], 

360 [55, 72, 180], 

361 [55, 62, 190], 

362 [55, 45, 200], 

363 [55, 54, 210], 

364 [55, 51, 220], 

365 [55, 52, 230], 

366 [55, 50, 240], 

367 [55, 52, 250], 

368 [55, 51, 260], 

369 [55, 50, 270], 

370 [55, 53, 280], 

371 [55, 50, 290], 

372 [55, 50, 300], 

373 [55, 55, 310], 

374 [55, 66, 320], 

375 [55, 72, 330], 

376 [55, 78, 340], 

377 [55, 79, 350], 

378 [60, 65, 0], 

379 [60, 65, 10], 

380 [60, 68, 20], 

381 [60, 75, 30], 

382 [60, 82, 40], 

383 [60, 99, 50], 

384 [60, 103, 60], 

385 [60, 94, 70], 

386 [60, 82, 80], 

387 [60, 75, 90], 

388 [60, 72, 100], 

389 [60, 82, 110], 

390 [60, 78, 120], 

391 [60, 82, 130], 

392 [60, 87, 140], 

393 [60, 84, 150], 

394 [60, 83, 160], 

395 [60, 75, 170], 

396 [60, 69, 180], 

397 [60, 60, 190], 

398 [60, 43, 200], 

399 [60, 50, 210], 

400 [60, 49, 220], 

401 [60, 50, 230], 

402 [60, 47, 240], 

403 [60, 48, 250], 

404 [60, 46, 260], 

405 [60, 45, 270], 

406 [60, 46, 280], 

407 [60, 43, 290], 

408 [60, 42, 300], 

409 [60, 47, 310], 

410 [60, 57, 320], 

411 [60, 63, 330], 

412 [60, 71, 340], 

413 [60, 73, 350], 

414 [65, 57, 0], 

415 [65, 57, 10], 

416 [65, 61, 20], 

417 [65, 67, 30], 

418 [65, 72, 40], 

419 [65, 88, 50], 

420 [65, 106, 60], 

421 [65, 102, 70], 

422 [65, 94, 80], 

423 [65, 83, 90], 

424 [65, 80, 100], 

425 [65, 87, 110], 

426 [65, 84, 120], 

427 [65, 85, 130], 

428 [65, 89, 140], 

429 [65, 83, 150], 

430 [65, 78, 160], 

431 [65, 71, 170], 

432 [65, 64, 180], 

433 [65, 55, 190], 

434 [65, 39, 200], 

435 [65, 46, 210], 

436 [65, 45, 220], 

437 [65, 45, 230], 

438 [65, 42, 240], 

439 [65, 43, 250], 

440 [65, 40, 260], 

441 [65, 39, 270], 

442 [65, 40, 280], 

443 [65, 36, 290], 

444 [65, 35, 300], 

445 [65, 41, 310], 

446 [65, 48, 320], 

447 [65, 54, 330], 

448 [65, 62, 340], 

449 [65, 63, 350], 

450 [70, 50, 0], 

451 [70, 48, 10], 

452 [70, 51, 20], 

453 [70, 56, 30], 

454 [70, 60, 40], 

455 [70, 75, 50], 

456 [70, 98, 60], 

457 [70, 108, 70], 

458 [70, 105, 80], 

459 [70, 90, 90], 

460 [70, 86, 100], 

461 [70, 92, 110], 

462 [70, 90, 120], 

463 [70, 88, 130], 

464 [70, 90, 140], 

465 [70, 80, 150], 

466 [70, 69, 160], 

467 [70, 65, 170], 

468 [70, 60, 180], 

469 [70, 49, 190], 

470 [70, 35, 200], 

471 [70, 40, 210], 

472 [70, 38, 220], 

473 [70, 39, 230], 

474 [70, 36, 240], 

475 [70, 36, 250], 

476 [70, 33, 260], 

477 [70, 33, 270], 

478 [70, 34, 280], 

479 [70, 29, 290], 

480 [70, 30, 300], 

481 [70, 34, 310], 

482 [70, 40, 320], 

483 [70, 45, 330], 

484 [70, 51, 340], 

485 [70, 53, 350], 

486 [75, 40, 0], 

487 [75, 39, 10], 

488 [75, 40, 20], 

489 [75, 45, 30], 

490 [75, 47, 40], 

491 [75, 59, 50], 

492 [75, 85, 60], 

493 [75, 103, 70], 

494 [75, 115, 80], 

495 [75, 98, 90], 

496 [75, 94, 100], 

497 [75, 95, 110], 

498 [75, 94, 120], 

499 [75, 89, 130], 

500 [75, 83, 140], 

501 [75, 72, 150], 

502 [75, 59, 160], 

503 [75, 57, 170], 

504 [75, 51, 180], 

505 [75, 41, 190], 

506 [75, 30, 200], 

507 [75, 32, 210], 

508 [75, 32, 220], 

509 [75, 32, 230], 

510 [75, 29, 240], 

511 [75, 29, 250], 

512 [75, 27, 260], 

513 [75, 26, 270], 

514 [75, 25, 280], 

515 [75, 24, 290], 

516 [75, 24, 300], 

517 [75, 27, 310], 

518 [75, 31, 320], 

519 [75, 36, 330], 

520 [75, 40, 340], 

521 [75, 40, 350], 

522 [80, 30, 0], 

523 [80, 30, 10], 

524 [80, 30, 20], 

525 [80, 33, 30], 

526 [80, 35, 40], 

527 [80, 45, 50], 

528 [80, 66, 60], 

529 [80, 82, 70], 

530 [80, 115, 80], 

531 [80, 106, 90], 

532 [80, 100, 100], 

533 [80, 100, 110], 

534 [80, 95, 120], 

535 [80, 84, 130], 

536 [80, 71, 140], 

537 [80, 58, 150], 

538 [80, 49, 160], 

539 [80, 45, 170], 

540 [80, 41, 180], 

541 [80, 32, 190], 

542 [80, 22, 200], 

543 [80, 24, 210], 

544 [80, 23, 220], 

545 [80, 24, 230], 

546 [80, 21, 240], 

547 [80, 21, 250], 

548 [80, 20, 260], 

549 [80, 20, 270], 

550 [80, 18, 280], 

551 [80, 18, 290], 

552 [80, 17, 300], 

553 [80, 20, 310], 

554 [80, 24, 320], 

555 [80, 27, 330], 

556 [80, 28, 340], 

557 [80, 30, 350], 

558 [85, 19, 0], 

559 [85, 18, 10], 

560 [85, 19, 20], 

561 [85, 21, 30], 

562 [85, 22, 40], 

563 [85, 30, 50], 

564 [85, 45, 60], 

565 [85, 58, 70], 

566 [85, 83, 80], 

567 [85, 111, 90], 

568 [85, 106, 100], 

569 [85, 96, 110], 

570 [85, 83, 120], 

571 [85, 64, 130], 

572 [85, 54, 140], 

573 [85, 44, 150], 

574 [85, 34, 160], 

575 [85, 30, 170], 

576 [85, 29, 180], 

577 [85, 23, 190], 

578 [85, 14, 200], 

579 [85, 14, 210], 

580 [85, 15, 220], 

581 [85, 15, 230], 

582 [85, 12, 240], 

583 [85, 13, 250], 

584 [85, 13, 260], 

585 [85, 13, 270], 

586 [85, 11, 280], 

587 [85, 12, 290], 

588 [85, 12, 300], 

589 [85, 14, 310], 

590 [85, 16, 320], 

591 [85, 18, 330], 

592 [85, 18, 340], 

593 [85, 17, 350], 

594 [90, 8, 0], 

595 [90, 7, 10], 

596 [90, 9, 20], 

597 [90, 10, 30], 

598 [90, 10, 40], 

599 [90, 15, 50], 

600 [90, 23, 60], 

601 [90, 34, 70], 

602 [90, 48, 80], 

603 [90, 90, 90], 

604 [90, 108, 100], 

605 [90, 84, 110], 

606 [90, 50, 120], 

607 [90, 35, 130], 

608 [90, 30, 140], 

609 [90, 20, 150], 

610 [90, 15, 160], 

611 [90, 15, 170], 

612 [90, 16, 180], 

613 [90, 13, 190], 

614 [90, 7, 200], 

615 [90, 4, 210], 

616 [90, 6, 220], 

617 [90, 7, 230], 

618 [90, 4, 240], 

619 [90, 4, 250], 

620 [90, 6, 260], 

621 [90, 6, 270], 

622 [90, 4, 280], 

623 [90, 5, 290], 

624 [90, 5, 300], 

625 [90, 6, 310], 

626 [90, 8, 320], 

627 [90, 9, 330], 

628 [90, 4, 340], 

629 [90, 6, 350], 

630 ] 

631) 

632""" 

633*CIE L\\*C\\*Hab* colourspace array of *Pointer's Gamut* volume. 

634 

635References 

636---------- 

637:cite:`Pointer1980a` 

638""" 

639 

640CCS_POINTER_GAMUT_BOUNDARY: NDArrayFloat = np.array( 

641 [ 

642 [0.659, 0.316], 

643 [0.634, 0.351], 

644 [0.594, 0.391], 

645 [0.557, 0.427], 

646 [0.523, 0.462], 

647 [0.482, 0.491], 

648 [0.444, 0.515], 

649 [0.409, 0.546], 

650 [0.371, 0.558], 

651 [0.332, 0.573], 

652 [0.288, 0.584], 

653 [0.242, 0.576], 

654 [0.202, 0.530], 

655 [0.177, 0.454], 

656 [0.151, 0.389], 

657 [0.151, 0.330], 

658 [0.162, 0.295], 

659 [0.157, 0.266], 

660 [0.159, 0.245], 

661 [0.142, 0.214], 

662 [0.141, 0.195], 

663 [0.129, 0.168], 

664 [0.138, 0.141], 

665 [0.145, 0.129], 

666 [0.145, 0.106], 

667 [0.161, 0.094], 

668 [0.188, 0.084], 

669 [0.252, 0.104], 

670 [0.324, 0.127], 

671 [0.393, 0.165], 

672 [0.451, 0.199], 

673 [0.508, 0.226], 

674 ] 

675) 

676""" 

677*CIE xy* chromaticity coordinates of *Pointer's Gamut* boundaries. 

678 

679References 

680---------- 

681:cite:`Pointer1980a` 

682"""