24 #include <interfaces/OpenCVStereoParamsInterface.h> 26 #include <core/exceptions/software.h> 47 OpenCVStereoParamsInterface::OpenCVStereoParamsInterface() : Interface()
49 data_size =
sizeof(OpenCVStereoParamsInterface_data_t);
50 data_ptr = malloc(data_size);
51 data = (OpenCVStereoParamsInterface_data_t *)data_ptr;
52 data_ts = (interface_data_ts_t *)data_ptr;
53 memset(data_ptr, 0, data_size);
54 enum_map_PreFilterType[(int)PFT_NORMALIZED_RESPONSE] =
"PFT_NORMALIZED_RESPONSE";
55 enum_map_PreFilterType[(int)PFT_XSOBEL] =
"PFT_XSOBEL";
56 add_fieldinfo(IFT_ENUM,
"pre_filter_type", 1, &data->pre_filter_type,
"PreFilterType", &enum_map_PreFilterType);
57 add_fieldinfo(IFT_UINT32,
"pre_filter_size", 1, &data->pre_filter_size);
58 add_fieldinfo(IFT_UINT32,
"pre_filter_cap", 1, &data->pre_filter_cap);
59 add_fieldinfo(IFT_UINT32,
"sad_window_size", 1, &data->sad_window_size);
60 add_fieldinfo(IFT_INT32,
"min_disparity", 1, &data->min_disparity);
61 add_fieldinfo(IFT_UINT32,
"num_disparities", 1, &data->num_disparities);
62 add_fieldinfo(IFT_UINT32,
"texture_threshold", 1, &data->texture_threshold);
63 add_fieldinfo(IFT_UINT32,
"uniqueness_ratio", 1, &data->uniqueness_ratio);
64 add_fieldinfo(IFT_UINT32,
"speckle_window_size", 1, &data->speckle_window_size);
65 add_fieldinfo(IFT_UINT32,
"speckle_range", 1, &data->speckle_range);
66 add_fieldinfo(IFT_BOOL,
"try_smaller_windows", 1, &data->try_smaller_windows);
67 add_messageinfo(
"SetPreFilterTypeMessage");
68 add_messageinfo(
"SetPreFilterSizeMessage");
69 add_messageinfo(
"SetPreFilterCapMessage");
70 add_messageinfo(
"SetSADWindowSizeMessage");
71 add_messageinfo(
"SetMinDisparityMessage");
72 add_messageinfo(
"SetNumDisparitiesMessage");
73 add_messageinfo(
"SetTextureThresholdMessage");
74 add_messageinfo(
"SetUniquenessRatioMessage");
75 add_messageinfo(
"SetSpeckleWindowSizeMessage");
76 add_messageinfo(
"SetSpeckleRangeMessage");
77 add_messageinfo(
"SetTrySmallerWindowsMessage");
78 unsigned char tmp_hash[] = {0x3a, 0x8e, 0x8c, 0x21, 0xea, 0x8c, 0x83, 0x29, 0x91, 0xdd, 0x5f, 0x5f, 0x16, 0xbf, 0x5f, 0xa6};
83 OpenCVStereoParamsInterface::~OpenCVStereoParamsInterface()
92 OpenCVStereoParamsInterface::tostring_PreFilterType(
PreFilterType value)
const 95 case PFT_NORMALIZED_RESPONSE:
return "PFT_NORMALIZED_RESPONSE";
96 case PFT_XSOBEL:
return "PFT_XSOBEL";
97 default:
return "UNKNOWN";
106 OpenCVStereoParamsInterface::pre_filter_type()
const 116 OpenCVStereoParamsInterface::maxlenof_pre_filter_type()
const 126 OpenCVStereoParamsInterface::set_pre_filter_type(
const PreFilterType new_pre_filter_type)
128 data->pre_filter_type = new_pre_filter_type;
139 OpenCVStereoParamsInterface::pre_filter_size()
const 141 return data->pre_filter_size;
149 OpenCVStereoParamsInterface::maxlenof_pre_filter_size()
const 161 OpenCVStereoParamsInterface::set_pre_filter_size(
const uint32_t new_pre_filter_size)
163 data->pre_filter_size = new_pre_filter_size;
174 OpenCVStereoParamsInterface::pre_filter_cap()
const 176 return data->pre_filter_cap;
184 OpenCVStereoParamsInterface::maxlenof_pre_filter_cap()
const 196 OpenCVStereoParamsInterface::set_pre_filter_cap(
const uint32_t new_pre_filter_cap)
198 data->pre_filter_cap = new_pre_filter_cap;
209 OpenCVStereoParamsInterface::sad_window_size()
const 211 return data->sad_window_size;
219 OpenCVStereoParamsInterface::maxlenof_sad_window_size()
const 231 OpenCVStereoParamsInterface::set_sad_window_size(
const uint32_t new_sad_window_size)
233 data->sad_window_size = new_sad_window_size;
242 OpenCVStereoParamsInterface::min_disparity()
const 244 return data->min_disparity;
252 OpenCVStereoParamsInterface::maxlenof_min_disparity()
const 262 OpenCVStereoParamsInterface::set_min_disparity(
const int32_t new_min_disparity)
264 data->min_disparity = new_min_disparity;
275 OpenCVStereoParamsInterface::num_disparities()
const 277 return data->num_disparities;
285 OpenCVStereoParamsInterface::maxlenof_num_disparities()
const 297 OpenCVStereoParamsInterface::set_num_disparities(
const uint32_t new_num_disparities)
299 data->num_disparities = new_num_disparities;
311 OpenCVStereoParamsInterface::texture_threshold()
const 313 return data->texture_threshold;
321 OpenCVStereoParamsInterface::maxlenof_texture_threshold()
const 334 OpenCVStereoParamsInterface::set_texture_threshold(
const uint32_t new_texture_threshold)
336 data->texture_threshold = new_texture_threshold;
349 OpenCVStereoParamsInterface::uniqueness_ratio()
const 351 return data->uniqueness_ratio;
359 OpenCVStereoParamsInterface::maxlenof_uniqueness_ratio()
const 373 OpenCVStereoParamsInterface::set_uniqueness_ratio(
const uint32_t new_uniqueness_ratio)
375 data->uniqueness_ratio = new_uniqueness_ratio;
386 OpenCVStereoParamsInterface::speckle_window_size()
const 388 return data->speckle_window_size;
396 OpenCVStereoParamsInterface::maxlenof_speckle_window_size()
const 408 OpenCVStereoParamsInterface::set_speckle_window_size(
const uint32_t new_speckle_window_size)
410 data->speckle_window_size = new_speckle_window_size;
421 OpenCVStereoParamsInterface::speckle_range()
const 423 return data->speckle_range;
431 OpenCVStereoParamsInterface::maxlenof_speckle_range()
const 443 OpenCVStereoParamsInterface::set_speckle_range(
const uint32_t new_speckle_range)
445 data->speckle_range = new_speckle_range;
457 OpenCVStereoParamsInterface::is_try_smaller_windows()
const 459 return data->try_smaller_windows;
467 OpenCVStereoParamsInterface::maxlenof_try_smaller_windows()
const 480 OpenCVStereoParamsInterface::set_try_smaller_windows(
const bool new_try_smaller_windows)
482 data->try_smaller_windows = new_try_smaller_windows;
488 OpenCVStereoParamsInterface::create_message(
const char *type)
const 490 if ( strncmp(
"SetPreFilterTypeMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
492 }
else if ( strncmp(
"SetPreFilterSizeMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
494 }
else if ( strncmp(
"SetPreFilterCapMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
496 }
else if ( strncmp(
"SetSADWindowSizeMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
498 }
else if ( strncmp(
"SetMinDisparityMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
500 }
else if ( strncmp(
"SetNumDisparitiesMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
502 }
else if ( strncmp(
"SetTextureThresholdMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
504 }
else if ( strncmp(
"SetUniquenessRatioMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
506 }
else if ( strncmp(
"SetSpeckleWindowSizeMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
508 }
else if ( strncmp(
"SetSpeckleRangeMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
510 }
else if ( strncmp(
"SetTrySmallerWindowsMessage", type, __INTERFACE_MESSAGE_TYPE_SIZE) == 0 ) {
514 "message type for this interface type.", type);
523 OpenCVStereoParamsInterface::copy_values(
const Interface *other)
528 type(), other->
type());
530 memcpy(data, oi->data,
sizeof(OpenCVStereoParamsInterface_data_t));
534 OpenCVStereoParamsInterface::enum_tostring(
const char *enumtype,
int val)
const 536 if (strcmp(enumtype,
"PreFilterType") == 0) {
553 OpenCVStereoParamsInterface::SetPreFilterTypeMessage::SetPreFilterTypeMessage(
const PreFilterType ini_pre_filter_type) :
Message(
"SetPreFilterTypeMessage")
555 data_size =
sizeof(SetPreFilterTypeMessage_data_t);
558 data = (SetPreFilterTypeMessage_data_t *)
data_ptr;
560 data->pre_filter_type = ini_pre_filter_type;
562 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
563 add_fieldinfo(
IFT_ENUM,
"pre_filter_type", 1, &data->pre_filter_type,
"PreFilterType", &enum_map_PreFilterType);
568 data_size =
sizeof(SetPreFilterTypeMessage_data_t);
571 data = (SetPreFilterTypeMessage_data_t *)
data_ptr;
574 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
575 add_fieldinfo(
IFT_ENUM,
"pre_filter_type", 1, &data->pre_filter_type,
"PreFilterType", &enum_map_PreFilterType);
592 data = (SetPreFilterTypeMessage_data_t *)
data_ptr;
624 data->pre_filter_type = new_pre_filter_type;
649 data_size =
sizeof(SetPreFilterSizeMessage_data_t);
652 data = (SetPreFilterSizeMessage_data_t *)
data_ptr;
654 data->pre_filter_size = ini_pre_filter_size;
656 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
662 data_size =
sizeof(SetPreFilterSizeMessage_data_t);
665 data = (SetPreFilterSizeMessage_data_t *)
data_ptr;
668 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
686 data = (SetPreFilterSizeMessage_data_t *)
data_ptr;
700 return data->pre_filter_size;
722 data->pre_filter_size = new_pre_filter_size;
747 data_size =
sizeof(SetPreFilterCapMessage_data_t);
750 data = (SetPreFilterCapMessage_data_t *)
data_ptr;
752 data->pre_filter_cap = ini_pre_filter_cap;
754 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
760 data_size =
sizeof(SetPreFilterCapMessage_data_t);
763 data = (SetPreFilterCapMessage_data_t *)
data_ptr;
766 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
784 data = (SetPreFilterCapMessage_data_t *)
data_ptr;
798 return data->pre_filter_cap;
820 data->pre_filter_cap = new_pre_filter_cap;
845 data_size =
sizeof(SetSADWindowSizeMessage_data_t);
848 data = (SetSADWindowSizeMessage_data_t *)
data_ptr;
850 data->sad_window_size = ini_sad_window_size;
852 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
858 data_size =
sizeof(SetSADWindowSizeMessage_data_t);
861 data = (SetSADWindowSizeMessage_data_t *)
data_ptr;
864 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
882 data = (SetSADWindowSizeMessage_data_t *)
data_ptr;
896 return data->sad_window_size;
918 data->sad_window_size = new_sad_window_size;
943 data_size =
sizeof(SetMinDisparityMessage_data_t);
946 data = (SetMinDisparityMessage_data_t *)
data_ptr;
948 data->min_disparity = ini_min_disparity;
950 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
956 data_size =
sizeof(SetMinDisparityMessage_data_t);
959 data = (SetMinDisparityMessage_data_t *)
data_ptr;
962 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
980 data = (SetMinDisparityMessage_data_t *)
data_ptr;
992 return data->min_disparity;
1012 data->min_disparity = new_min_disparity;
1037 data_size =
sizeof(SetNumDisparitiesMessage_data_t);
1040 data = (SetNumDisparitiesMessage_data_t *)
data_ptr;
1042 data->num_disparities = ini_num_disparities;
1044 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
1050 data_size =
sizeof(SetNumDisparitiesMessage_data_t);
1053 data = (SetNumDisparitiesMessage_data_t *)
data_ptr;
1056 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
1074 data = (SetNumDisparitiesMessage_data_t *)
data_ptr;
1088 return data->num_disparities;
1110 data->num_disparities = new_num_disparities;
1135 data_size =
sizeof(SetTextureThresholdMessage_data_t);
1138 data = (SetTextureThresholdMessage_data_t *)
data_ptr;
1140 data->texture_threshold = ini_texture_threshold;
1142 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
1148 data_size =
sizeof(SetTextureThresholdMessage_data_t);
1151 data = (SetTextureThresholdMessage_data_t *)
data_ptr;
1154 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
1172 data = (SetTextureThresholdMessage_data_t *)
data_ptr;
1187 return data->texture_threshold;
1210 data->texture_threshold = new_texture_threshold;
1235 data_size =
sizeof(SetUniquenessRatioMessage_data_t);
1238 data = (SetUniquenessRatioMessage_data_t *)
data_ptr;
1240 data->uniqueness_ratio = ini_uniqueness_ratio;
1242 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
1248 data_size =
sizeof(SetUniquenessRatioMessage_data_t);
1251 data = (SetUniquenessRatioMessage_data_t *)
data_ptr;
1254 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
1272 data = (SetUniquenessRatioMessage_data_t *)
data_ptr;
1288 return data->uniqueness_ratio;
1312 data->uniqueness_ratio = new_uniqueness_ratio;
1337 data_size =
sizeof(SetSpeckleWindowSizeMessage_data_t);
1340 data = (SetSpeckleWindowSizeMessage_data_t *)
data_ptr;
1342 data->speckle_window_size = ini_speckle_window_size;
1344 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
1350 data_size =
sizeof(SetSpeckleWindowSizeMessage_data_t);
1353 data = (SetSpeckleWindowSizeMessage_data_t *)
data_ptr;
1356 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
1374 data = (SetSpeckleWindowSizeMessage_data_t *)
data_ptr;
1388 return data->speckle_window_size;
1410 data->speckle_window_size = new_speckle_window_size;
1435 data_size =
sizeof(SetSpeckleRangeMessage_data_t);
1438 data = (SetSpeckleRangeMessage_data_t *)
data_ptr;
1440 data->speckle_range = ini_speckle_range;
1442 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
1448 data_size =
sizeof(SetSpeckleRangeMessage_data_t);
1451 data = (SetSpeckleRangeMessage_data_t *)
data_ptr;
1454 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
1472 data = (SetSpeckleRangeMessage_data_t *)
data_ptr;
1486 return data->speckle_range;
1508 data->speckle_range = new_speckle_range;
1533 data_size =
sizeof(SetTrySmallerWindowsMessage_data_t);
1536 data = (SetTrySmallerWindowsMessage_data_t *)
data_ptr;
1538 data->try_smaller_windows = ini_try_smaller_windows;
1540 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
1546 data_size =
sizeof(SetTrySmallerWindowsMessage_data_t);
1549 data = (SetTrySmallerWindowsMessage_data_t *)
data_ptr;
1552 enum_map_PreFilterType[(int)
PFT_XSOBEL] =
"PFT_XSOBEL";
1570 data = (SetTrySmallerWindowsMessage_data_t *)
data_ptr;
1585 return data->try_smaller_windows;
1608 data->try_smaller_windows = new_try_smaller_windows;
1669 if ( m10 != NULL ) {
void set_pre_filter_size(const uint32_t new_pre_filter_size)
Set pre_filter_size value.
uint32_t sad_window_size() const
Get sad_window_size value.
virtual Message * clone() const
Clone this message.
~SetUniquenessRatioMessage()
Destructor.
int32_t min_disparity() const
Get min_disparity value.
SetTrySmallerWindowsMessage()
Constructor.
uint32_t speckle_range() const
Get speckle_range value.
void * data_ptr
Pointer to memory that contains local data.
SetSADWindowSizeMessage Fawkes BlackBoard Interface Message.
virtual Message * clone() const
Clone this message.
~SetSADWindowSizeMessage()
Destructor.
size_t maxlenof_uniqueness_ratio() const
Get maximum length of uniqueness_ratio value.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
bool is_try_smaller_windows() const
Get try_smaller_windows value.
size_t maxlenof_try_smaller_windows() const
Get maximum length of try_smaller_windows value.
void set_uniqueness_ratio(const uint32_t new_uniqueness_ratio)
Set uniqueness_ratio value.
uint32_t pre_filter_size() const
Get pre_filter_size value.
void set_speckle_range(const uint32_t new_speckle_range)
Set speckle_range value.
SetNumDisparitiesMessage()
Constructor.
size_t maxlenof_min_disparity() const
Get maximum length of min_disparity value.
~SetPreFilterTypeMessage()
Destructor.
Fawkes library namespace.
size_t maxlenof_sad_window_size() const
Get maximum length of sad_window_size value.
SetUniquenessRatioMessage()
Constructor.
Timestamp data, must be present and first entries for each interface data structs! This leans on time...
SetSADWindowSizeMessage()
Constructor.
uint32_t uniqueness_ratio() const
Get uniqueness_ratio value.
size_t maxlenof_pre_filter_cap() const
Get maximum length of pre_filter_cap value.
SetSpeckleWindowSizeMessage()
Constructor.
~SetSpeckleRangeMessage()
Destructor.
~SetSpeckleWindowSizeMessage()
Destructor.
uint32_t num_disparities() const
Get num_disparities value.
~SetMinDisparityMessage()
Destructor.
~SetTrySmallerWindowsMessage()
Destructor.
SetPreFilterTypeMessage Fawkes BlackBoard Interface Message.
SetPreFilterSizeMessage Fawkes BlackBoard Interface Message.
uint32_t speckle_window_size() const
Get speckle_window_size value.
virtual Message * clone() const
Clone this message.
SetTextureThresholdMessage()
Constructor.
Base class for all Fawkes BlackBoard interfaces.
virtual Message * clone() const
Clone this message.
size_t maxlenof_num_disparities() const
Get maximum length of num_disparities value.
void set_sad_window_size(const uint32_t new_sad_window_size)
Set sad_window_size value.
SetPreFilterTypeMessage()
Constructor.
PreFilterType pre_filter_type() const
Get pre_filter_type value.
SetTextureThresholdMessage Fawkes BlackBoard Interface Message.
virtual Message * clone() const
Clone this message.
virtual Message * clone() const
Clone this message.
message_data_ts_t * data_ts
data timestamp aliasing pointer
unsigned int data_size
Size of memory needed to hold all data.
~SetTextureThresholdMessage()
Destructor.
SetTrySmallerWindowsMessage Fawkes BlackBoard Interface Message.
SetSpeckleRangeMessage Fawkes BlackBoard Interface Message.
virtual Message * clone() const
Clone this message.
void set_pre_filter_cap(const uint32_t new_pre_filter_cap)
Set pre_filter_cap value.
const char * type() const
Get type of interface.
SetSpeckleWindowSizeMessage Fawkes BlackBoard Interface Message.
SetMinDisparityMessage()
Constructor.
void set_num_disparities(const uint32_t new_num_disparities)
Set num_disparities value.
SetSpeckleRangeMessage()
Constructor.
size_t maxlenof_pre_filter_size() const
Get maximum length of pre_filter_size value.
size_t maxlenof_pre_filter_type() const
Get maximum length of pre_filter_type value.
OpenCVStereoParamsInterface Fawkes BlackBoard Interface.
virtual Message * clone() const
Clone this message.
SetPreFilterCapMessage Fawkes BlackBoard Interface Message.
~SetNumDisparitiesMessage()
Destructor.
size_t maxlenof_texture_threshold() const
Get maximum length of texture_threshold value.
SetUniquenessRatioMessage Fawkes BlackBoard Interface Message.
Normalized response filter.
void set_texture_threshold(const uint32_t new_texture_threshold)
Set texture_threshold value.
void set_min_disparity(const int32_t new_min_disparity)
Set min_disparity value.
void set_pre_filter_type(const PreFilterType new_pre_filter_type)
Set pre_filter_type value.
SetPreFilterSizeMessage()
Constructor.
PreFilterType
The type used for the pre-filter to come up with the features for the correspondence matching...
uint32_t pre_filter_cap() const
Get pre_filter_cap value.
virtual bool message_valid(const Message *message) const
Check if message is valid and can be enqueued.
virtual Message * clone() const
Clone this message.
virtual Message * clone() const
Clone this message.
~SetPreFilterCapMessage()
Destructor.
uint32_t texture_threshold() const
Get texture_threshold value.
SetNumDisparitiesMessage Fawkes BlackBoard Interface Message.
SetMinDisparityMessage Fawkes BlackBoard Interface Message.
virtual Message * clone() const
Clone this message.
void add_fieldinfo(interface_fieldtype_t type, const char *name, size_t length, void *value, const char *enumtype=0, const interface_enum_map_t *enum_map=0)
Add an entry to the info list.
void set_speckle_window_size(const uint32_t new_speckle_window_size)
Set speckle_window_size value.
SetPreFilterCapMessage()
Constructor.
size_t maxlenof_speckle_window_size() const
Get maximum length of speckle_window_size value.
32 bit unsigned integer field
void set_try_smaller_windows(const bool new_try_smaller_windows)
Set try_smaller_windows value.
field with interface specific enum type
~SetPreFilterSizeMessage()
Destructor.
size_t maxlenof_speckle_range() const
Get maximum length of speckle_range value.