The first coding has ended and I'm happy to say my pull request is nearly complete. I'm waiting for mentors to review the code, then I'll fix any remaining issues.
Here's a quick summary of the new code:
- A new sub-module called
jakob2019was created as a part of
- The main interface is
RGB_to_sd_Jakob2019, which turns colors (from any RGB space supported by Colour) to a spectral distribution.
- A low-level interface,
find_coefficients, can be used if only the model parameters are needed. It's where the entire optimization algorithm takes place.
- It's also worth mentioning
error_function, the function minimized during optimization. It also returns its own gradient (derivatives of the function value with respect to its inputs) to aid numerical algorithms. This required analytically differentiating all the intermediate steps.
Jakob2019Interpolatorclass can be used to work with precomputed tables. It can read and write the article's authors'
.coefffiles and also generate new ones.
- All functions and classes are documented.
- Close to 100% test coverage. Unit tests still need some improvements.