| 112 | thread_control_widget_(new ThreadControlWidget(this)) {} |
| 113 | |
| 114 | void FeatureMatchingTab::CreateGeneralOptions() { |
| 115 | options_widget_->AddSpacer(); |
| 116 | options_widget_->AddSection("Shared options"); |
| 117 | |
| 118 | matcher_type_cb_ = new QComboBox(options_widget_); |
| 119 | auto add_matcher_type = [this](FeatureMatcherType type) { |
| 120 | matcher_type_cb_->addItem( |
| 121 | QString::fromStdString(std::string(FeatureMatcherTypeToString(type)))); |
| 122 | matcher_types_.push_back(type); |
| 123 | }; |
| 124 | add_matcher_type(FeatureMatcherType::SIFT_BRUTEFORCE); |
| 125 | #ifdef COLMAP_ONNX_ENABLED |
| 126 | add_matcher_type(FeatureMatcherType::SIFT_LIGHTGLUE); |
| 127 | add_matcher_type(FeatureMatcherType::ALIKED_BRUTEFORCE); |
| 128 | add_matcher_type(FeatureMatcherType::ALIKED_LIGHTGLUE); |
| 129 | #endif |
| 130 | options_widget_->AddWidgetRow("Type", matcher_type_cb_); |
| 131 | |
| 132 | options_widget_->AddOptionInt( |
| 133 | &options_->feature_matching->num_threads, "num_threads", -1); |
| 134 | options_widget_->AddOptionBool(&options_->feature_matching->use_gpu, |
| 135 | "use_gpu"); |
| 136 | options_widget_->AddOptionText(&options_->feature_matching->gpu_index, |
| 137 | "gpu_index"); |
| 138 | options_widget_->AddOptionInt(&options_->feature_matching->max_num_matches, |
| 139 | "max_num_matches"); |
| 140 | options_widget_->AddOptionBool(&options_->feature_matching->guided_matching, |
| 141 | "guided_matching"); |
| 142 | options_widget_->AddOptionBool( |
| 143 | &options_->feature_matching->skip_geometric_verification, |
| 144 | "skip_geometric_verification"); |
| 145 | options_widget_->AddOptionBool(&options_->feature_matching->rig_verification, |
| 146 | "rig_verification"); |
| 147 | options_widget_->AddOptionBool( |
| 148 | &options_->feature_matching->skip_image_pairs_in_same_frame, |
| 149 | "skip_image_pairs_in_same_frame"); |
| 150 | |
| 151 | options_widget_->AddOptionDouble(&options_->feature_matching->sift->max_ratio, |
| 152 | "sift.max_ratio"); |
| 153 | options_widget_->AddOptionDouble( |
| 154 | &options_->feature_matching->sift->max_distance, "sift.max_distance"); |
| 155 | options_widget_->AddOptionBool(&options_->feature_matching->sift->cross_check, |
| 156 | "sift.cross_check"); |
| 157 | |
| 158 | options_widget_->AddSpacer(); |
| 159 | options_widget_->AddSection("Geometric verification"); |
| 160 | |
| 161 | options_widget_->AddOptionDouble( |
| 162 | &options_->two_view_geometry->ransac_options.max_error, "max_error"); |
| 163 | options_widget_->AddOptionDouble( |
| 164 | &options_->two_view_geometry->ransac_options.confidence, |
| 165 | "confidence", |
| 166 | 0, |
| 167 | 1, |
| 168 | 0.00001, |
| 169 | 5); |
| 170 | options_widget_->AddOptionInt( |
| 171 | &options_->two_view_geometry->ransac_options.max_num_trials, |
nothing calls this directly
no test coverage detected