{"action":"opened","issue":{"url":"https://api.github.com/repos/opendatacube/datacube-core/issues/691","repository_url":"https://api.github.com/repos/opendatacube/datacube-core","labels_url":"https://api.github.com/repos/opendatacube/datacube-core/issues/691/labels{/name}","comments_url":"https://api.github.com/repos/opendatacube/datacube-core/issues/691/comments","events_url":"https://api.github.com/repos/opendatacube/datacube-core/issues/691/events","html_url":"https://github.com/opendatacube/datacube-core/issues/691","id":430696483,"node_id":"MDU6SXNzdWU0MzA2OTY0ODM=","number":691,"title":"Masked files are impossible to support with the current interface","user":{"login":"Kirill888","id":1428024,"node_id":"MDQ6VXNlcjE0MjgwMjQ=","avatar_url":"https://avatars1.githubusercontent.com/u/1428024?v=4","gravatar_id":"","url":"https://api.github.com/users/Kirill888","html_url":"https://github.com/Kirill888","followers_url":"https://api.github.com/users/Kirill888/followers","following_url":"https://api.github.com/users/Kirill888/following{/other_user}","gists_url":"https://api.github.com/users/Kirill888/gists{/gist_id}","starred_url":"https://api.github.com/users/Kirill888/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Kirill888/subscriptions","organizations_url":"https://api.github.com/users/Kirill888/orgs","repos_url":"https://api.github.com/users/Kirill888/repos","events_url":"https://api.github.com/users/Kirill888/events{/privacy}","received_events_url":"https://api.github.com/users/Kirill888/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-04-08T23:08:57Z","updated_at":"2019-04-08T23:08:57Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Problem\r\n======\r\n\r\nDatacube load pipeline assumes that there is always a `nodata` value available to differentiate output pixels that have been populated with valid data from data source and those that have only been set to \"clear pixel value\".\r\n\r\nIf someone wanted to index say 8-bit JPEG compressed TIFF files into datacube they won't be able to load more than one dataset at a time without allocating at least one of 256 available values to represent \"absence of value\".  This is problematic if your data is RGB and all values are \"valid values\".\r\n\r\nTypically this is solved with the use of a \"mask\", a separate image plane of the same shape as data plane, but containing a Boolean image instead. Datacube has no way of supporting this due to its current \"load_data/Fuser\" interface which is `nodata`-based. So it's not just the matter of checking if file contains `mask` layer and then doing the right thing with it, one has to change interface of the fuser.\r\n\r\nGiven all the other issues regarding fuser/groupby I think this area is due for a significant review/refactor. These changes can not be made in a backwards compatible way though.\r\n\r\nRelated: #674, #671, #643, #615\r\n\r\n\r\n\r\n\r\n"}}
{"actor":{"display_login":"Kirill888"}}