cnr-isti-vclab / meshlab

The open source mesh processing system
http://www.meshlab.net
GNU General Public License v3.0
4.82k stars 830 forks source link

Screened Poisson Surface Reconstruction filter missing for Meshlab 2016.12 on Ubuntu 14.04 #97

Closed omhafez closed 7 years ago

omhafez commented 7 years ago

I build Meshlab 2016.12 on 64-bit Ubuntu 14.04 from the following PPA: sudo add-apt-repository ppa:zarquon42/meshlab sudo apt-get update sudo apt-get install meshlab I spoke to the owner of this PPA and he says there are no build errors on his end either.

  1. In the GUI, Screened Poisson Surface Reconstruction does not appear as an option.
  2. meshlabserver does not handle it either I run the following command line: meshlabserver -i ptcloud.ply -o surface.ply -s screen.mlx where ptcloud.ply is a point cloud, and screen.mlx looks as follows:

<!DOCTYPE FilterScript>

Yet, I get the following output: Apply FilterScript: '/home/omar/projects/shabaka/reslt/sphere/screen.mlx' FilterScript Reading filter with name Screened Poisson Surface Reconstruction Starting Script of 1 actionsfilter: Screened Poisson Surface Reconstruction LOG: 1 WARNING! The MeshLab Script System is able to manage just the C++ XML filters. Problem with filter: Screened Poisson Surface Reconstruction

Thanks, Omar

mardy commented 7 years ago

Hi Omar, I'm not a Meshlab developer, but I contributed the snap package for it. I'd recommend getting Meshlab as a snap (just type snap install meshlab), because this problem should be fixed there.

I didn't test the snap on 14.04, but it should work there as well (just make sure you have snapd installed).

omhafez commented 7 years ago

Thank you mardy, I was trying both ways, as you saw in the other thread. I appreciate your help!

gauravm043 commented 7 years ago

Hi @omhafez @mardy I am facing exactly the same problem with meshlab on my ubuntu 14.04 , everything is there in meshlab except 'Screened Poisson Surface Reconstruction filter' , I also installed it using snapd , same thing with that also , any ideas on how to solve it? . Thanks

omhafez commented 7 years ago

@gauravm043 You must not be on the most up-to-date version. Also, make sure you are calling the version of meshlab downloaded from snap and not potentially a different version you have installed on your system. The following should pop open the patched GUI with the desired filter: sudo snap refresh meshlab /snap/bin/meshlab

Screened Poisson Surface Reconstruction is the last filter under Filters --> Remeshing, Simplification and Reconstruction

gauravm043 commented 7 years ago

Oh @omhafez yeah it seems I was calling a different version (installed by apt-get) , I installed it again after deleting previous meshlab's, now it works :) . Thank you

omhafez commented 7 years ago

I would argue that using snapd does not solve this problem, but rather is a workaround. Can we please keep this open until it is possible to use Screened Poisson Surface Reconstruction when building from source?

cignoni commented 7 years ago

@omhafez can you try to describe exactly the procedure you are following to build meshlab? And, eventually, just for curiosity, why are you building it instead of using the distributed binary? are you going to contribute someway?

omhafez commented 7 years ago

@cignoni: I actually came across errors building on my own system, so I build using a PPA: sudo add-apt-repository ppa:zarquon42/meshlab sudo apt-get update sudo apt-get install meshlab I spoke to the owner of this PPA and he says there are no build errors on his end either. Yet, Screened Poissson Surface Reconstruction is not available.

Regarding your second question: I ultimately would like to use meshlabserver on the Ubuntu Bash application on Windows 10, and snaps do not work on it that system for me.

As an aside, do you have intentions of updating the apt-get version of meshlab to 2016.12 for Ubuntu 14.04? That would solve all of my problems!

Thanks! Omar

cignoni commented 7 years ago

We do not have resources (and capabilities :) ) for actively maintaining the linux packages, but we welcome any help in that direction. For the snaps we rely on the help of @mardy (thx!) In your case you were using the Personal Package Archive of @zarquon42b, I see that on his repo that his fork ( https://github.com/zarquon42b/meshlab ) is a bit behind the 2016.12 release, probably it is just matter of waiting the next version of his ppa...

mcallieri commented 7 years ago

The problem of the Poisson filter not showing is probably not a compilation issue, but a post-linking missing step. there is an XML file in the filter code that has to be moved to the "plugins" folder after compiling. You should be able to manually moe it to see if this is the case. We should include this step in the PRO file of the filter. (so, it is probably our fault) btw, there are other filters with the same issue, like filter_func

mcallieri commented 7 years ago

and, sorry for being the bearer of bad news, but the MeshLabServer has some open issues, that we will try to resolve before the release of the next version (hopefully soon).

omhafez commented 7 years ago

@mcallieri @cignoni No problem, thank you both for your swift responses!

omhafez commented 7 years ago

@mcallieri copying src/meshlabplugins/filter_screened_poisson/filter_screened_poisson.xml into the plugins directory after build worked for me

zarquon42b commented 7 years ago

@omhafez The fixed package has been uploaded (https://launchpad.net/~zarquon42/+archive/ubuntu/meshlab/+packages) and will be available in an hour or so.

cignoni commented 7 years ago

thanks @zarquon42b!

@zarquon42b let us know if you are interested to keep the installation parafernalia needed to build the PPA directly on the meshlab repo (just like the snapcraft files) so that the process could be more streamlined...

zarquon42b commented 7 years ago

Are there already snapcraft binaries available? This would make the PPA for newer Ubuntu versions obsolete.

cignoni commented 7 years ago

yes https://uappexplorer.com/app/meshlab.cnr-isti-vclab

zarquon42b commented 7 years ago

Awesome, as there is a backport of snapd to 14.04 (http://www.omgubuntu.co.uk/2017/02/install-snap-apps-ubuntu-14-04), this should make my PPA obsolete. You should promote this more intensely! BTW: the desktop files seem to missing when installing the snap-package, so you need to run it from terminal.

omhafez commented 7 years ago

@zarquon42b thank you, the Screened Poisson Surface filter now works

mcallieri commented 7 years ago

so, compiling from the .PRO file is now working? the XML is copied automatically after linking?

zarquon42b commented 7 years ago

@mcallieri Yes, it is working now.

mcallieri commented 7 years ago

thanks

omhafez commented 7 years ago

@zarquon42b, @mcallieri:

Unfortunately this error has reappeared for me. To refresh your memories:

I build Meshlab 2016.12 on 64-bit Ubuntu 14.04 from @zarquon42b's PPA. As much as I'd prefer to use the snap version, I ultimately need to use this on the Linux subsystem on Windows 10, which does not support snaps. The following error I will describe is on a native Linux system though.

I install the PPA like so:

sudo add-apt-repository ppa:zarquon42/meshlab
sudo apt-get update
sudo apt-get install meshlab

I run the following from command line: meshlabserver -i ptcloud.ply -o surface.ply -s screen.mlx where ptcloud.ply is a point cloud, and screen.mlx looks as follows:

<!DOCTYPE FilterScript>
<FilterScript>
 <xmlfilter name="Screened Poisson Surface Reconstruction">
  <xmlparam value="0" name="cgDepth"/>
  <xmlparam value="false" name="confidence"/>
  <xmlparam value="12" name="depth"/>
  <xmlparam value="5" name="fullDepth"/>
  <xmlparam value="8" name="iters"/>
  <xmlparam value="4" name="pointWeight"/>
  <xmlparam value="false" name="preClean"/>
  <xmlparam value="1.5" name="samplesPerNode"/>
  <xmlparam value="1.1" name="scale"/>
  <xmlparam value="false" name="visibleLayer"/>
 </xmlfilter>

 <filter name="Change the current layer">
  <Param tooltip="The name of the current mesh" type="RichMesh" value="0" name="mesh" description="Mesh"/>
 </filter>

 <filter name="Delete Current Mesh"/>
</FilterScript>

Yet, I get the following error in the output:

Apply FilterScript: '/home/omar/projects/shabaka/reslt/sphere/screen.mlx'
FilterScript
Reading filter with name Screened Poisson Surface Reconstruction
Starting Script of 1 actionsfilter: Screened Poisson Surface Reconstruction
LOG: 1 WARNING! The MeshLab Script System is able to manage just the C++ XML filters.
Problem with filter: Screened Poisson Surface Reconstruction

Interestingly, the filter does show up and does work fine in the GUI though.

And worth noting @mcallieri, filter_screened_poisson.xml now already exists in /usr/lib/meshlab/plugins after installing from the PPA, which probably explains why it shows up the GUI now. But I am interested in using the filter from the command line and the error in the previous comment still persists..

Any suggestions? It's not clear to me whether something has changed or I did not correctly test it when we last discussed. I also want to emphasize that this exact procedure works with the snap version of Meshlab 2016.12 on native Ubuntu, on MacOS Sierra, and even on Windows 10 using PowerShell.

Thanks, Omar