The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
brainstructures to
"existing" (rather than all or just cortex).impute_xifti: Add this function which imputes values
based on nearby locations.newdata_xifti and as.matrix: Add
subcortex_by_bs argument.make_xifti: Allow character input for intent.convert_xifti: Keep old names and labels if
present.match_exactly.move_to_submask and move_from_submaskread_cifti all brain structures,
instead of left and right cortex onlyMinor fixes and improvements.
ciftiTools now has a couple functions which make working
with parcellations easier. (A parcellation is a single-column dlabel
CIFTI or "xifti" object. Each label level, or “Key”,
represents a “parcel.” Each location belongs to exactly one parcel.
Parcels are usually contiguous regions–but not necessarily.
ciftiTools includes a few of the most commonly-used
parcellations. These can be loaded with load_parc. Any
other parcellation CIFTI file can be read in with
read_cifti.) * apply_parc: Apply a
parcellation "xifti" to a data "xifti". Can be
used to compute the mean of each column, e.g. for FC calculation, but
also supports applying any other function parcel-wise. *
parc_vals_to_xifti: Create a "xifti" from a
parcellation and a numeric matrix of values corresponding to each
parcel.
Other new functions: * remap_cifti: an extension of
resampling. Beware, we might revamp this function in the future. *
surf_area: computes the surface area attributable to each
vertex or face of a "surf" object.
Changes to existing functions: * convert_xifti,
convert_to_dlabel: arguments related to levels & labels
have been renamed to match factor more closely. *
separate_cifti and write_xifti2: now require
users to provide either the write_dir argument, or file
names for each desired output file. This gives users more flexibility to
control which files are written. * view_xifti qualitative
color legend: add black outline. * view_xifti,
view_volume: print out indices of the selected subcortical
slices. * unmask_subcortex: now expects xifti
input. If necessary, use the internal function
ciftiTools:::unvec_vol to unmask a numeric matrix
directly.
Bug fixes: * view_xifti: fix bug where legend image was
still written if legend_fname=NULL.
13.1 also includes misc. documentation and warning improvements.
New features * Proper writing out of dlabel CIFTI data.
Fixed problems if multiple columns or with subcortical data. * Add
even_vert_samp. * Add apply_parc. * Add
set_names_xifti. * Add NA_color argument to
view_xifti_surface. * Add shadows argument to
view_xifti_surface. * mask_surf takes in a
"surf" object now. * Misc. documentation and warning
improvements.
Changes to default behaviors * Add crop to
view_xifti_volume; the default is TRUE.
Previously the subcortical images were cropped to the anatomical image;
now the default is to crop them to the data. * Change default of
orientation_labels in view_xifti_volume to
TRUE. * Allow NA and NaN values
in "xifti" objects with label data. Leave these values
alone rather than making them into factor levels. * Add warning if
surface data are being upsampled * Delete helper file surfaces written
by smooth_cifti rather than returning their file paths.
New features * Add adaptive resampling for surface data. The default
remains barycentric. * Add surface manipulation functions from
BayesfMRI. * Allow xii + mat (and other
operations) * Add scientific argument to
view_xifti. By default, scientific notation is determined
automatically (as before). * Misc. patches
Documentation * Add lit vs unlit comparison to README * Improved citations
New features * Add convention and orientation_labels to view_xifti_volume (default: neurological, instead of radiological as it’s been previously) * Add together_ncol to view_xifti_* to control compositing layout * Add fname argument to view_comp to save the result to a PNG file * Allow “xifti” objects to have different resolutions in the left and right cortex * Add citation to welcome message
Behind-the-scenes improvements * Better file path management for system commands * Better use of S3 group methods for Math, Ops, Summary functions * Replace coveralls with codecov * Misc. patches
"xifti" metadataremove_xifti can delete individual subcortical
structures nowscale_xifti which works like
scaleview_comp, and the argument together
to view_xifti_surface and
view_xifti_volumeview_xifti_surface and
view_xifti_volumetrans_units to subcortex metadatawrite_cifti_components as
write_xifti2 and export"xifti" objectsvox_locations and
edit_mask_surfview_xifti_volume! Added tests for it.plot will now show both the cortex and subcortex, if
both are present. The plots will share the color mode, color palette,
and zlim.summary/print for
"xifti" objectsread_xifti_surfaceread_cifti_convert where surfaces are not
includedciftiTools.files back to a function,
ciftiTools.files(), because the latter doesn’t actually
workrgl.useNULL() in view_xifti_surfaceunmask_vol to unmask_subcortexNew interface for reading in data included in the package
ciftiTools.files replaces demo_files().
This variable is created in the user’s environment upon
library(ciftiTools) with lazy loadingciftiTools.files will only contain the inflated
surface. To import the other two surfaces, use load_surf().
Removed the "surf" option from
ciftiTools.setOption.Better handling of surfaces
add_surf will automatically resample the surfaces if
neededread_surf has the argument resamp_res to
enable resampling upon reading in the surface, similar to
read_xiftinewdata_xifti will accept a length-one vector, to
create a constant-valued "xifti" ## Notes for
developers
ciftiTools.data contains the surfaces and
parcellations building blocks, and the HCP 32k medial wall
ciftiTools.setOption("surf", ...) The default surface is
still very inflated, but different.load_parc.apply_xiftimove_to_mwall and move_from_mwallidx argument to read_xifti and related
functions... argument to transform_xiftiwrite_surf, an alias for
write_surf_giftifix_xifti, which ensures xifti$data
entries are matricesview_xifti_surfacemake_surf is now an alias for read_surf,
instead of the other way aroundconvert_xifti accepts CIFTI files tooas.matrix S3 methodview_xifti_volumeNone # 3.0 (June 13, 2021)
concat_xifti as merge_xiftigifti_to_surf as read_surfcombine_xifticonvert_xifti and make the individual conversion
functions (e.g. convert_to_dlabel) internalsmooth_gifti for metric GIFTI smoothingdim for xifti objectslegend_alllevels arg to
view_xifti_surfaceview_xifti_surfacewrite_xifti will infer the intent/extension if not
included in output file name ## Notes for developersNone
None
run_ciftiTools_tests.R to
.RbuildignoreciftiTools.setOption call,
and never afterwardresample_cifti and read_ciftiview_xifti_surface!transform_xifti improvementsremove_xiftirotate_surf, select_xifti and
concat_xiftisurface_sigma with surf_FWHM and
likewise for volumeview_xiftifields and rgl from Suggests to
Imports.wb_path argument. (Use
ciftiTools.setOption("wb_path", "path/to/workbench"))transform_xifti to apply unary functionsexp(cii) / 5 + cii2newdata_xifti to substitute datasmooth_cifti
xifti directlycifti_target_fname is optional to
smooth_cifti; will be auto-generated if
NULLciftiTools package
if not provided to smooth_cifti when corresponding cortex
data existsview_xifti_surface
surface class to surfas.xifti
run_ciftiTools_tests.R (and add to
.Rbuildignore)ciftiTools.listOptions and
ciftiTools_msggifti_to_surf an alias to
make_surfview_xifti_surface when more
than one idx is requested!
mode argument with interactive
argumentidxview_xifti_surface
view_xifti_volume
papayar)mwall_values to relevant functions.
NA and NaNNULL to not infer the
medial wall from the dataTransformationMatrixIJKtoXYZ in CIFTI
filessform codes in NIFTI filesdlabel and dscalar)RNifti instead of
oro.nifti*.dlabel.nii filescifti_fname in read_cifti optional
(can read in just the surfaces)dlabel to dscalar (and
add warning, because it’s probably something you don’t want to do)make_subcortinfo_cifti_raw into header_cifti and
xml_ciftiremove_xifti,
expect_equal_xifti and fix_gifti_mwallview_surf is now a wrapper to
view_xifti_surface instead of being its own functionutils_color.ROY_BIG_BL have an extra value to fix legend
range.view_xifti_surfaceas.xifti(surfL=surfR_gii) will
cause an errorrgl and fields to Suggestsdlabel.nii filessmooth_ciftiresample_cifti_from_templateplot(xii) is called
without any surface or subcortical dataview_xifti_surface improvements:
dlabel.nii file (intent 3007)view_xifti_volume improvements:
num.slices argument... for additional argumentsview_surface for "surface"
objectssummary and plot methods for
"surface" objectswritegii)view_xifti_surface defaultsview_xifti_volume without structural imageTRUE while others
returned a list or data.frame of written file
paths"xifti" from GIFTI and NIFTI files. Previously, if
a mask was not provided then constant 0, NA,
or NaN values were deemed out-of-mask. Now,
ciftiTools uses ROI files to keep track of the out-of-mask
values in read_cifti_separate and
resample_cifti, and requires the masks to be explicitly
provided in as.xiftimake_surface as make_surfis.surface as is.surfside argument as hemisphere
argument (same choices: "left" or
"right")readCIfTI and
readcii for read_cifticiftiTools:
https://www.nitrc.org/frs/download.php/8541/cifti-2_test_data-1.2.zipwrite_xifti_components as
write_cifti_componentsmetric_resample and
surface_resample (use resample_gifti
directly)make_helper_spheres as
write_spheres, and do not export itunmask as unmask_vol (to
distinguish from unmask_cortex)data-raw from R package buildgifti > 0.7.5onAttach and .RbuildignoreIt will be located here: https://htmlpreview.github.io/?https://github.com/mandymejia/ciftiTools/blob/master/vignettes/ciftiTools_vignette.html once we push to master. Until then, replace “master” with “1.4”
"xifti" object: can be made from CIFTI file,
GIFTI surfaces, or new data
"xifti" from data:
as.xifti(...)"xifti" from a CIFTI file:
read_cifti(cifti_fname)"xifti" from a GIFTI surface:
as.xifti(surfL=make_surf(surfL_fname))read_cifti_flat now uses XML metadata directly (but
still obtains XML via Connectome Workbench)
.dtseries.niiwrite_surf_gifti and write_metric_gifti as
wrappers to the new gifti::writegii
damondpham/gifti but this will
hopefully be merged to main repo soonwrite_subcort_nifti to write out subcortical components
from "xifti" to a NIFTI filewrite_cifti can also write the surfaces attached to the
"xifti""xifti" objects can contain surfaces without any data.
view_xifti_surface can view a surface without any data:
plot(as.xifti(surfL=left_surf))resample_surf to resample a surface objectread_cifti_flat and
read_cifti_separate"cifti" object.
unflattening functions.write_ciftiMost of the functions were renamed. In general,
cifti_[action] is now [action]_cifti. So to
open and visualize a CIFTI file, one would use read_cifti()
followed by view_cifti(). To save a resampled version of a
CIFTI file, one would use resample_cifti().
Arguments were also renamed for consistency across functions:
_fname
instead of beginning with fname_.surf_L or cortex_left,
are now cortexL (likewise for right).gifti_left or
surf_left, are now surfL (likewise for
right).sphere_L, is now
sphereL (likewise for right).sphere_orig_L is now sphereL_original
(likewise for right; likewise for other original files).sphere_target_L is now sphereL_target
(likewise for right; likewise for other target files).target_res or
resample, is now resamp_res.wb_cmd is now
wb_path.outdir is now write_dir.There are a few new functions:
read_cifti_flat() reads the cortical and surface data
together as a single matrix.
read_cifti().-cifti-convert -to-gifti-ext.flatten_cifti() converts a "cifti" object
to this same matrix.read_cifti() with flat==TRUE will call
read_cifti_flat().make_xifti() creates a "cifti" object from
its components.
view_cifti() plots the CIFTI data.
view_cifti_surface() unless no cortical data
exists, in which case it will try view_cifti_volume().view_cifti_surface() was rewritten using the
rgl package directly.And, a few new arguments:
sep_keep and resamp_keep indicate whether
separated or resampled files should be deleted after reading in the
CIFTI data (read_cifti()) or writing the resampled CIFTI
file (resample_cifti()). Their default values are
FALSE. in which case these files are written to a temporary
directory (regardless of write_dir).sep_fnames and resamp_fnames can be used
to set the file names for the respective files made by
read_cifti and resample_cifti.
cifti_component_suffix.Other updates:
separate_cifti()
and resample_cifti() if verbose==TRUE.ciftiTools.setOption('wb_path', 'path/to/workbench').
"cifti" object does not support ROIs, so they are
ultimately not loaded.
make_xifti() (haven’t tested this yet).EPS. Set it
with ciftiTools.setOption("EPS", 1e-8). This is used by
view_cifti() and flatten_cifti() to detect
constant zero brainordinates.readCIfTI() and
readcii() for read_cifti().plot() method for "cifti" objects.overwrite and make_helper_files
arguments were removed. All functions will overwrite existing files, and
this cannot be changed."cifti" object will only support one surface geometry
model at a time.
view_cifti() can accept a surface GIFTI file
directly.left and
right only (excludes the subcortical data).oro.nifti::readNIfTI() with
RNifti::readNifti() for faster reading of subcortical
data."cifti_surface", "cifti_subcortical",
"cifti_cortex", "cifti_volume" and
"cifti_label".read_separate_cifti() with
read_cifti(), which calls separate_cifti(),
resample_cifti_components() (optionally), and
make_xifti() in that order.resample_cifti(). The new version calls
separate_cifti(), resample_cifti_components(),
and then uses a template to create the new CIFTI file. (The first half
is nearly identical to read_separate_cifti().)rox_args_docs.R. Use @inheritParams to
reference these descriptions. This should make maintaining them across
the entire package easier.separate_cifti_wrapper() and
resample_cifti_wrapper() to avoid duplicate code across
read_cifti() and resample_cifti(). These
should not be used by end-users, so they are not exported.utils.R for general
functions and utils_cifti.R for CIFTI-specific
functions.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.