Skip to content

Releases: natverse/nat

v1.10.4

10 Jan 12:51
Compare
Choose a tag to compare

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 like c(1,3,5)
    (#486)

Full Changelog: v1.10.3...v1.10.4

nat 1.10.3

10 Jan 12:49
Compare
Choose a tag to compare

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 in read.hxsurf() (#445)
  • reroot function added with support for neuronlist (#463, @dokato).
  • Add xform() and xyzmatrix<-() methods for mesh3d 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() and write.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() and reroot.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

24 Aug 08:11
Compare
Choose a tag to compare

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

01 Aug 14:03
Compare
Choose a tag to compare
  • 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.

nat 1.9.0

10 Jan 20:40
Compare
Choose a tag to compare

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 allows boundingbox() 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

05 Jan 20:30
Compare
Choose a tag to compare

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

05 Jan 20:30
Compare
Choose a tag to compare

nat 1.8.11

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)

nat v1.8.10

24 Oct 10:26
Compare
Choose a tag to compare

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

04 May 16:43
Compare
Choose a tag to compare

nat 1.8.9

  • fix reading of neurons when origin is not an endpoint (#342)
    nb this bug was introduced in 1.8.8
  • fix edge case for is.neuron when applied to tibbles (#338)
  • add PlotSubTrees option for plot.neuron (#339)
    thanks to Zhihao Zheng

nat 1.8.8

04 May 16:50
Compare
Choose a tag to compare

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)