ethz-asl / COIN-LIO

Other
198 stars 18 forks source link

Locatingthe filter used for removing the line artefacts #10

Closed ouazmourad closed 2 weeks ago

ouazmourad commented 3 weeks ago

Hi there, appreciate your openly sourced work!

I want to add a publisher that does not filter the spherical image, particularly skipping the part where it tries to remove the line artefacts. You have added in your repository the python colab link, which is in python whereas your work is entirely in c++, so it does not really help in locating that filter when processing the image.

Tried setting bool removelines in "image_processing.h" to skip that part, but it still processed it.

Any assistance would be greatly appreciated. :)

patripfr commented 3 weeks ago

Hi,

The filtering has two main parts:

You can turn them on and off by setting the following rosparams: https://github.com/ethz-asl/COIN-LIO/blob/main/src/image_processing.cpp#L36-L37

ouazmourad commented 3 weeks ago

Hey, appreciate your response!

Also, I noticed that reflectivity and ambient values are included in the definition of the Point structure in preprocess.h, but they aren't called anywhere else in the cpp files.

I tried to adapt the basic approach to printing them from a pointcloud, following your same Point Structure definition.

But when adjusting the standard_pcd_callback function such that I print the values' ouput in the console, image

the code compiles with many warnings due to functions that are linked with it expecting no more than an argument. image

Would take any feedback! : )

patripfr commented 3 weeks ago

I'm not sure what you are trying to do, but the reflectivity value can be used by enabling the rosparam. It is then used here. The ambient value is not used at the moment.

ouazmourad commented 3 weeks ago

I am trying to print out the reflectity and ambient values from my custom-made pointcloud on the D-LIO inspired dashboard.

patripfr commented 2 weeks ago

Ok, so this works using your code above? In this case I'll close this issue.

ouazmourad commented 2 weeks ago

Hey Patrick,

Nope I'm still figuring out how to print the values on that D-LIO dashboard. Any suggestion on how to proceed on modifying the "standard_pcd_cbk" function in "laserMapping.cpp"? I mentioned the code in the thread above which worked fine on my other package.

patripfr commented 2 weeks ago

The printing of the dashboard is happening in those lines: https://github.com/ethz-asl/COIN-LIO/blob/main/src/laserMapping.cpp#L834

Printing with ROS_INFO does not work (or will be removed) if the dashboard is activated, since this line clears the terminal.

So if you want to print those values in the dashboard, you need to add them in the log_fancy function. However, printing for every point as in your example above will take very long and also destroys the visibility of the dashboard. So I think for what you want to do, the easiest is to turn off the dashboard by setting this flag to false. Then printing as in your example above should work.