MarkupsLine .fcsv loads as MarkupsFiducials

How do your users use .fcsv files now?

  • They cannot be parsed by standard csv readers because they have an invalid header (multiple lines of non comma-separated values). Do they manually remove the first few lines after each saving? Do they remove those lines programmatically in their analysis scripts?
  • What do they do with the .fcsv curves after saving? They cannot load it back into Slicer as curves, just as fiducials.
  • Is not a problem for them that they end up with as many files as curves? It is so much harder to manage, compare, process models if they are stored across many files. You can easily export many curves, labels, etc. into a single json file.

If your users really want direct csv export from Slicer then they would be probably much better off having a one-click export of standard .csv format (not .fcsv) in your module, rather than trying to make the generic Save data dialog work well for this specific use case.

I think for most other users it would be enough to add an Export/import section in Markups module, which could export/import markups to table and model nodes (similarly to how Segmentations can be imported/exported to labelmap volume and model nodes).

@jclauneuro I know that you use .fcsv files extensively, too. What do you think about switching to json? It would have many advantages, but we would want to ensure smooth transition and backward compatibility with old files.

1 Like