示例#1
0
def cell_location_distance_from_soma(cell_location):

    morph = cell_location.cell.morphology
    sect_dist_dict = SectionVistorFactory.dict_section_proximal_dist_from_soma(morph, soma_centre=False)()
    section_dist = sect_dist_dict[cell_location.morphlocation.section]
    celllocdist = (
        section_dist + cell_location.morphlocation.section.get_length() * cell_location.morphlocation.sectionpos
    )
    return celllocdist
示例#2
0
def cell_location_distance_from_soma(cell_location):

    morph = cell_location.cell.morphology
    sect_dist_dict = SectionVistorFactory.dict_section_proximal_dist_from_soma(
        morph, soma_centre=False)()
    section_dist = sect_dist_dict[cell_location.morphlocation.section]
    celllocdist = section_dist + cell_location.morphlocation.section.get_length(
    ) * cell_location.morphlocation.sectionpos
    return celllocdist
示例#3
0
    def trim_axon_from_morphology(cls, morphology, max_dist_to_parent):

        dist_to_parent = SectionVistorFactory.dict_section_proximal_dist_from_soma(
            morph=morphology, soma_centre=False)()
        print sorted(dist_to_parent.values())

        section_mapping_table = {}
        region_mapping_table = {}

        # Create New Regions:
        region_mapping_table[None] = None
        for rOld in morphology.get_regions():
            r_new = Region(name=rOld.name)
            region_mapping_table[rOld] = r_new

        # Create New Sections:
        dummy_root_old = morphology.get_dummy_section()
        dummy_root_new = Section(
            region=region_mapping_table[dummy_root_old.region],
            x=dummy_root_old.d_x,
            y=dummy_root_old.d_y,
            z=dummy_root_old.d_z,
            r=dummy_root_old.d_r)
        section_mapping_table[dummy_root_old] = dummy_root_new
        for sectionOld in morphology:
            print 'DistToParent', dist_to_parent[sectionOld]

            if dist_to_parent[sectionOld] > max_dist_to_parent:
                continue

            print 'Extruding Section'
            old_parent = sectionOld.parent
            new_parent = section_mapping_table[old_parent]

            section_new = new_parent.create_distal_section(
                region=region_mapping_table[sectionOld.region],
                x=sectionOld.d_x,
                y=sectionOld.d_y,
                z=sectionOld.d_z,
                r=sectionOld.d_r,
                idtag=sectionOld.idtag,
            )
            section_mapping_table[sectionOld] = section_new

        m = MorphologyTree('TrimmedNeuron',
                           dummysection=dummy_root_new,
                           metadata={})

        return m
示例#4
0
    def trim_axon_from_morphology(cls, morphology, max_dist_to_parent):


        dist_to_parent = SectionVistorFactory.dict_section_proximal_dist_from_soma(morph=morphology, soma_centre=False)()
        print sorted(dist_to_parent.values())

        section_mapping_table = {}
        region_mapping_table = {}

        # Create New Regions:
        region_mapping_table[None] = None
        for rOld in morphology.get_regions():
            r_new = Region(name=rOld.name)
            region_mapping_table[rOld] = r_new

        # Create New Sections:
        dummy_root_old = morphology.get_dummy_section()
        dummy_root_new = Section(
                            region=region_mapping_table[dummy_root_old.region],
                            x=dummy_root_old.d_x, 
                            y=dummy_root_old.d_y,
                            z=dummy_root_old.d_z,
                            r=dummy_root_old.d_r)
        section_mapping_table[dummy_root_old] = dummy_root_new
        for sectionOld in morphology:
            print 'DistToParent', dist_to_parent[sectionOld]

            if dist_to_parent[sectionOld] > max_dist_to_parent:
                continue

            print 'Extruding Section'
            old_parent = sectionOld.parent
            new_parent = section_mapping_table[old_parent]

            section_new = new_parent.create_distal_section(
                region=region_mapping_table[sectionOld.region],
                x=sectionOld.d_x,
                y=sectionOld.d_y,
                z=sectionOld.d_z,
                r=sectionOld.d_r,
                idtag=sectionOld.idtag,
                )
            section_mapping_table[sectionOld] = section_new

        m = MorphologyTree('TrimmedNeuron',
                           dummysection=dummy_root_new, metadata={})

        return m