1. Python Gamut Bibliotek
- Author
-
Voigt, Jakob Michael, Niebuhr, Lars Michael, Behenam, Nawar Maher, Lahafdoozian, Sahand, and Pedersen, Marius
- Subjects
IE ,NTNU ,Thesis ,Bachelor ,Latex ,IMT ,Color management ,Algoritmer ,Gamut ,Teknologi: 500::Informasjons- og kommunikasjonsteknologi: 550::Datateknologi: 551 [VDP] ,Color space ,Fargebehandling ,Algorithms ,Python - Abstract
Colour er et programmeringsbibliotek utviklet av prosjektets oppdragsgiver Ivar Farp. Bibliotekets formål er å forenkle forskning innen fargevitenskap og fargebildeteknologi, ved å tilby et enkelt API å jobbe med. Biblioteket har funksjonalitet for håndtering av fargemålinger og fargeromstransformasjoner. Oppdragsgiver ønsket å utvidde bibliotekt med funksjonalitet for håndtering av ICCprofiler, fargegamuter og utvikling av gamut mapping algoritmer. Hovedoppgaven vår har vært å utvikle en ny klasse for biblioteket som håndterer gamutrelatert arbeid. Klassen kan beregne gamuters overflater ved å benytte én av to utvalgte metoder. Gamutene kan visualiseres i brukerdefinere aksesystemer. Den største delen har vært å utvikle metoder for grunnoperasjoner som inngår i gamut mapping algoritmer. Vi har også implementert to slike algoritmer, HpminDE og minDE, ved å bruke klassens grunnoperasjoner. Ved å lese denne oppgaven får du innblikk i utviklingsprosessen, en teoretisk innføring i fagområdet avgrenset til hva som er relevant for vår utvikling, samt detaljerte forklaringer av algoritmene som benyttes. Biblioteket er tilgjengelig på github. Colour is a programming library developed by the project commissioner Ivar Farp. The purpose of the library is to simplify research within color science and color imaging technology, by offering a simple API to work with. The library has functionality for handling color metrics and color space transformations. The project commissioner wanted to expand the library with functionality for handling ICC profiles, color gamuts and development of gamut mapping algorithms. Our main task has been to develop a new class for the library that manages gamutrelated work. The class can calculate gamut surfaces by using one of two developed methods. Gamutes can be visualized wtih user-defined axis. The largest part of the project been to develop methods for the basic operations used in gamut mapping algorithms. We have also implemented two such algorithms, HPminDE and minDE, using these operations. By reading this assignment you get insight into the development process, a theoretical introduction to the subject area, limited to what is relevant to our development, as well as detailed explanations of the algorithms used. The library is available at github.
- Published
- 2017