]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/gil/test/extension/io/raw/raw_test.cpp
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / boost / libs / gil / test / extension / io / raw / raw_test.cpp
CommitLineData
f67539c2
TL
1//
2// Copyright 2013 Christian Henning
3//
4// Distributed under the Boost Software License, Version 1.0
5// See accompanying file LICENSE_1_0.txt or copy at
6// http://www.boost.org/LICENSE_1_0.txt
7//
8#define BOOST_FILESYSTEM_VERSION 3
9#define BOOST_GIL_IO_ADD_FS_PATH_SUPPORT
10#include <boost/gil.hpp>
11#include <boost/gil/extension/io/raw.hpp>
12
13#include <boost/mp11.hpp>
14#include <boost/core/lightweight_test.hpp>
15
16#include <fstream>
17
18#include "mandel_view.hpp"
19#include "paths.hpp"
20#include "subimage_test.hpp"
21
22namespace fs = boost::filesystem;
23namespace gil = boost::gil;
24namespace mp11 = boost::mp11;
25
26#ifdef BOOST_GIL_IO_TEST_ALLOW_READING_IMAGES
27
28void test_read_image_info_using_string()
29{
30 {
31 /// raw_tag reader's can only constructed with char*, std::string, and LibRaw object
32
33 using backend_t = gil::get_reader_backend<char const *, gil::raw_tag>::type;
34 backend_t b = gil::make_reader_backend(raw_filename.c_str(),
35 gil::image_read_settings<gil::raw_tag>());
36 backend_t backend = gil::read_image_info(raw_filename, gil::raw_tag());
37
38 BOOST_TEST_EQ(backend._info._width, 2176);
39 BOOST_TEST_EQ(backend._info._height, 1448);
40 }
41 {
42 fs::path my_path(raw_filename);
43 using backend_t = gil::get_reader_backend<fs::path, gil::raw_tag>::type;
44 backend_t backend = gil::read_image_info(my_path, gil::raw_tag());
45
46 BOOST_TEST_EQ(backend._info._width, 2176);
47 BOOST_TEST_EQ(backend._info._height, 1448);
48 }
49}
50
51void test_read_image()
52{
53 {
54 gil::rgb8_image_t img;
55 gil::read_image(raw_filename, img, gil::raw_tag());
56
57 BOOST_TEST_EQ(img.width(), 2176);
58 BOOST_TEST_EQ(img.height(), 1448);
59 }
60
61 {
62 fs::path my_path(raw_filename);
63 gil::rgb8_image_t img;
64 gil::read_image(my_path, img, gil::raw_tag());
65
66 BOOST_TEST_EQ(img.width(), 2176);
67 BOOST_TEST_EQ(img.height(), 1448);
68 }
69}
70
71void test_read_and_convert_image()
72{
73 gil::rgb8_image_t img;
74 gil::read_and_convert_image(raw_filename, img, gil::raw_tag());
75
76 BOOST_TEST_EQ(img.width(), 2176);
77 BOOST_TEST_EQ(img.height(), 1448);
78}
79
80void test_read_view()
81{
82 gil::rgb8_image_t img(2176, 1448);
83 gil::read_view(raw_filename, gil::view(img), gil::raw_tag());
84}
85
86void test_read_and_convert_view()
87{
88 gil::rgb8_image_t img(2176, 1448);
89 gil::read_and_convert_view(raw_filename, gil::view(img), gil::raw_tag());
90}
91
92void test_subimage()
93{
94 run_subimage_test<gil::rgb8_image_t, gil::raw_tag>(raw_filename, gil::point_t(0, 0), gil::point_t(127, 1));
95 run_subimage_test<gil::rgb8_image_t, gil::raw_tag>(raw_filename, gil::point_t(39, 7), gil::point_t(50, 50));
96}
97
98void test_dynamic_image()
99{
100 using my_img_types = mp11::mp_list
101 <
102 gil::gray8_image_t,
103 gil::gray16_image_t,
104 gil::rgb8_image_t,
105 gil::rgba8_image_t
106 >;
107
108 gil::any_image<my_img_types> image;
109 gil::read_image(raw_filename.c_str(), image, gil::raw_tag());
110}
111
112int main()
113{
114 test_read_image_info_using_string();
115 test_read_image();
116 test_read_and_convert_image();
117 test_read_view();
118 test_read_and_convert_view();
119 //test_subimage();
120 test_dynamic_image();
121
122 return boost::report_errors();
123}
124
125#else
126int main() {}
127#endif // BOOST_GIL_IO_TEST_ALLOW_READING_IMAGES