Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md #525

Merged
merged 10 commits into from
Oct 16, 2023
14 changes: 8 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ Those tutorials are written using Markdown syntax and stored in the project's `/

Libpointmatcher's source code is fully documented based on doxygen to provide an easy API to developers. An example of this API can be found [here](https://norlab.ulaval.ca/libpointmatcher-doc/), but it is suggested to use the one build for your version in `doc/html`.

libpointmatcher is being developed by [François Pomerleau](mailto:[email protected]) and [Stéphane Magnenat](http://stephane.magnenat.net) as part of our work at [ASL-ETH](http://www.asl.ethz.ch).
libpointmatcher was orginaly developed by [François Pomerleau](mailto:[email protected]) and [Stéphane Magnenat](http://stephane.magnenat.net) as part of our work at [ASL-ETH](http://www.asl.ethz.ch).
It is now maintained by the Northern Robotics Laboratory ([Norlab](https://norlab.ulaval.ca/)), led by François Pomerleau.

You can read the latest changes in the [release notes](doc/ReleaseNotes.md).

Expand All @@ -37,7 +38,8 @@ and was compiled on:

### Compilation & Installation

For beginner users who are not familiar with compiling and installing a library in Linux, go [here](doc/CompilationUbuntu.md) for detailed instructions on how to compile libpointmatcher from the source code. If you are comfortable with Linux and CMake and have already installed the prerequisites above, the following commands should install libpointmatcher on your system.
For beginner users unfamiliar with compiling and installing a library in Linux, go [here](doc/CompilationUbuntu.md) for detailed instructions on compiling libpointmatcher from the source code.
If you are comfortable with Linux and CMake and have already installed the prerequisites above, the following commands should install libpointmatcher on your system.

```bash
mkdir build && cd build
Expand All @@ -57,7 +59,7 @@ utest/utest --path ../examples/data/

### Linking to external projects.

We mainly develop for __cmake projects__ and we provide example files under [`examples/demo_cmake/`](https://github.com/ethz-asl/libpointmatcher/tree/master/examples/demo_cmake) to help you in your own project. We also provide a __QT Creator__ example in [`examples/demo_QT/`](https://github.com/ethz-asl/libpointmatcher/tree/master/examples/demo_Qt), which manually list all the dependencies in the file [`demo.pro`](https://github.com/ethz-asl/libpointmatcher/blob/master/examples/demo_Qt/demo.pro). You would need to ajust those paths to point at the appropriate locations on your system. For a more detailled procedure, check the [Linking Projects to libpointmatcher](doc/LinkingProjects.md) section.
We mainly develop for __cmake projects__ and we provide example files under [`examples/demo_cmake/`](https://github.com/ethz-asl/libpointmatcher/tree/master/examples/demo_cmake) to help you in your own project. We also provide a __QT Creator__ example in [`examples/demo_QT/`](https://github.com/ethz-asl/libpointmatcher/tree/master/examples/demo_Qt), which manually lists all the dependencies in the file [`demo.pro`](https://github.com/ethz-asl/libpointmatcher/blob/master/examples/demo_Qt/demo.pro). You would need to ajust those paths to point at the appropriate locations on your system. For a more detailed procedure, check the [Linking Projects to libpointmatcher](doc/LinkingProjects.md) section.


### Bug reporting
Expand All @@ -71,7 +73,7 @@ The library support different file formats for importing or exporting data:
* ply (Polygon File Format)
* pcd (Point Cloud Library Format)

Those functionnalities are available without increasing the list of dependencies at the expense of a limited functionality support. For more details, see the tutorial [Importing and Exporting Point Clouds](doc/ImportExport.md). Example executables using those file formats from the command line can be found in the `/examples` directory and are described [here](doc/ICPIntro.md) in more details.
Those functionnalities are available without increasing the list of dependencies at the expense of limited functionality support. For more details, see the tutorial [Importing and Exporting Point Clouds](doc/ImportExport.md). Example executables using those file formats from the command line can be found in the `/examples` directory and are described [here](doc/ICPIntro.md) in more detail.

# Citing

Expand Down Expand Up @@ -123,11 +125,11 @@ You can download the files in CSV or VTK formats, which are directly supported b
If you are using libpointmatcher in your project and you would like to have it listed here, please contact [François Pomerleau](mailto:[email protected]).

* European Project [NIFTi](http://www.nifti.eu/) (FP7 ICT-247870): Search and rescue project in dynamic environments. Results: [video of multi-floor reconstruction](http://www.youtube.com/watch?v=lP5Mj-TGaiw) and [video of railyard reconstruction](http://www.youtube.com/watch?v=ygIvzWVfPYk). All results with real-time computation.
* NASA Ames [Stereo Pipeline](https://ti.arc.nasa.gov/tech/asr/groups/intelligent-robotics/ngt/stereo/): Planetary reconstruction from satellite observations. Results: used for Mars, Moon and Earth point clouds.
* NASA Ames [Stereo Pipeline](https://ti.arc.nasa.gov/tech/asr/groups/intelligent-robotics/ngt/stereo/): Planetary reconstruction from satellite observations. Results: used for Mars, Moon, and Earth point clouds.
* Armasuisse S+T UGV research program [ARTOR](http://www.artor.ethz.ch/): Development of techniques for reliable autonomous navigation of a wheeled robot in rough, outdoor terrain. Results: [video of urban and dynamic 3D reconstruction](http://www.youtube.com/watch?v=UCCAUf64tD0) and [video of open space 3D reconstruction](http://www.youtube.com/watch?v=M5Y99o7um88) with real-time computation.
* Swiss National Science Foundation - [Limnobotics](http://www.limnobotics.ch/): Robotic solution for toxic algae monitoring in lacs. Result: [video of 3D shore reconstruction](http://www.youtube.com/watch?v=g8l-Xq4qYeE) with real-time computation.
* [CGAL](https://www.cgal.org/) includes our library for their registration pipeline.
* [Norlab](https://norlab.ulaval.ca/) is maintaining and using the library for their research on autonomous navigation in harsh environments.
* [Norlab](https://norlab.ulaval.ca/) is maintaining and using the library for its research on autonomous navigation in harsh environments.
* [ANYbotics AG](https://www.anybotics.com) is investigating autonomous navigation algorithms using this library.
* [Point Laz Mining LiDAR Expert](https://www.pointlaz.com/) is scanning mine shafts to ensure infrastructure safety.

Expand Down
6 changes: 5 additions & 1 deletion build_system/readme_test.md
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
`libpointmatcher` TeamCity project config test no 1

`libpointmatcher` TeamCity project config test

- [x] PR to `develop` branch
- [x] PR from `release` to `master` branch › test 3
6 changes: 3 additions & 3 deletions pointmatcher/DataPointsFilters/SurfaceNormal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -202,10 +202,10 @@ void SurfaceNormalDataPointsFilter<T>::inPlaceFilter(
const size_t idxSize = idx.size();
Vector tmp_eigenVa = eigenVa;
Matrix tmp_eigenVe = eigenVe;
for(size_t i=0; i<idxSize; ++i)
for(size_t j=0; j<idxSize; ++j)
{
eigenVa(i,0) = tmp_eigenVa(idx[i], 0);
eigenVe.col(i) = tmp_eigenVe.col(idx[i]);
eigenVa(j,0) = tmp_eigenVa(idx[j], 0);
eigenVe.col(j) = tmp_eigenVe.col(idx[j]);
}
}
}
Expand Down