This release has a few changes in the basic functionality of btmorph as well as some new features:
- The core function that parses SWC files has been changed to use networkx. It now checks if SWC files satisfy the following criteria:
- Contains atleast one root, and possibly more than one.
- The first row need not be a root.
- The parent of a row need not preceeded it.
- IDs of two consecutive rows need not be consecutive.
- Must not contain cycles.
- Must not contain exactly identical rows.
- class PopulationMorphology can be initialized with an SWC with possibly multiple trees. Each tree will be stored as a NeuronMorphology object with the PopulationMorphology object. A PopulationMorphology object with possibly multiple NeuronMorphology objects can be written into a single SWC file.
- SWC files with root of a type other than '1' can be parsed by NeuronMorphology and PopulationMorphology classed by setting the swich "ignore_type" to True.
- SWC files with a single point some can be parsed by NeuronMorphology and PopulationMorphology by setting the switch "correctIfSomeAbsent" to True.
- Depth first and Breadth first iterators have been added to NeuronMorphology class.
- Functions have been added to NeuronMorphology and PopulationMorphology that applies affine transformations to trees contained in their corresponding objects.
- Added functions to calculate intersections vs distance and length vs distance to NeuronMorphology.
- Added convenience functions to calculate all global measures in one shot to NeuronMorphology.
- Improvements to Python 2/3 compatibility.