
Extract UBO BTF archive format(UBO2003, ATRIUM, UBO2014).
This repository uses zeroeffects/btf's btf.hh (MIT License).
Extract to ndarray compatible with openCV(BGR, channels-last).
Install
pip install btf-extractor
This package uses the Cython.
To install this package, a C++ and OpenMP build environment is required.
Build is tested on
Example
>>> from btf_extractor import Ubo2003, AtriumHdr, Ubo2014
>>> btf = Ubo2003("UBO_CORDUROY256.zip")
>>> angles_list = list(btf.angles_set)
>>> print(angles_list[0])
(0, 0, 0, 0)
>>> image = btf.angles_to_image(*angles_list[0])
>>> print(image.shape)
(256, 256, 3)
>>> print(image.dtype)
uint8
>>> btf = AtriumHdr("CEILING_HDR.zip")
>>> angles_list = list(btf.angles_set)
>>> print(angles_list[0])
(0, 0, 0, 0)
>>> image = btf.angles_to_image(*angles_list[0])
>>> print(image.shape)
(256, 256, 3)
>>> print(image.dtype)
float32
>>> btf = Ubo2014("carpet01_resampled_W400xH400_L151xV151.btf")
>>> print(btf.img_shape)
(400, 400, 3)
>>> angles_list = list(btf.angles_set)
>>> print(angles_list[0])
(60.0, 270.0, 60.0, 135.0)
>>> image = btf.angles_to_image(*angles_list[0])
>>> print(image.shape)
(400, 400, 3)
>>> print(image.dtype)
float32
Supported Datasets
UBO2003
6561 images, 256x256 resolution, 81 view and 81 light directions.

Mirko Sattler, Ralf Sarlette and Reinhard Klein "Efficient and Realistic Visualization of Cloth", EGSR 2003.
ATRIUM (non-HDR and HDR)
6561 images, 800x800 resolution, 81 view and 81 light directions.

UBO2014
22,801 images, 512x512(400x400) resolution, 151 view and 151 light directions.

Michael Weinmann, Juergen Gall and Reinhard Klein. "Material Classification based on Training Data Synthesized Using a BTF Database", accepted at ECCV 2014.