Point Cloud Library (PCL)
1.9.1
io
include
pcl
compression
compression_profiles.h
1
/*
2
* Software License Agreement (BSD License)
3
*
4
* Copyright (c) 2011, Willow Garage, Inc.
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
*
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above
14
* copyright notice, this list of conditions and the following
15
* disclaimer in the documentation and/or other materials provided
16
* with the distribution.
17
* * Neither the name of Willow Garage, Inc. nor the names of its
18
* contributors may be used to endorse or promote products derived
19
* from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
* POSSIBILITY OF SUCH DAMAGE.
33
*
34
* Author: Julius Kammerl (julius@kammerl.de)
35
*/
36
37
#ifndef OCTREE_COMPRESSION_PROFILES_H
38
#define OCTREE_COMPRESSION_PROFILES_H
39
40
namespace
pcl
41
{
42
namespace
io
43
{
44
45
enum
compression_Profiles_e
46
{
47
LOW_RES_ONLINE_COMPRESSION_WITHOUT_COLOR
,
48
LOW_RES_ONLINE_COMPRESSION_WITH_COLOR
,
49
50
MED_RES_ONLINE_COMPRESSION_WITHOUT_COLOR
,
51
MED_RES_ONLINE_COMPRESSION_WITH_COLOR
,
52
53
HIGH_RES_ONLINE_COMPRESSION_WITHOUT_COLOR
,
54
HIGH_RES_ONLINE_COMPRESSION_WITH_COLOR
,
55
56
LOW_RES_OFFLINE_COMPRESSION_WITHOUT_COLOR
,
57
LOW_RES_OFFLINE_COMPRESSION_WITH_COLOR
,
58
59
MED_RES_OFFLINE_COMPRESSION_WITHOUT_COLOR
,
60
MED_RES_OFFLINE_COMPRESSION_WITH_COLOR
,
61
62
HIGH_RES_OFFLINE_COMPRESSION_WITHOUT_COLOR
,
63
HIGH_RES_OFFLINE_COMPRESSION_WITH_COLOR
,
64
65
COMPRESSION_PROFILE_COUNT
,
66
MANUAL_CONFIGURATION
67
};
68
69
// compression configuration profile
70
struct
configurationProfile_t
71
{
72
double
pointResolution
;
73
const
double
octreeResolution
;
74
bool
doVoxelGridDownSampling
;
75
unsigned
int
iFrameRate
;
76
const
unsigned
char
colorBitResolution
;
77
bool
doColorEncoding
;
78
};
79
80
// predefined configuration parameters
81
const
struct
configurationProfile_t
compressionProfiles_
[
COMPRESSION_PROFILE_COUNT
] = {
82
{
83
// PROFILE: LOW_RES_ONLINE_COMPRESSION_WITHOUT_COLOR
84
0.01,
/* pointResolution = */
85
0.01,
/* octreeResolution = */
86
true
,
/* doVoxelGridDownDownSampling = */
87
50,
/* iFrameRate = */
88
4,
/* colorBitResolution = */
89
false
/* doColorEncoding = */
90
}, {
91
// PROFILE: LOW_RES_ONLINE_COMPRESSION_WITH_COLOR
92
0.01,
/* pointResolution = */
93
0.01,
/* octreeResolution = */
94
true
,
/* doVoxelGridDownDownSampling = */
95
50,
/* iFrameRate = */
96
4,
/* colorBitResolution = */
97
true
/* doColorEncoding = */
98
}, {
99
// PROFILE: MED_RES_ONLINE_COMPRESSION_WITHOUT_COLOR
100
0.005,
/* pointResolution = */
101
0.01,
/* octreeResolution = */
102
false
,
/* doVoxelGridDownDownSampling = */
103
40,
/* iFrameRate = */
104
5,
/* colorBitResolution = */
105
false
/* doColorEncoding = */
106
}, {
107
// PROFILE: MED_RES_ONLINE_COMPRESSION_WITH_COLOR
108
0.005,
/* pointResolution = */
109
0.01,
/* octreeResolution = */
110
false
,
/* doVoxelGridDownDownSampling = */
111
40,
/* iFrameRate = */
112
5,
/* colorBitResolution = */
113
true
/* doColorEncoding = */
114
}, {
115
// PROFILE: HIGH_RES_ONLINE_COMPRESSION_WITHOUT_COLOR
116
0.0001,
/* pointResolution = */
117
0.01,
/* octreeResolution = */
118
false
,
/* doVoxelGridDownDownSampling = */
119
30,
/* iFrameRate = */
120
7,
/* colorBitResolution = */
121
false
/* doColorEncoding = */
122
}, {
123
// PROFILE: HIGH_RES_ONLINE_COMPRESSION_WITH_COLOR
124
0.0001,
/* pointResolution = */
125
0.01,
/* octreeResolution = */
126
false
,
/* doVoxelGridDownDownSampling = */
127
30,
/* iFrameRate = */
128
7,
/* colorBitResolution = */
129
true
/* doColorEncoding = */
130
}, {
131
// PROFILE: LOW_RES_OFFLINE_COMPRESSION_WITHOUT_COLOR
132
0.01,
/* pointResolution = */
133
0.01,
/* octreeResolution = */
134
true
,
/* doVoxelGridDownDownSampling = */
135
100,
/* iFrameRate = */
136
4,
/* colorBitResolution = */
137
false
/* doColorEncoding = */
138
}, {
139
// PROFILE: LOW_RES_OFFLINE_COMPRESSION_WITH_COLOR
140
0.01,
/* pointResolution = */
141
0.01,
/* octreeResolution = */
142
true
,
/* doVoxelGridDownDownSampling = */
143
100,
/* iFrameRate = */
144
4,
/* colorBitResolution = */
145
true
/* doColorEncoding = */
146
}, {
147
// PROFILE: MED_RES_OFFLINE_COMPRESSION_WITHOUT_COLOR
148
0.005,
/* pointResolution = */
149
0.005,
/* octreeResolution = */
150
true
,
/* doVoxelGridDownDownSampling = */
151
100,
/* iFrameRate = */
152
5,
/* colorBitResolution = */
153
false
/* doColorEncoding = */
154
}, {
155
// PROFILE: MED_RES_OFFLINE_COMPRESSION_WITH_COLOR
156
0.005,
/* pointResolution = */
157
0.01,
/* octreeResolution = */
158
false
,
/* doVoxelGridDownDownSampling = */
159
100,
/* iFrameRate = */
160
5,
/* colorBitResolution = */
161
true
/* doColorEncoding = */
162
}, {
163
// PROFILE: HIGH_RES_OFFLINE_COMPRESSION_WITHOUT_COLOR
164
0.0001,
/* pointResolution = */
165
0.0001,
/* octreeResolution = */
166
true
,
/* doVoxelGridDownDownSampling = */
167
100,
/* iFrameRate = */
168
8,
/* colorBitResolution = */
169
false
/* doColorEncoding = */
170
}, {
171
// PROFILE: HIGH_RES_OFFLINE_COMPRESSION_WITH_COLOR
172
0.0001,
/* pointResolution = */
173
0.01,
/* octreeResolution = */
174
false
,
/* doVoxelGridDownDownSampling = */
175
100,
/* iFrameRate = */
176
8,
/* colorBitResolution = */
177
true
/* doColorEncoding = */
178
}};
179
180
}
181
}
182
183
184
#endif
185
pcl::io::LOW_RES_ONLINE_COMPRESSION_WITHOUT_COLOR
Definition:
compression_profiles.h:47
pcl::io::HIGH_RES_ONLINE_COMPRESSION_WITH_COLOR
Definition:
compression_profiles.h:54
pcl::io::compression_Profiles_e
compression_Profiles_e
Definition:
compression_profiles.h:45
pcl::io::configurationProfile_t::colorBitResolution
const unsigned char colorBitResolution
Definition:
compression_profiles.h:76
pcl::io::configurationProfile_t::pointResolution
double pointResolution
Definition:
compression_profiles.h:72
pcl
This file defines compatibility wrappers for low level I/O functions.
Definition:
convolution.h:45
pcl::io::configurationProfile_t::doColorEncoding
bool doColorEncoding
Definition:
compression_profiles.h:77
pcl::io::HIGH_RES_ONLINE_COMPRESSION_WITHOUT_COLOR
Definition:
compression_profiles.h:53
pcl::io::LOW_RES_ONLINE_COMPRESSION_WITH_COLOR
Definition:
compression_profiles.h:48
pcl::io::HIGH_RES_OFFLINE_COMPRESSION_WITH_COLOR
Definition:
compression_profiles.h:63
pcl::io::configurationProfile_t::iFrameRate
unsigned int iFrameRate
Definition:
compression_profiles.h:75
pcl::io::LOW_RES_OFFLINE_COMPRESSION_WITH_COLOR
Definition:
compression_profiles.h:57
pcl::io::MED_RES_OFFLINE_COMPRESSION_WITH_COLOR
Definition:
compression_profiles.h:60
pcl::io::LOW_RES_OFFLINE_COMPRESSION_WITHOUT_COLOR
Definition:
compression_profiles.h:56
pcl::io::COMPRESSION_PROFILE_COUNT
Definition:
compression_profiles.h:65
pcl::io::configurationProfile_t::doVoxelGridDownSampling
bool doVoxelGridDownSampling
Definition:
compression_profiles.h:74
pcl::io::HIGH_RES_OFFLINE_COMPRESSION_WITHOUT_COLOR
Definition:
compression_profiles.h:62
pcl::io::MED_RES_ONLINE_COMPRESSION_WITHOUT_COLOR
Definition:
compression_profiles.h:50
pcl::io::compressionProfiles_
const struct configurationProfile_t compressionProfiles_[COMPRESSION_PROFILE_COUNT]
Definition:
compression_profiles.h:81
pcl::io::MED_RES_OFFLINE_COMPRESSION_WITHOUT_COLOR
Definition:
compression_profiles.h:59
pcl::io::MED_RES_ONLINE_COMPRESSION_WITH_COLOR
Definition:
compression_profiles.h:51
pcl::io::MANUAL_CONFIGURATION
Definition:
compression_profiles.h:66
pcl::io::configurationProfile_t
Definition:
compression_profiles.h:70
pcl::io::configurationProfile_t::octreeResolution
const double octreeResolution
Definition:
compression_profiles.h:73