Releases: natverse/nat
v1.10.4
What's Changed
xyzmatrix<-
can now set list columns containing coordinates in forms like
`list(c(1,2,3), c(4,5,6)) (#485)- a new function
xyzmatrix2list()
is added to achieve this output format
directly xyzmatrix()
can now extract coordinates from a 3-vector likec(1,3,5)
(#486)
Full Changelog: v1.10.3...v1.10.4
nat 1.10.3
nat 1.10.3
Some new features, speed-ups and bug fixes including from @dokato and @jonmarty. Thanks to @PostPreAndCleft and @artxz for bug reports.
- xyzmatrix can now get and set character columns containing coordinates in forms like "(1, 6, 3)" or "1 6 3" (#449)
- also a bug fix for the same (#451)
- Improve reading of Simple Neurite Tracer fills (#448)
- Fix bug
pan3d()
not found (#447) - Added support for multi material binary Amira surface files while fixing
"Bad triangle numbers" error inread.hxsurf()
(#445) reroot
function added with support for neuronlist (#463, @dokato).- Add
xform()
andxyzmatrix<-()
methods formesh3d
objects - Don't clean
mesh3d
objects read from ply files by default summary.neuron
now prints number of subtrees (#462, @dokato)- fixes in
xyzmatrix.list()
(#484) - new
c.hxsurf()
method (#482, @dokato - Teach
write.neuron()
andwrite.neurons()
to put metadata in SWC header - switch to GitHub actions
- speed-ups for
simplify_neuron()
in part through new
natcpp package (#472,#473,#474) - Fix Strahler order fails on a simplified neuron with no branches (#464 @dokato)
- add function for rerooting neuron
reroot.neuron()
andreroot.neuronlist()
(#463, @dokato) - New
neuronlistz()
fast access to neuronlists stored as zip files (#456) - print method for
neuronlistz()
(#468, #466 @dokato) - pointsinside: defer check for Rvcg until committed to use it (#455,454)
- Zip command line character limit error fix (#452 @jonmarty)
https://github.com/natverse/nat/issues?q=closed%3A2020-09-11..2021-09-20+
nat 1.10.2
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+
- Fix test failure on R-devel (R 4.1) for
c.neuronlist
(#444) - Add
print.neuron()
,print.neuronlist()
,print.dotprops()
methods #443 - Better support for reading / plotting neuron meshes (#441, #442)
- Bug in
xyzmatrix()
for 0 row data.frames (#433) - Updated parameter for toggling grid lines in plotly (#432)
- Add support for Amira hxsurf binary format to
read.hxsurf()
(#431) - improve error message for
cmtk.version()
(#430) - Remaining items to move from elmr (#428)
- Turn off grid lines when using plotly engine (#427)
- Move features to nat from other packages (#423)
- Add support for thin plate spine transformations via
tpsreg()
(#289)
New Contributors
Full Changelog: v1.10.1...v1.10.3
nat 1.8.13
This release backports a few urgent fixes to the 1.8 branch. It should be the last release of the nat v.1.8.x series and was prepared to satisfy a quick turnaround from CRAN to fix a test error that has recently appeared. Note that all fixes in this release are also present in current master, which we would recommend for most users.
- Fix very slow loading of neurons in
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. - Fix ndigest check error on CRAN (#411)
It also updates URLs to point to nat's new home organisation on GitHub
(https://github.com/natverse/).
nat 1.9.1
nat 1.9.0
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:
- Working with Individual Neurons as Graph Structures
- NeuroGeometry: Analysing 3D Morphology of Neurons
Additional changes:
- Support for CMTK deformation fields
- Always pass on ... for reglists in
xform()
and friends. This ensures that
nat.templatebrains::xform_brain
can fall back to an affine registration when a
non-rigid registration fails (#365) - Fix thinko in re-ordering vertex ids for SWC files (#366)
- Add
makeboundingbox()
for constructing a boundingbox explicitly rather than from
an object. This allowsboundingbox()
to work for matrices of 3D points (#222) - Export
nrrd.datafiles()
+ nrrd doc fixes (#316) - Teach
materials()
to return col for amiramesh/im3d (#284) - Fix
nview3d()
"oblique_right" - Pass ... on to spheres3d to plot somata with alpha transparency (#370)
as.data.frame.neuronlist()
makes autonames when none present (#371)- Check that
ngraph()
edgelist references valid vertices to avoid segfaults in
igraph library (#363) - Fix bug in constructing
im3d()
with image bounds (#205) - Allow dotprops objects to be plotted in 2D (#112)
- Speed up
spine()
by only considering endpoints (#372) - Export
graph.nodes()
and improve docs for root points (#373) - Speed up
pointsinside()
by checking if inside bounding box of surface mesh
(progress on #353) - Teach
read.neurons()
to read remote zip file (#381) - Fix
invert_reglist()
for mix of swapped/unswapped regs - Fix bug in
write.im3d()
/write.nrrd()
for raw detached nrrd (#384) - Export
is.im3d()
nat 1.8.12
nat 1.8.12
- Speed up (2-3x) summary.neuron(list) by faster calculation of total cable
length. Note that this may cause some changes in the reported cable length
because all cable is now included (as it should always have been). (#361) - fix bug: dotprops do not get resampled labels bug (#360)
- Add nview3d function to set anatomical viewpoints (#359)
nat 1.8.11
nat v1.8.10
nat 1.8.10
- pointsinside now works with alpha shape (ashape3d) objects directly (#350)
- On windows add cygwin binary directory to path if not present
(fixes errors with missing cygwin DLLs) - workaround for some functions (eg those using CMTK registration folders) that
were affected by file.exists("/some/real/registration.list/") returning FALSE
on Windows - Fix cmtk.reformatx under Cygwin - output NRRD file path (but not other paths)
must be munged for reformatx - not sure why this isn't handled internally. - Fix as.mesh3d.ashape3d messing up the order of triangle vertices
which was giving problems with pointsinside (#349) - Fix pointsinside to return TRUE for vertices defining mesh (with distance=0)
(#348) - Switch pointsinside to use Rvcg::vcgClostKD, thereby fixing some cases
where points were incorrectly reported to be inside a surface. (#352)
nat v1.8.9
nat 1.8.8
nat 1.8.8
- add xyzmatrix<-.neuronlist so that we can replace the vertices of a set of
objects in one go (#328) - add as.mesh3d.ashape3d thereby adding support for 3D alpha surfaces generated
by the alphashape3d package (#337) - add as.hxsurf to convert surfaces (#332)
- add nvertices as generic method to find the number of vertices in an object
(#329) - add plot3d.cmtkreg to visualise domain of CMTK registration (#333)
- speed up resample function (and seglist2swc) (#336)
- add an option to override default progress bar behaviour for nlapply (and many
other functions that use it) (#322) - make plot3d more forgiving of colour specification (#331)
- fix overwrite=T option for landmarks files (#319)
- fix prune_edges for paths with opposing edge directions (#320)
- make read.amiramesh cope with different NA values (#324)
- fix crashing bug in read.neuron.hxlineset for malformed files (#325)
- only warn if xform.neuronlist fails to transform soma positions (#326)