{"action":"created","issue":{"url":"https://api.github.com/repos/akvo/caddisfly-app/issues/7","labels_url":"https://api.github.com/repos/akvo/caddisfly-app/issues/7/labels{/name}","comments_url":"https://api.github.com/repos/akvo/caddisfly-app/issues/7/comments","events_url":"https://api.github.com/repos/akvo/caddisfly-app/issues/7/events","html_url":"https://github.com/akvo/caddisfly-app/issues/7","id":92834586,"number":7,"title":"2.4 Check illumination quality of captured image","user":{"login":"mtwestra","id":478954,"avatar_url":"https://avatars.githubusercontent.com/u/478954?v=3","gravatar_id":"","url":"https://api.github.com/users/mtwestra","html_url":"https://github.com/mtwestra","followers_url":"https://api.github.com/users/mtwestra/followers","following_url":"https://api.github.com/users/mtwestra/following{/other_user}","gists_url":"https://api.github.com/users/mtwestra/gists{/gist_id}","starred_url":"https://api.github.com/users/mtwestra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtwestra/subscriptions","organizations_url":"https://api.github.com/users/mtwestra/orgs","repos_url":"https://api.github.com/users/mtwestra/repos","events_url":"https://api.github.com/users/mtwestra/events{/privacy}","received_events_url":"https://api.github.com/users/mtwestra/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/akvo/caddisfly-app/labels/Strip%20test","name":"Strip test","color":"fbca04"}],"state":"open","locked":false,"assignee":{"login":"ldporsius","id":9623423,"avatar_url":"https://avatars.githubusercontent.com/u/9623423?v=3","gravatar_id":"","url":"https://api.github.com/users/ldporsius","html_url":"https://github.com/ldporsius","followers_url":"https://api.github.com/users/ldporsius/followers","following_url":"https://api.github.com/users/ldporsius/following{/other_user}","gists_url":"https://api.github.com/users/ldporsius/gists{/gist_id}","starred_url":"https://api.github.com/users/ldporsius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ldporsius/subscriptions","organizations_url":"https://api.github.com/users/ldporsius/orgs","repos_url":"https://api.github.com/users/ldporsius/repos","events_url":"https://api.github.com/users/ldporsius/events{/privacy}","received_events_url":"https://api.github.com/users/ldporsius/received_events","type":"User","site_admin":false},"milestone":null,"comments":3,"created_at":"2015-07-03T09:31:50Z","updated_at":"2015-07-05T07:26:22Z","closed_at":null,"body":"We need to check if the global illumination level of the image is acceptable, because we don't want to adapt it before doing the calibration. This means both checking the global illumination level,and the if the illumination is homogenous across the image.\r\n\r\nTo do this, we need to determine a way to measure the global illumination level, This could be done as follows:\r\n\r\n1) in a grayscale image, there should only be some limited percentage of pixels with the extreme values, so 0 and 255. We need to determine a good cut off value for this. If pixels have these extreme values, it means that they are either under exposed, or over exposed, and in both cases information is lost.\r\n\r\n2) for the R, G, and B channels, this should also be checked, in order to check oversaturation\r\n\r\n3) For the grayscale image, we should find some additional quality check to see if the histogram of values is as we want it. For this, we might want to look at the histogram for a few 'good' and 'bad' images, and see what we can learn from that.\r\n\r\n\r\nTo determine if the illumination is homogenous accross the image, one option to use is to look at a few horizontal and vertical white lines of which we know the location. For each of these lines, we could say that the individual values of all the pixels on the line should not differ more than some small percentage (3% - 5%?) from the average value of all the pixels on the line. This will detect if there are local differences in the illumination.\r\n"},"comment":{"url":"https://api.github.com/repos/akvo/caddisfly-app/issues/comments/118590820","html_url":"https://github.com/akvo/caddisfly-app/issues/7#issuecomment-118590820","issue_url":"https://api.github.com/repos/akvo/caddisfly-app/issues/7","id":118590820,"user":{"login":"ldporsius","id":9623423,"avatar_url":"https://avatars.githubusercontent.com/u/9623423?v=3","gravatar_id":"","url":"https://api.github.com/users/ldporsius","html_url":"https://github.com/ldporsius","followers_url":"https://api.github.com/users/ldporsius/followers","following_url":"https://api.github.com/users/ldporsius/following{/other_user}","gists_url":"https://api.github.com/users/ldporsius/gists{/gist_id}","starred_url":"https://api.github.com/users/ldporsius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ldporsius/subscriptions","organizations_url":"https://api.github.com/users/ldporsius/orgs","repos_url":"https://api.github.com/users/ldporsius/repos","events_url":"https://api.github.com/users/ldporsius/events{/privacy}","received_events_url":"https://api.github.com/users/ldporsius/received_events","type":"User","site_admin":false},"created_at":"2015-07-05T07:26:22Z","updated_at":"2015-07-05T07:26:22Z","body":"Moved the image out of the shade.\r\n\r\n![device-2015-07-05-092323](https://cloud.githubusercontent.com/assets/9623423/8510731/e1ae6bf8-22f7-11e5-915a-843e931d3aae.png)\r\n"}}