Qdec Project file format

When Qdec runs an analysis, it uses an input data table and subject data to create results that map onto an average subject. The Qdec Project file format (.qdec format) is an archive of all the data necessary to display those results and be portable so that it can be copied to another computer. Historically, to transfer Qdec results, the receiver must have their SUBJECTS_DIR set up properly, with the same average subject as the originator. This format makes those dependencies unnecessary.

A .qdec file is just a zip compressed archive containing specific parts of the average subject data, the Qdec-generated data, the data table, and some metadata. It has this format:

    $ProjectName.qdec.working/
                              $Subject/surf/{r,l}h.{curv,inflated,pial,white}
                                       label/{r,l}h.aparc.annot
                              $AnalysisName/*
                              $DataTable 
                              QdecProjectMetadata.txt
                              Version.txt

The Version.txt file simply contains a version number. The QdecProjectMetadata.txt contains key/value pairs that libqdecproject uses to initialize its classes. Version 1 contains the following keys:

The file is read with the QdecProject::LoadProjectFile() function. The .qdec file is expanded into a working directory (/tmp by default) and then a dummy QdecGlmResults object is created with the parameters in the QdecProjectMetadata.txt file. This is passed to Qdec to load the analyzed data as it would normally. A file can be saved with the QdecProject::SaveProjectFile() function.

A sample file can be found at ~kteich/work/TestProject.qdec.

Note that because the expanded directory name is based on the project file name (and vice versa), the project file cannot be renamed after it is created. It can, of course, be loaded into Qdec, and then saved with a different name.