nat 1.4.10
==========
* add function to prune objects by removing points close to or far from another
  object
* add nmapply function for neuronlists
* add xyzmatrix method for neuronlists
* add materials function with methods for im3d and hxsurf objects
* enh: read.im3d can read materials from amiramesh files
* enh: download neurnonlistfh objects to session temp directory if no localdir
  is specified
* fix: find CMTK in its new default location on macosx
* fix: plot3d should skip redrawing if par3d() skipRedraw is set
* fix: failure to export ngraph constructor function
* fix: set NeuronName when no InputFile argument is passed to neuron
  constructor
* fix: im3d axis labels
* doc: numerous small documentation improvements

nat 1.4.9
=========
* add spine() function to find longest path (aka backbone) of a neuron
* give ngraph (and therefore as.ngraph methods) a weights argument so that 
  resultant ngraph objects have edge weights defined by segment lengths.
* add as.im3d generic and as.im3d.im3d method
* fix bug in setting graph attributes in ngraph

nat 1.4.8
=========
* bugfix: ensure ind2coords.im3d is exported

nat 1.4.7
=========
* add ability to make a dotprops object directly from an image file on disk or
  an im3d object in memory.
* port ind2coord, coord2ind and sub2ind functions from AnalysisSuite
* fix clampmax function so that it removes Infinite values
* fix reading of gzip encoded amiramesh files
* fix mirror so that dotprops are recalculated for a simple flip
* make plot(3d).neuron colour settings more consistent
* simplify axis handling in plot.neuron
* dev: build nat.flybrains (as well as nat) after flycircuit build

nat 1.4.6
=========
* fix bug in handling vertexData argument in as.neuron.ngraph
* fix test error on Solaris (thanks to Brian Ripley)
* dev: fix remaining warnings in tests

nat 1.4.5
=========
* add plot.neuron for 2d plots (ajdm, from code in AnalysisSuite)
* add nopen3d() which opens an rgl viewer that allows panning. See ?nopen3d for
  details of how to use this.
* teach read.neurons to report files that have problems as they are read
* fix temp file left behind by xform.cmtkreg
* fix dangerous looking warning when amira binary files have empty sections
* fix ability of read.neurons to set InputFileName and therefore retain
  status information for the file along with its MD5 hash
* fix bug exporting xform.default (so that xform(matrix()) works)
* docs: improve coverage of BoundingBox vs bounds
* tests: simple tests for plot(3d).neuron
* tests: clear up temp files and suppress most warnings
* dev: restart travis build of flycircuit package when nat is pushed to github

nat 1.4.4
=========
* fix handling of logical expressions including NAs by subset.neuronlist
* add soma argument to plot3d.neuron
* fix: boundingbox.im3d() returns NULL when bounding box is not defined
* give remotesync.neuronlistfh an indices argument to allow download/update
  from the web of a selected population of neurons
* add ndigest.neuron method
* fix: export ndigest.dotprops method
* give image.im3d a useRaster option, which defaults to TRUE when possible.

nat 1.4.3
=========
* new ndigest (normalised digest) function to compute hash values. Methods for
  neuronlistfh and dotprops objects. Can be used e.g. to compute a hash value
  for a standard dps object to determine if a data.
* new threshold function with a method for im3d objects. Can be used to make
  masks.
* more flexible im3d constructor can use an existing im3d object to supply
  spatial attributes.

nat 1.4.2
=========
* fix bug in read.neuronlistfh resulting in error if a remote file was
  downloaded and then read back in (using cached copy) before any neurons were
  downloaded.

nat 1.4.1
=========
* fix bug in write.nrrd - was failing to write essential space dimensions field.
* make gzip the default encoding for nrrd images - this is pretty much always
  what one wants.

nat 1.4.0
=========
* add cmtk.reformatx command for reformatting images using CMTK registrations
* new function remotesync to synchronise a neuronlistfh object with its remote
  source.
* add write.neuronlistfh and improve consistency/docs of path handling in 
  read.neuronlistfh
* option to write missing (or no) neurons when using as.neuronlistfh.neuronlist
  this makes it _much_ faster to re-export these objects or prepare neuronlistfh
  for subsets of an existing group of neurons
* fix hashmap functionality of neuronlistfh (speeds up access to single neurons)

nat 1.3.2
=========
* fix bug in find.neuron for neuronlistfh objects
* fix bug in neuronlistfh constructor (wasn't adding hashmap) and 
  [[.neuronlistfh (was not searching properly for objects when using hashmap).

nat 1.3.1
=========
* add find.neuron for interactive selection of neurons in 3d.

nat 1.3
=======
* implementation of new im3d image manipulations functions including image.im3d,
  projection, unmask, imslice, imscalebar, imexpand.grid, flip, origin,
  boundingbox<-, xyzpos, ijkpos
* see ?im3d, ?boundingbox, ?image3d.im3d, ?imscalebar and ?flip for details
* fix reading of gzipped nrrds on windows
* dev: fix nocran tests

nat 1.2
=======
* Basic implementation of reading/writing NRRD format image data.
  See read.nrrd and write.nrrd for details.
* Basic implementation of reading/writing Amira format image data.
  See read.amiramesh and write.amiramesh for details.
* Basic implementation of a class for 3d images, im3d
* see read.im3d and write.im3d for I/O
* and voxdims and boundingbox methods for physical dimensions
* switch to more flexible neuronlistfh structure in which objects on disk are
  named by the md5 hash of their contents.
* workaround for connection leak in filehashRDS objects that stopped downloads
  of more than 124 new objects by a neuronlistfh (ajdm).
  (see https://github.com/rdpeng/filehash/pull/3 for details)
* dev: approach allowing some tests (e.g. those using the web) to be ignored on
  CRAN (ajdm)
* dev: travis continuous integration support (ajdm)

nat 1.1
=======
* Implemented reading and writing of groups of neurons from/to neuronlists.
  See read.neurons and write.neurons.
* Implemented writing of single neurons in swc format, Amira's HxLineSet and 
  SkeletonGraph formats, and R's rds format.
* Can now read Amira HxLineSet format neurons (see read.neuron)
* Give read.neuronlistfh an update argument (default:FALSE) so that it does not
  re-download remote data.
* dev: speed and flexibility improvements in fileformats ioregistry.
  see ?fileformats for details of new functions.

nat 1.0.1
=========
* fix bug in cmtk.bindir() on Solaris (thanks to Brian Ripley)

nat 1.0
=======
* implement reading of amiramesh data
* including amira SkeletonGraph format tracings
* switch to filehashRDS format for repositories of remote neurons
* retire stashR backend for neuronlistfh remote repositories (too slow)

nat 0.9
=======
* support for automatic download of neurons from stashR remote repositories on
  the web. ?neuronlistfh for details and an example. 
* Relies on stashR package
* dev: small doc fixes to make package CRAN compatible.

nat 0.8
=======
* important new feature: neuronlistfh objects backed by an on disk filehash
  allow single neurons to be loaded from disk on demand
* this allows 1) fast startup suitable for knitr documents and 2) working with
  more neurons than fit in main memory
* of course this is slower than working with an in-memory list but for plotting
  etc this should not be problem
* furthermore neuronlistfh objects can be subsetted/converted to give in memory
  neuronlist objects.

nat 0.7
=======
* implement read.neuron and read.neurons
* so far only works for rda, rds and swc files
* reading of additional file types will be implemented by registering functions =
  to test, read and write for the format using a package regsistry controlled by
  nat::neuronformats.
* developer: seglists in neurons now have class 'seglist'

nat 0.6
=======
* major new functionality - bidirectional interconversion of graph and regular
  neuron representation
* see as.neuron.* methods and as.ngraph.* methods
* plan is to use graph representation as the common intermediate with reading 
  different neuron file formats
* depends on igraph package

nat 0.5.2
=========
* add subset.neuronlist
* add methods for working with dataframe attached to neuronlist 
  (see e.g. ?with.neuronlist)
* TODO harmonise plot3d.neuronlist subset expressions with subset.neuronlist

nat 0.5.1
=========
* Switch license to GPL-3
* xform (transformation) of hxsurf objects
* fix xform of neuronlist objects
* switch from CMTK gregxform to streamxform (gregxform is deprecated; streamxform can concatenate registrations)
* teach mirror function to accept numeric axis specification
* Fix bug in checking extra directories in cmtk.bindir
* Add dotprops.neuronlist and include all dotprops methods in documentation
* Fix longstanding bug in parsing cmtk warping registrations (only relevant for
  reading these into R lists - no effect on transformations).
* fix bug in class of cmtkreg objects
* Remove call to .Internal(La_rs) by calling eigen directly
* doc: some notes on CMTK installation

nat 0.5
=======
* fix broken handling of cmtk affine transformations
* implement mirroring of neurons and other objects
* teach xformpoints (and therefore xform) to handle "~/" in paths
* bugfix in visibility of S3method xformpoints.character
* (developer) Switch to roxygen2 v3.0 for documentation

nat 0.4
=======
* read.hxsurf and plot3d.hxsurf for reading/plotting Amira surfaces
* better handling of location of cmtk command line tools see ?cmtk for details
* add neuronlist and associated methods (including plot)
* plot3d for neurons and dotprops

nat 0.3
=======
* basic and self-contained implementation of neuron class
* basic and self-contained implementation of dotprops
* new xform generic + methods for clean transformation of objects including
  neurons and dotprops objects
* this includes improved interaction between dotprops and xform so that xform
  can use the previously value of k when recalculating a dotprops object post
  transformation
* sample data (40 PNs from Jefferis, Potter et al. '07 and 20 KCs from Chiang 
  et al. 2011)
* 1 use of .Internal and missing nlapply remain to be fixed.

nat 0.2.1
=========
* fix install error due to missing neuron(*).R files that contain docs only so far

nat 0.2
=======
* Fairly complete implementation of CMTK registration I/O and geometry
* All functionality is self-contained (i.e. independent of nat.as/AnalysisSuite)
* passes check()
* can be augmented by nat.as (0.6)
