VCell Export code mostly works, but is unwieldy. What once started as a simple export feature has had additional features added in a quick but haphazard manner. Our work in adding N5 export has demonstrated that development with the exporter is slow, due to the difficulty in working with the relevant code base. Even now, Spring salad and N5 do not nicely fit into the existing code, and we are only making our work harder down the line.
Solution
Refactor the code in the Export-relevant part of VCell to simply the design, improve the ability to fix bugs and add new export formats. Not only should this make future development easier, but users should also see a decrease in export time for some formats.
Tasks
Groundwork
[ ] Create Interface for Intermediate Data Holder objects.
[ ] Create Infrastructure for new export service.
[ ] Create Export Strategies.
Client Specific
[ ] Fix bug with Movies not exporting correctly.
CLI specific
Have HDF5 writing use new Export Service rather than current CLI-dedicated export code.
Problem
VCell Export code mostly works, but is unwieldy. What once started as a simple export feature has had additional features added in a quick but haphazard manner. Our work in adding N5 export has demonstrated that development with the exporter is slow, due to the difficulty in working with the relevant code base. Even now, Spring salad and N5 do not nicely fit into the existing code, and we are only making our work harder down the line.
Solution
Refactor the code in the Export-relevant part of VCell to simply the design, improve the ability to fix bugs and add new export formats. Not only should this make future development easier, but users should also see a decrease in export time for some formats.
Tasks
Groundwork
Client Specific
CLI specific
Companion Epics