FYI, if you are using any of the status features, FCSV may not be even saving coordinates correctly.
This is what I have in my scene:
This is what fcsv reports (first and third landmark shouldn’t have any coordinates)
# Markups fiducial file version = 5.4
# CoordinateSystem = LPS
# columns = id,x,y,z,ow,ox,oy,oz,vis,sel,lock,label,desc,associatedNodeID
1,-322.5806451612903,-5.684341886080802e-14,-35.993208828522924,0,0,0,1,1,1,0,crossed,,,3,0
2,-517.4872665534805,-5.684341886080802e-14,122.92020373514431,0,0,0,1,1,1,1,locked,,,2,0
3,-361.6298811544991,5.684341886080802e-14,44.82173174872663,0,0,0,1,1,1,0,editing,,,0,0
this what JSON reports correctly:
"@schema": "https://raw.githubusercontent.com/slicer/slicer/master/Modules/Loadable/Markups/Resources/Schema/markups-schema-v1.0.3.json#",
"markups": [
{
"type": "Fiducial",
"coordinateSystem": "LPS",
"coordinateUnits": "mm",
"locked": false,
"fixedNumberOfControlPoints": false,
"labelFormat": "%N-%d",
"lastUsedControlPointNumber": 3,
"controlPoints": [
{
"id": "1",
"label": "crossed",
"description": "",
"associatedNodeID": "",
"position": "",
"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": "missing"
},
{
"id": "2",
"label": "locked",
"description": "",
"associatedNodeID": "",
"position": [-517.4872665534805, -5.684341886080802e-14, 122.92020373514431],
"orientation": [-1.0, -0.0, -0.0, -0.0, -1.0, -0.0, 0.0, 0.0, 1.0],
"selected": true,
"locked": true,
"visibility": true,
"positionStatus": "defined"
},
{
"id": "3",
"label": "editing",
"description": "",
"associatedNodeID": "",
"position": "",
"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": "undefined"
}