Closed SeSodesa closed 1 year ago
Thanks to @JoonasJL for testing the Ary model case. The discovered bug related to loading ZefSourceModels
from .mat
files should probably be fixed before merging. We need to define a loadobj
method for the class.
Thanks to @JoonasJL for testing the Ary model case. The discovered bug related to loading
ZefSourceModels
from.mat
files should probably be fixed before merging. We need to define aloadobj
method for the class.
This has now been resolved. See the edits in the opening message.
This pull request (once marked as ready) re-organises and removes folders and files, to make the Zeffiro Interface project structure a bit more user friendly. The aim is to reduce clutter in the top-level folder, while making certain folder names more descriptive.
For now, the following changes are planned:
+core/
for core functionality, that needs to be available to other packages even before Zeffiro has been started up, and the required folders have been added to the MATLAB path. Also, some Zeffiro Scripts were written usingeval
, which prevents placing local functions at the ends of those script files, which requires placing them here. The+import/
and+gui/
folders, and the type definitionZefSourceModel
were moved here.+examples/
folder is now the canonical location for any examples of Zeffiro use. Since studies made with Zeffiro are also examples of its use, the folder+examples/+studies/
houses studies that have been made with Zeffiro, which makes repeating the experiments easy from the command line without adding anything to the path or starting up Zeffiro beforehand. For example, the code used to generate the results of https://doi.org/10.48550/arXiv.2308.04908 are in+examples/+studies/+santtus_peeling_article/
.+utilities
is now the place for any miscellaneous helper functions, that might or might not be related to Zeffiro Interface core functionality. For example, the folder+utilities/+cluster/
now houses the functions and instructions related to sending MATLAB jobs to the CSC supercluster.+mri2mesh/
is moved under the folder+utilities/+fs2zef
, and its main function is renamed fromfs2zef
torun
, to make it obvious which function starts the MRI-to-mesh transformation. The program is now started withutilities.fs2zef.run(args)
. Other import scripts are also transferred with the same name patternutilities.format2zef
, whereformat
is the program format from which data is imported to Zeffiro-importable form.external/
are now all converted to Git submodules, and the file.gitmodules
contains all of the necessary information, such as paths and startup scripts required to install them. The functionzeffiro_setup
now relies on this file being in the correct format, since it parses the file for submodule installation information.scripts/
folder has mostly been emptied, and now contains a notification inscripts/README.md
of its intended purpose. Any functionality previously in this folder has been transferred to one of the new package folders. For example, the example segmentation generated by FreeSurfer is now in thedata/segmentations/
folder, since it is mainly data and not code.zef.source_model
fields indata/example_projects/{ary_sphere_project,multicompartment_head_project}.mat
to reflect the new location ofZefSourceModel
in the+core
folder. The asteroid projects should be unaffected, as thesource_model
fields were saved into them as plain integers.+zeffiro/
was removed, as it was completely unnecessary and unused.Since this pull request is mainly related to moving existing content to more sensible locations and making it work if it didn't, very little was actually removed, unless deemed completely unnecessary. Legacy content, such as the
fig/
folder might be removed in a separate update.Closes #244.