xyzmatrix<-
can now set list columns containing coordinates in forms like
`list(c(1,2,3), c(4,5,6)) (#485)xyzmatrix2list()
is added to achieve this output format
directlyxyzmatrix()
can now extract coordinates from a 3-vector like c(1,3,5)
(#486)https://github.com/natverse/nat/compare/v1.10.3...v1.10.4
Some new features, speed-ups and bug fixes including from @dokato and @jonmarty. Thanks to @PostPreAndCleft and @artxz for bug reports.
pan3d()
not found (#447)read.hxsurf()
(#445)reroot
function added with support for neuronlist (#463, @dokato).xform()
and xyzmatrix<-()
methods for mesh3d
objectsmesh3d
objects read from ply files by defaultsummary.neuron
now prints number of subtrees (#462, @dokato)xyzmatrix.list()
(#484)c.hxsurf()
method (#482, @dokatowrite.neuron()
and write.neurons()
to put metadata in SWC header simplify_neuron()
in part through new
natcpp package (#472,#473,#474)reroot.neuron()
and reroot.neuronlist()
(#463, @dokato)neuronlistz()
fast access to neuronlists stored as zip files (#456)neuronlistz()
(#468, #466 @dokato)https://github.com/natverse/nat/issues?q=closed%3A2020-09-11..2021-09-20+
This release brings support for reading, plotting and writing 3D surface meshes of neurons into line with the skeleton support. It also includes an essential fix requested by CRAN.
https://github.com/natverse/nat/issues?q=closed%3A2020-02-23..2020-09-11+
c.neuronlist
(#444)print.neuron()
, print.neuronlist()
,print.dotprops()
methods #443xyzmatrix()
for 0 row data.frames (#433)read.hxsurf()
(#431)cmtk.version()
(#430)tpsreg()
(#289)We are bumping a whole version point because of a large number of new functions. Note that 1.10.0 was never formally released.
prune_twigs()
, simplify_neuron()
,
stitching neuron fragments: stitch_neuron()
, stitch_neurons()
, stitch_neurons_mst()
,
thin plate splines registration: tpsreg()
(#423 by @SridharJagannathan)overlap()
which duplicates overlap_score()
(#426)pointsinside()
(#353)xyzmatrix.shapelist3d()
method (#419)xyzmatrix.mesh3d()
should have colnames XYZ (#418)write.neuron()
to set label column of soma when writing SWCs (#415)approx()
call bug (#416)nopen3d()
(#413)xyzmatrix()
, xyzmatrix<-()
andnvertices()
methods for shapelist3d
thereby enabling these rgl objects containing multiple meshes to be
transformed. Currently most relevant when fetching neuroglancer meshes (#419).xyzmatrix.mesh3d()
now has colnames XYZ for consistency (#418)neuronlistfh()
objects.
Apparently due to a change in behaviour in R 3.6.0 (#402).
Thanks to Shanice Bailey and Lisa Marin for the bug report.We are bumping a whole version point because of some changes in the default behaviour of nat. We do not expect to submit this first version in the 1.9.x series to CRAN without further testing, but it is our current recommended version for general use.
Significant changes:
read.neurons will name neurons in the neuronlist that it returns by their filename after removing the file extension. So the neuron read from file "n1.swc" will now be named "n1" not "n1.swc". (#383)
write.swc normalises SWC files to maximise external compatibility. The canonical SWC form gives each point a numbered identifier increasing from 1 to the number of points. However many SWC files in the wild do not respect such an ordering. The new behaviour will result in cases where SWC files will be written out with a different point ordering from earlier versions of nat; nevertheless we prefer this behaviour since it is a source of confusion for new users since many external programs cannot read SWC files where this is not the case. The original behaviour can still be requested (#358).
The use of operators e.g. adding or multiplying neurons by a constant is now provided by the Ops approach (see ?groupGeneric in main R help). This is a fairly large change under the hood, but should not have any user visible effects other than the fact that it is now possible to use the same functionality for hxsurf and mesh3d objects.
New vignettes:
Additional changes:
xform()
and friends. This ensures that
nat.templatebrains::xform_brain
can fall back to an affine registration when a
non-rigid registration fails (#365)makeboundingbox()
for constructing a boundingbox explicitly rather than from
an object. This allows boundingbox()
to work for matrices of 3D points (#222)nrrd.datafiles()
+ nrrd doc fixes (#316)materials()
to return col for amiramesh/im3d (#284)nview3d()
"oblique_right"as.data.frame.neuronlist()
makes autonames when none present (#371)ngraph()
edgelist references valid vertices to avoid segfaults in
igraph library (#363)im3d()
with image bounds (#205)spine()
by only considering endpoints (#372)graph.nodes()
and improve docs for root points (#373)pointsinside()
by checking if inside bounding box of surface mesh
(progress on #353)read.neurons()
to read remote zip file (#381)invert_reglist()
for mix of swapped/unswapped regswrite.im3d()
/write.nrrd()
for raw detached nrrd (#384)is.im3d()
Fixes pointsinside fails for points >1e5 from mesh (#354) as.neuron should work for an igraph made from an ngraph (#356) this is helpful if you e.g. delete nodes/edges from an ngraph object * breaking change with testthat v2 #355
This release includes some bug fixes and significantly improved online package documentation visible at https://natverse.github.io/nat/ including two vignettes.
The main feature of this release is improved support for nat+CMTK on Windows.
This is tagged as a major release because of a change in behaviour that (by default) suppresses interactive rgl windows when running in batch (non-interactive) mode. See ?nat "rgl Package" section for details.
[<-.neuronlist
when assigning a whole data.frame using (#256)doc: fixes in xform
dev: fix test for winbuilder
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.