The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
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[@]metanet.ch.
NeuroVecSeq now supports matrix conversion and dense
coercion helpers for easier interoperability with standard matrix
workflows.NeuroVec now supports optional per-volume
volume_labels() metadata across dense, sparse, mapped,
file-backed, bigvec, and NeuroVecSeq backends.vec[["label"]], with strict unique-match semantics, and
sub_vector() now accepts character label vectors.write_vec() now round-trips per-volume labels through a
custom NIfTI extension; read_vec() and low-footprint
readers restore labels on load.read_vec(), read_vol(), and
read_image() documentation.NeuroVec label inference for lists of
NeuroVol inputs and refreshed the generated documentation
for volume_labels() and related extractors.NeuroVec now supports optional per-volume
volume_labels() metadata across dense, sparse, mapped,
file-backed, bigvec, and NeuroVecSeq backends.vec[["label"]], with strict unique-match semantics, and
sub_vector() now accepts character label vectors.write_vec() now round-trips per-volume labels through a
custom NIfTI extension; read_vec() and low-footprint
readers restore labels on load.NeuroVecSeq, and NIfTI label
round-tripping.NeuroSpace() to derive spacing() and
origin() from the affine matrix when constructed with
trans=. Previously, spacing() returned
(1,1,1) for spaces created from an explicit affine.drop_dim() for 3D-to-2D NeuroSpace
objects to properly subset the affine matrix, preserving spatial
transforms instead of lossy reconstruction from spacing/origin.crayon with cli for all
user-facing output. The cli package provides structured
error messages, progress bars, and consistent ANSI formatting.assertthat with cli::cli_abort()
across all 253 assertion sites, providing richer error messages with
argument and class markup.vdiffr to Suggests for visual regression
testing.show() methods now use a unified formatting
style via internal
show_header()/show_rule()/show_field()
helpers.show() methods for DenseNeuroVol and
NeuroSpace (previously had no informative display).random_searchlight() and
searchlight(eager=TRUE) now display a cli
progress bar in interactive sessions.normalize_mask() internal helper consolidates
duplicated mask-coercion logic.NeuroSpace test suite (26 tests) covering
construction, coordinate transforms, affine operations, and dimension
manipulation.vdiffr plot snapshot tests (7 tests) for
plot(), plot_ortho(),
plot_montage(), and plot_overlay().make_vol(), make_vec(),
make_mask(), etc.).@rdname method families, reducing man
pages from 276 to 265.downsample() for DenseNeuroVol and
DenseNeuroVec so output NeuroSpace objects now
carry a correctly rescaled affine transform. Previously, voxel
dimensions could change while trans() still reflected the
pre-downsample grid.plot_overlay() gains an ov_alpha_mode
argument: "binary" (default, existing behaviour) applies a
uniform alpha to thresholded pixels, while "proportional"
scales per-pixel alpha by the absolute overlay value for smoother
blending. Internal helpers matrix_to_colors(),
matrix_to_rgba(), and matrix_to_raster_grob()
now accept an alpha_map argument to support this.R/axis.R: new
helpers .default_axcode_labels(),
.validate_ornt(), ornt_transform(),
inv_ornt_aff(), apply_orientation(),
flip_axis(), io_orientation(),
axcodes2ornt(), and ornt2axcodes() provide a
comprehensive NiBabel-compatible orientation API.ClusteredNeuroVec
vignette: searchlight values() dimensions were documented
as N x T but are actually T x N (time points x neighbors).albersdown dependency from vignette setup
chunks; all vignettes now use neuroim2::theme_neuro()
exclusively..ecosystem.yml to .Rbuildignore to
silence hidden-file NOTE.deoblique() for
NeuroSpace/NeuroVol, with
gridset/newgrid controls and default isotropic
grid spacing equal to the minimum input voxel size.
NeuroVol inputs are resampled to an axis-aligned deobliqued
target space.plot(NeuroVol) and plot(NeuroSlice)
memory blowups for oblique/sheared affines by rasterizing on pixel-grid
coordinates instead of world-coordinate grids; added regression tests
for oblique affine plotting.read_hyper_vec() reader returns NeuroHyperVec;
read_image(type = "auto") now dispatches to
NeuroHyperVec for 5D inputs (with optional spatial
masking); and write_vec() now supports
NeuroHyperVec so 5D NIfTI read/write round-trips are
supported.write_vec() affine round-trip regression: NIfTI
sform (direct affine) is now preferred over qform (quaternion-derived)
on read, matching the convention used by FSL, FreeSurfer, and ANTs.
Previously, the sform was silently replaced by the qform, causing
world-coordinate drift for vector fields and warp images.as_nifti_header() to derive qoffset
from the transform matrix translation column, ensuring internal header
consistency between quaternion parameters and the sform.NeuroSpace affine precision from 6 to 7
significant digits, matching NIfTI float32 precision and reducing
cumulative round-trip truncation.affine_to_orientation(),
orientation_transform(), apply_orientation(),
orientation_inverse_affine(),
orientation_to_axcodes(),
axcodes_to_orientation(), and
affine_to_axcodes().output_aligned_space()
(with NiBabel-compatible alias vox2out_vox()) and
slice_to_volume_affine() (alias
slice2volume()), including support for
NeuroSpace/NeuroVol inputs, >3D spatial
handling via first 3 axes, and optional zero-based indexing
compatibility.apply_affine(),
to_matvec(), from_matvec(),
append_diag(), dot_reduce(),
voxel_sizes(), obliquity(), and
rescale_affine(), with stricter validation and
center-preserving affine rescaling semantics.reorient(NeuroSpace, orient) so returned spaces
now carry the requested orientation axes (instead of preserving original
axes).sub_clusters() generic: subset a
ClusteredNeuroVol or ClusteredNeuroVec by
integer cluster ID, numeric, or character name (looked up in the label
map). Returns a new object of the same class containing only the
selected clusters.scale_series() for DenseNeuroVec is now
~10x faster by operating row-wise on the voxels-by-time matrix instead
of double-transposing through base::scale.scale_series() method for
SparseNeuroVec: scales only masked voxels in-place on the
T×K @data matrix, returns 0 (not NaN) for zero-variance
voxels, and stays sparse.as.dense() is now an identity (no-copy) for
DenseNeuroVol.+, -, *,
/, ^) now work for
ClusteredNeuroVol (with a warning that cluster structure is
not preserved) and scalar ops for DenseNeuroVol and
SparseNeuroVol.&, |) and negation
(!) now work across DenseNeuroVol,
SparseNeuroVol, and LogicalNeuroVol, returning
LogicalNeuroVol.>, <, ==,
etc.) for SparseNeuroVol and DenseNeuroVol now
correctly return LogicalNeuroVol instead of raw sparse
vectors or mistyped volumes.NiftiExtension,
NiftiExtensionList) and read_image()
convenience wrapper.Makevars.win to correctly link
TBB libraries from RcppParallel without the non-existent
-lRcppParallel flag.meta_info() helper returns a normalized list of
basic header metadata from a filename or FileMetaInfo (dim,
spacing, origin, trans, path, etc.), making 3D/4D image introspection
simpler for new users.spherical_roi() now cross-links to
spherical_roi_set(); ROI vignette shows multi-ROI
creation.as.matrix.SparseNeuroVec() implementation
(#2).resample_to() wrapper for readable interpolation
names; delegates to existing resample() methods.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.