@@ -223,79 +223,100 @@ PropertiesMap PixelProperties::getPropertiesAsMap() const
223
223
{
224
224
PropertiesMap dataMap;
225
225
226
- detail::add ( dataMap, " pixelName" , getPixelName () );
227
- detail::add ( dataMap, " pixelFormatName" , getPixelFormatName () );
228
- detail::add ( dataMap, " bitDepth" , getBitsPerPixel () );
229
- detail::add ( dataMap, " nbComponents" , getNbComponents () );
230
- detail::add ( dataMap, " chromaWidth" , getChromaWidth () );
231
- detail::add ( dataMap, " chromaHeight" , getChromaHeight () );
232
-
233
- std::string colorComponents;
234
- switch ( getColorComponents () )
226
+ addProperty ( dataMap, " pixelName" , &PixelProperties::getPixelName );
227
+ addProperty ( dataMap, " pixelFormatName" , &PixelProperties::getPixelFormatName );
228
+ addProperty ( dataMap, " bitDepth" , &PixelProperties::getBitsPerPixel );
229
+ addProperty ( dataMap, " nbComponents" , &PixelProperties::getNbComponents );
230
+ addProperty ( dataMap, " chromaWidth" , &PixelProperties::getChromaWidth );
231
+ addProperty ( dataMap, " chromaHeight" , &PixelProperties::getChromaHeight );
232
+
233
+ try
235
234
{
236
- case eComponentGray:
237
- colorComponents = " gray" ;
238
- break ;
239
- case eComponentRgb:
240
- colorComponents = " RGB" ;
241
- break ;
242
- case eComponentYuvJPEG:
243
- colorComponents = " YUVJPEG" ;
244
- break ;
245
- case eComponentYuvA:
246
- colorComponents = " YUVA" ;
247
- break ;
248
- case eComponentYuv:
249
- colorComponents = " YUV" ;
250
- break ;
235
+ std::string colorComponents;
236
+ switch ( getColorComponents () )
237
+ {
238
+ case eComponentGray:
239
+ colorComponents = " gray" ;
240
+ break ;
241
+ case eComponentRgb:
242
+ colorComponents = " RGB" ;
243
+ break ;
244
+ case eComponentYuvJPEG:
245
+ colorComponents = " YUVJPEG" ;
246
+ break ;
247
+ case eComponentYuvA:
248
+ colorComponents = " YUVA" ;
249
+ break ;
250
+ case eComponentYuv:
251
+ colorComponents = " YUV" ;
252
+ break ;
253
+ }
254
+ detail::add ( dataMap, " colorComponents" , colorComponents );
251
255
}
252
- detail::add ( dataMap, " colorComponents" , colorComponents );
256
+ catch ( const std::exception& e )
257
+ {
258
+ detail::add ( dataMap, " colorComponents" , e.what () );
259
+ }
260
+
261
+ try
262
+ {
263
+ std::string subsampling;
264
+ switch ( getSubsampling () )
265
+ {
266
+ case eSubsampling440:
267
+ subsampling = " 440" ;
268
+ break ;
269
+ case eSubsampling422:
270
+ subsampling = " 422" ;
271
+ break ;
272
+ case eSubsampling420:
273
+ subsampling = " 420" ;
274
+ break ;
275
+ case eSubsampling411:
276
+ subsampling = " 411" ;
277
+ break ;
278
+ case eSubsampling410:
279
+ subsampling = " 410" ;
280
+ break ;
281
+ case eSubsamplingNone:
282
+ subsampling = " None" ;
283
+ break ;
284
+ }
285
+ detail::add ( dataMap, " subsampling" , subsampling );
286
+ }
287
+ catch ( const std::exception& e )
288
+ {
289
+ detail::add ( dataMap, " subsampling" , e.what () );
290
+ }
291
+
292
+ addProperty ( dataMap, " isBigEndian" , &PixelProperties::isBigEndian );
293
+ addProperty ( dataMap, " hasAlpha" , &PixelProperties::hasAlpha );
294
+ addProperty ( dataMap, " isPlanar" , &PixelProperties::isPlanar );
295
+ addProperty ( dataMap, " isIndexedColors" , &PixelProperties::isIndexedColors );
296
+ addProperty ( dataMap, " bitWiseAcked" , &PixelProperties::isBitWisePacked );
297
+ addProperty ( dataMap, " isHardwareAccelerated" , &PixelProperties::isHardwareAccelerated );
298
+ addProperty ( dataMap, " rgbPixel" , &PixelProperties::isRgbPixelData );
299
+ addProperty ( dataMap, " isPseudoPaletted" , &PixelProperties::isPseudoPaletted );
253
300
254
- std::string subsampling;
255
- switch ( getSubsampling () )
301
+ try
256
302
{
257
- case eSubsampling440:
258
- subsampling = " 440" ;
259
- break ;
260
- case eSubsampling422:
261
- subsampling = " 422" ;
262
- break ;
263
- case eSubsampling420:
264
- subsampling = " 420" ;
265
- break ;
266
- case eSubsampling411:
267
- subsampling = " 411" ;
268
- break ;
269
- case eSubsampling410:
270
- subsampling = " 410" ;
271
- break ;
272
- case eSubsamplingNone:
273
- subsampling = " None" ;
274
- break ;
303
+ std::vector<Channel> channels = getChannels ();
304
+ for ( size_t channelIndex = 0 ; channelIndex < channels.size (); ++channelIndex )
305
+ {
306
+ std::stringstream channelName;
307
+ channelName << " channel_" << channels.at ( channelIndex ).id ;
308
+
309
+ std::stringstream channelValue;
310
+ channelValue << " chromaHeight " << channels.at ( channelIndex ).chromaHeight ;
311
+ channelValue << " - " ;
312
+ channelValue << " bitStep " << channels.at ( channelIndex ).bitStep ;
313
+
314
+ detail::add ( dataMap, channelName.str (), channelValue.str () );
315
+ }
275
316
}
276
- detail::add ( dataMap, " subsampling" , subsampling );
277
-
278
- detail::add ( dataMap, " isBigEndian" , isBigEndian () );
279
- detail::add ( dataMap, " hasAlpha" , hasAlpha () );
280
- detail::add ( dataMap, " isPlanar" , isPlanar () );
281
- detail::add ( dataMap, " isIndexedColors" , isIndexedColors () );
282
- detail::add ( dataMap, " bitWiseAcked" , isBitWisePacked () );
283
- detail::add ( dataMap, " isHardwareAccelerated" , isHardwareAccelerated () );
284
- detail::add ( dataMap, " rgbPixel" , isRgbPixelData () );
285
- detail::add ( dataMap, " isPseudoPaletted" , isPseudoPaletted () );
286
-
287
- std::vector<Channel> channels = getChannels ();
288
- for ( size_t channelIndex = 0 ; channelIndex < channels.size (); ++channelIndex )
317
+ catch ( const std::exception& e )
289
318
{
290
- std::stringstream channelName;
291
- channelName << " channel_" << channels.at ( channelIndex ).id ;
292
-
293
- std::stringstream channelValue;
294
- channelValue << " chromaHeight " << channels.at ( channelIndex ).chromaHeight ;
295
- channelValue << " - " ;
296
- channelValue << " bitStep " << channels.at ( channelIndex ).bitStep ;
297
-
298
- detail::add ( dataMap, channelName.str (), channelValue.str () );
319
+ detail::add ( dataMap, " channels" , e.what () );
299
320
}
300
321
301
322
return dataMap;
0 commit comments