Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[registration] It might be better to reorganize the inheritance relationship.

オープン
#6,065 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 4 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
リファクタリング
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
cpp

調査の方向性

まず Registration、ICP、ICPWithNormals、ICPNonlinear の各クラスを読み、それぞれが実際に使用している対応付けと変換の責務を比較してください。この issue には具体的なファイルや受け入れ基準がないため、完了するには継承の再設計について合意し、合意したアーキテクチャを実装する必要があります。

索引モデルが issue の本文から書いたものです。

説明

kind: proposal module: registration

The current base class Registration seems to use an ICP algorithm by default. The algorithm is roughly divided into correspondence estimation and transformation estimation. Some rough alignment algorithms do not seem to be suitable for inheritance based on this, because some members of the base class are not used.

like FPCS:
image

In principle, this inheritance relationship may be more reasonable:

image

Of course, it can also be distinguished based on the purpose: coarse registration and fine registration, rigid registration and non-rigid registration. I think it is safer to follow the principle relationship. There may be cross-ambiguity based on the purpose.

Currently, ICP can use the strategy mode to switch between the methods in correspondence estimation and optimal transformation estimation, which is very convenient. If there are newly introduced algorithms, they can also be split into two independent algorithms. However, based on my understanding, the ICPwithNormals type can be roughly understood as ICP based on point-to-plane, and ICPNonliear is ICP based on LM point-to-point. There seems to be no clear distinction between these subclasses.

主要言語
C++
スター
11.2k
フォーク
4.7k
平均マージ
5日 8時間
マージ済み PR(30日)
10

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

PointCloudLibrary/pcl のほかの issue

PointCloudLibrary/pcl の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。