Skip to content

Incorrect residuals and camera mask with float stored data #386

Description

@TSS-22

Hello,
Using the Sample01 test suite from https://www.c3d.org/sampledata.html, I encounter incorrect values.

Sample01.zip

I uploaded the files just in case, as they are very easy to find on the c3d website 🤡

Those files are the same "file" but encoded using 6 different combination (the 3 processors type x INT16 or FLOAT32 representation). They are therefore expected to have the same values.

When testing quickly with the following script:

from ezc3d import c3d
c_pi = c3d("./Sample01/Eb015pi.c3d")
c_pr = c3d("./Sample01/Eb015pr.c3d")
c_vi = c3d("./Sample01/Eb015vi.c3d")
c_vr = c3d("./Sample01/Eb015vr.c3d")

print(c_pi["data"]["meta_points"]["residuals"][0,0,0])
print(c_pr["data"]["meta_points"]["residuals"][0,0,0])
print(c_vi["data"]["meta_points"]["residuals"][0,0,0])
print(c_vr["data"]["meta_points"]["residuals"][0,0,0])

print(c_pi["data"]["meta_points"]["camera_masks"][:,0,0])
print(c_pr["data"]["meta_points"]["camera_masks"][:,0,0])
print(c_vi["data"]["meta_points"]["camera_masks"][:,0,0])
print(c_vr["data"]["meta_points"]["camera_masks"][:,0,0])

I get the following discrepancy:

5.166666820645332
1503.333378136158
5.166666820645332
1524.6667121052742

[False False False False  True False False]
[False False False False False False False]
[False False False False  True False False]
[False False False False False False False]

Taking from the binaries, if I am not mistaken, the residual value should be 5.166 and the camera mask [False False False False True False False] (which in itself doesn't make any sense, but you know... c3d stuff 🤡 )

The error doesn't appear in the INT stored data but only on the FLOAT one. At the same time the scale factor at X_XX["parameters"]["POINT"]["SCALE"] returns the correct value of 0.833.

Thanks for your library it is very useful!

PS: Out of curiosity, what does the data at c_pi["data"]["points"][3,0,0] represents? I was expecting it to be the residual but it gives back a value of 1.0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions