One control point out of many is read incorrectly into Slicer

I have this mrk.json file that generated from our SlicerMorphR package. When this file is loaded into the scene, control point 121 (alignedPoints-121) points gets undefined (see the screenshot below).

But it is defined in the file.

          "id": 120,
          "label": "alignedPoints-120",
          "position": [4.9336, 11.6169, 0.0273],
          "orientation": "[-1.0, -0.0, -0.0, -0.0, -1.0, -0.0, 0.0, 0.0, 1.0]",
          "selected": true,
          "locked": false,
          "visibility": true,
          "positionStatus": "defined"
        },
        {
          "id": 121,
          "label": "alignedPoints-121",
          "position": [5.6459, 11.6355, 0],
          "orientation": "[-1.0, -0.0, -0.0, -0.0, -1.0, -0.0, 0.0, 0.0, 1.0]",
          "selected": true,
          "locked": false,
          "visibility": true,
          "positionStatus": "defined"
        },
        {
          "id": 122,
          "label": "alignedPoints-122",
          "position": [4.7923, 11.4034, -0.0187],
          "orientation": "[-1.0, -0.0, -0.0, -0.0, -1.0, -0.0, 0.0, 0.0, 1.0]",
          "selected": true,
          "locked": false,
          "visibility": true,
          "positionStatus": "defined"
        },

I am not sure what’s going on or how to debug this. This is with the latest stable. Any pointer is much appreciated.

By setting the Z position value to 0.0, the error message does not appear in the python console. The reader seems to strictly interpret integers and doubles.

1 Like

Good catch, I’ve submitted a pull request with the fix:

1 Like