TheWebMonks / meshmonk

Open mesh-to-mesh registration framework
Apache License 2.0
70 stars 25 forks source link

Eigenvecdtor decomposre on Q failed! #2

Closed marvin521 closed 5 years ago

marvin521 commented 6 years ago

Hi, thanks for the great work.

When I ran the script 'DemoFaceMapping.m', matlab gives me the errors:

Are you ready? Y/N [Y]: Y Started... eigenvector decomposer on Q failed! Q : nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan

xxx shape3D/get.TriHandle (line 76) out = triangulation(obj.Faces,obj.Vertices);% triangulation is a matlab construct that helps in a lot of computations

BTW, I am using OSX, and I have installed all the packages following the instructions except that my eigen version is 3.3.4

jsnyde0 commented 6 years ago

@alorcas can you take a look at this?

alorcas commented 6 years ago

Dear marvin521,

Sorry for my late reply. We are still working on figure out this error and we hope to get back to you asap.

Kind regards

Patricklv commented 6 years ago

I come across the same issue as marvin521 met.

For the rigid registration section, I get warning message "eigenvector decomposer on Q failed!".

For the non-rigid registration section, I get the error message below:

Error using triangulation
The coordinates of the input points must be finite values; Inf and NaN are not permitted.

Error in shape3D/get.TriHandle (line 76)
            out = triangulation(obj.Faces,obj.Vertices);% triangulation is a matlab construct that helps in a lot
            of computations

Error in shape3D/get.VertexNormals (line 106)
            out = vertexNormal(obj.TriHandle);

Error in ShapeMapper/get.FloatingNormals (line 95)
           out = single(obj.FloatingShape.VertexNormals);

Error in ShapeMapper/get.FloatingFeatures (line 99)
           if obj.CorrespondencesUseOrientation, out = [obj.FloatingPoints, obj.FloatingNormals]; return; end

Error in ShapeMapper/map (line 227)
           floatingFeatures = obj.FloatingFeatures;

Error in DemoFaceMapping (line 88)
tic;map(obj);time = toc;

Thank you for your effort.

Regards

jsnyde0 commented 6 years ago

@Patricklv the error is telling you what's wrong: 'The coordinates of the input points must be finite values; Inf and NaN are not permitted.'

So somewhere in the data you're inputting, you've got infinite or NaN values. That's why triangulation fails.

alorcas commented 5 years ago

Dear @marvin521 and @Patricklv,

I have figured out that this error comes from the demoFace file that we have provided. I have updated it and you can find it in the Demo folder.

Best regards

nirajpandkar commented 2 years ago

@alorcas Hi! I am having the same problem and want to remove the NaNs from my 3D object files. Could you share how you went about doing that?

Thank you, Niraj