boostorg / gil

Boost.GIL - Generic Image Library | Requires C++14 since Boost 1.80
https://boostorg.github.io/gil
Boost Software License 1.0
178 stars 163 forks source link

Added FAST feature detector by Edward Rosten #604

Open Sayan-Chaudhuri opened 3 years ago

Sayan-Chaudhuri commented 3 years ago

Description

This pull request adds the FAST feature detector which is used for corner detection in real time scenarios

  1. Fusing points and lines for high performance tracking.
  2. Machine learning for high-speed corner detection.
  3. Faster and better: A machine learning approach to corner detection

References

https://www.edwardrosten.com/work/fast.html

Tasklist

Sayan-Chaudhuri commented 3 years ago

Would love to have feedback from @lpranam @mloskot @codejaeger if you find time in your busy schedule to review this PR. I have tried to maintain the following things based on feedback in earlier pull requests. 1.Code is short 2.Consistent formatting for improved readability 3.Did not mix upper and lower case in file names

Sayan-Chaudhuri commented 3 years ago

@lpranam I have tried to follow your advice and made the changes .I would request you and @mloskot @codejaeger to kindly review it if you find time amidst your busy schedule.

Sayan-Chaudhuri commented 3 years ago

The number of code lines increased due to formatting

lpranam commented 3 years ago

@Sayan-Chaudhuri no one cares about number of lines increases due to adding necessary spaces and formatting. when in past I said that no one would require 500K lines that was because it 500K lines of code no one counts while space. White space is needed.

Sayan-Chaudhuri commented 3 years ago

Actually I mentioned it because initially I was very happy to keep the code concise and readable. But then the lines increased and so I felt bad.. :) .

mloskot commented 3 years ago

@Sayan-Chaudhuri I believe we have discussed the initial issues pointed out by @lpranam above during review of https://github.com/boostorg/gil/pull/597#pullrequestreview-639138013

Please, try to avoid similar issues over and over again. This will save time to us all!

Sayan-Chaudhuri commented 3 years ago

@mloskot Yeah, I am noting down every feedback and trying hard so as not to avoid them. The code is entirely written by me because from our discussion , I understand that copied code is wrong due to several factors. Regarding the blank lines as separator, I actually didnt made any changes after i formatted the code with clang. Ok, so I shall surely add the separators. From your feedback of PR#597, I thought it was bad to mix upper/lower case in filenames. Will keep this mistake in mind. Thanks for taking out time to provide the feedback.

Sayan-Chaudhuri commented 3 years ago

@lpranam @mloskot I apologise sincerely for repetitive mistakes. I have looked into the codebase again, read your feedback and have tried to incorporate the necessary changes.

Sayan-Chaudhuri commented 3 years ago

@mloskot @lpranam Apologies for the mistakes committed in my previous commit. I have reread the contributing guidelines as instructed by you, and have tried to incorporate each and every instruction from the guidelines. I have doubt over the below mentioned points in the contributing guidelines 1)All public headers should be placed in boost/gil/ or boost/gil//.

2)All non-public headers should be placed boost/gil/detail or boost/gil//detail.

As per my understanding, all the header files that will not be used by a library user should be put in detail folder. But in the already existing header files in the library, I do not find any such convention being followed e.g histogram_equalization.hpp. Also , there is no detail folder inside the image_processing subfolder of boost/gil. So, if you can kindly advice the course of action for this.

I understand repeated mistakes from my side is hindering further course of action from your side regarding the PR. I hqve checked my code several times against the guidelines. I hope that this time, my mistakes will not be hindering the review process. I would kindly request you to have a relook at my code if you find time amidst your busy schedule.