QDECR

Project

Changelog

What changed in each release of QDECR, newest first, from the NEWS file that ships with the package.

On this page

0.9.0 Lausanne

Version 0.9.0 is the first update after publication of the QDECR manuscript in Frontiers in Neuroinformatics. The latter is based in Lausanne, Switzerland. This version introduces weighted regression and a number of minor tweaks.

New features

  • #47: qdecr_fastlm can now take weights via the weights argument, which act as observation weights in the linear regression. This argument works similar to lm (addresses #36).

Bug fixes

  • #43: The specified number of cores is checked against bigstatsr::nb_cores (inside QDECR:::check_cores). However, it seems that it returns 0 cores when only 1 core is found (given that it always omits 1 core). We thus rewrote check_cores to use parallel::detectCores, and to make sure that it cannot return 0 cores (fixes #42).
  • #43: Fixed the text in the error message of QDECR:::check_cores.
  • #45: Unsmoothed q-cached surface files can now be analyzed. Normally, QDECR would look for files containing fwhmX, where X is the FWHM in mm. However, unsmoothed files do not contain this part. The code was rewritten to check if fwhm == 0, and in those cases it will not insert that into the file names. This was fixed by setting fwhmc to “” in QDECR:::qdecr_check, and by tweaking QDECR:::qdecr_prep_mgh (fixes #41).
  • #51: Added an extra check to avoid multiple levels of parallelism, e.g. n_cores > 1 while simultaneously having a parallel BLAS library set up.
  • 40f04d4: Added some functions to the NAMESPACE (stats::na.fail, stats::model.weights).
  • 8f19d58: Since 4.0.0 it is possible to get a warning message from readChar. The load.annot function was modified by replacing readChar with the equivalent call of readBin.

Minor tweaks

  • #46: Tweaked the vertex-wise analysis code (QDECR:::analysis_chunkedlm) to be faster and be more memory efficient (se is now calculated without the intermediate storage of s2) (addresses #38).
  • 306826c: Added an extra check in QDECR:::qdecr_prep_mgh so that it also checks whether the .mgh files actually exist. It will output which subjects are missing the surface files (if N < 20) or just say that people are missing surface files (if N >= 20). This adds a little bit of runtime, but it pays off (fixes #34).
  • 26ac549: When there is missing data in the design matrix, QDECR:::qdecr_fastlm will throw an error (i.e., na.action = na.fail). This is to avoid problems downstream. We opted for na.fail and not na.omit-like behavior, because users who are unaware of missingness would then only find out after running QDECR that they had missingness.

0.8.5

Bug fixes

  • cfc9a35: Fixed a line in check_id to explicitly state drop = TRUE in md[, id, drop = TRUE].
  • 39b6173: Fixed that a call to model.matrix would supply stats::contrasts in prep_fastlm; this led to harmless warnings.

Minor tweaks

  • 5043753: To let users analyze custom surface maps, we added the custom_measure argument to qdecr_fastlm. This argument lets users specify any name for a surface map that they want, provided that [1] it starts with “qdecr_” (e.g. “qdecr_test”), [2] such a file is located in the subj subdirectory of the FreeSurfer output directories, [3] the surface files follow the same naming convention as the other surface maps that FreeSurfer outputs (e.g. “lh.test.fwhm10.fsaverage.mgh”).

0.8.4

Bug fixes

  • 20d3be2: Fixed that the model output files (p.mgh, t.mgh, etc) also contained the mcz threshold (e.g. cache.th30).
  • 18c9de8: Lots of comments removed/modified, and code was cleaned up a bit.
  • 015d8a1/e0aa3fe: Wrote in a preventative stop for when dir_out_tree = FALSE and clobber = TRUE are combined. This can easily delete important directories unintentionally, as has happened to the authors.

Minor Tweaks

  • e7adb17: Added the file_out_tree argument, which controls whether output files also contain the full project name. By default, it is the inverse of dir_out_tree.
  • 077e4fd: Fixed a lot of the documentation.

0.8.3

Minor tweaks

  • f019f81: The mcz_thr argument (for qdecr and qdecr_fastlm) now accepts: 13/1.3/0.05, 20/2.0/0.01, 23/2.3/0.005, 30/3.0/0.001, 33/3.3/0.0005, 40/4.0/0.0001.
  • f019f81: A new function qdecr_mcz_thr makes sure that the value is converted to 13/20/23/30/33/40.

0.8.2

Bug fixes

  • 6638efb: The fst package was noted as imported package, but we never implemented functionality from it. Thus, all reference to it was removed.

New (minor) tweaks

  • 3d479f4: The version is now properly displayed when running qdecr. This version is updated dynamically using packageVersion("QDECR"). The website (www.qdecr.com) was also added.
  • 95a4d90: Exported load.annot and the qdecr_read functions.
  • fa3de94: Renamed the internal runMriSurfCluster function to run_mri_surf_cluster.

0.8.1

Bug fixes

  • e86d2e1: If the estimated smoothness is below 1, we now increase it to 1 to avoid problems down the line.
  • 04fcd1b: Fixed a bug in qdecr_clusters where it assumes that there is always at least 1 cluster significant.
  • 251e668: “w-g.pct” files can now be used as a measure by specifying “qdecr_w_g.pct” (underscore instead of hyphen) (fixes #19).
  • dc81b89: Added fwhm argument to qdecr_fastlm, which was missing before (fixes #18).

New (minor) features

  • 4f024f3: Added cwp_thr argument to qdecr_fastlm and qdecr to set the further cluster-wise p-value adjustment (default is 0.025 due to having 2 hemispheres, thus 0.05 / 2) (fixes #23).
  • 08ae63b: Automatically output two extra files: “significant_clusters.txt” (the output of summary(vw, annot = TRUE)) and “stack_names.txt” (the output of stacks(vw) and the corresponding stack numbers) (fixes #17).
  • 11e2f55: Modified freeview and qdecr_snap. The mask argument is now called sig. Furthermore, the ranges for the overlay colors are determined dynamically. Finally, users can now set any arguments to Freeview for manipulating surface files (see freeview --help on the command line) (fixes #20).

0.8.0 Momo

Version 0.8.0 is the first update after public release. It fixes a bunch of mistakes, introduces further modularization, improves the speed and also reduces the RAM load.

New functions and features

  • #2: Added the input argument dir_target, so that the target can be specified flexibly (fixes #1).
  • #4/#6: Modularized qdecr_model and added the input argument prep_fun, so that users can choose and create their own prep functions (fixes #3).
  • #10: Modularized qdecr_analysis and added the input argument analysis_fun, so that users can choose and create their own analysis functions.
  • #10: The internal function to run vertex-wise analyses, called vertexwise, now processes regressions in chunks, i.e. more than 1 vertex at a time. This has led to a considerable upgrade in speed, especially for smaller datasets. Chunk size can be controlled with chunk_size (fixes #7).

Bug fixes

  • #10: We removed lots of unnecessary dependencies.
  • #10: We fixed the referencing to the default mask.

0.7.0 OHBM

Version 0.7.0 is the first version that is publicly released. It is also the version that was presented at OHBM 2019 and was thus named “OHBM”. As we do not have any formal news for versions before 0.7.0, we will keep it brief.

New functions and features

  • Creation of the QDECR package (before 0.7.0 it was a series of associated scripts)
  • Creation of the vw object and associated functions
  • Handling of imputed datasets (via imp2list)
  • Creation of all summary and plot functions
  • Creation of the stack concept