def test_register_neurite_feature_nrns(): def npts(neurite): return len(neurite.points) def vol(neurite): return neurite.volume fst.register_neurite_feature('foo', npts) n_points_ref = [len(n.points) for n in iter_neurites(NRNS)] n_points = fst.get('foo', NRNS) assert_items_equal(n_points, n_points_ref) # test neurite type filtering n_points_ref = [len(n.points) for n in iter_neurites(NRNS, filt=_is_type(NeuriteType.axon))] n_points = fst.get('foo', NRNS, neurite_type=NeuriteType.axon) assert_items_equal(n_points, n_points_ref) fst.register_neurite_feature('bar', vol) n_volume_ref = [n.volume for n in iter_neurites(NRNS)] n_volume = fst.get('bar', NRNS) assert_items_equal(n_volume, n_volume_ref) # test neurite type filtering n_volume_ref = [n.volume for n in iter_neurites(NRNS, filt=_is_type(NeuriteType.axon))] n_volume = fst.get('bar', NRNS, neurite_type=NeuriteType.axon) assert_items_equal(n_volume, n_volume_ref)
def test_register_neurite_feature_pop(): def npts(neurite): return len(neurite.points) def vol(neurite): return neurite.volume fst.register_neurite_feature('foo', npts) n_points_ref = [len(n.points) for n in iter_neurites(POP)] n_points = fst.get('foo', POP) assert_items_equal(n_points, n_points_ref) # test neurite type filtering n_points_ref = [len(n.points) for n in iter_neurites(POP, filt=_is_type(NeuriteType.basal_dendrite))] n_points = fst.get('foo', POP, neurite_type=NeuriteType.basal_dendrite) assert_items_equal(n_points, n_points_ref) fst.register_neurite_feature('bar', vol) n_volume_ref = [n.volume for n in iter_neurites(POP)] n_volume = fst.get('bar', POP) assert_items_equal(n_volume, n_volume_ref) # test neurite type filtering n_volume_ref = [n.volume for n in iter_neurites(POP, filt=_is_type(NeuriteType.basal_dendrite))] n_volume = fst.get('bar', POP, neurite_type=NeuriteType.basal_dendrite) assert_items_equal(n_volume, n_volume_ref)
def test_get_segment_midpoint(self): for ntyp in nm.NEURITE_TYPES: pts = fst.get('segment_midpoints', self.fst_pop, neurite_type=ntyp) ref_xyz = (get('segment_x_coordinates', self.ref_pop, neurite_type=ntyp), get('segment_y_coordinates', self.ref_pop, neurite_type=ntyp), get('segment_z_coordinates', self.ref_pop, neurite_type=ntyp)) for i in xrange(3): _equal(pts[:, i], ref_xyz[i])
def _check_neurite_feature(self, ftr, debug=False, rtol=1e-05, atol=1e-08): self._check_neuron_feature(ftr, debug, rtol, atol) for t in NeuriteType: _close(fst.get(ftr, self.fst_pop, neurite_type=t), get(ftr, self.ref_pop, neurite_type=t), debug, rtol, atol)
def _check_neuron_feature(self, ftr, debug=False, rtol=1e-05, atol=1e-08): _close(fst.get(ftr, self.fst_pop), get(ftr, self.ref_pop), debug, rtol, atol)