Source code for neurd.vdi_h01

import numpy as np
from pathlib import Path

from . import vdi_default as vdi_def

parameters_config_filename = "parameters_config_h01.py"
config_filepath = str((
    Path(__file__).parents[0]
    / Path(f"parameter_configs/{parameters_config_filename}")
).absolute())

default_settings = dict(
    source = "h01",
    parameters_config_filepaths = config_filepath,
    synapse_filepath = None,
)

from . import h01_volume_utils as hvu
[docs]class DataInterfaceH01(vdi_def.DataInterfaceDefault):
[docs] def __init__( self, **kwargs ): kwargs.update(default_settings) super().__init__( **kwargs )
@property def voxel_to_nm_scaling(self): return np.array([8,8,33])
[docs] def segment_id_to_synapse_df( self, *args, **kwargs): return super().segment_id_to_synapse_df( *args, **kwargs )
@property def default_low_degree_graph_filters(self): from . import graph_filters as gf return [ gf.axon_webbing_filter, gf.thick_t_filter, gf.axon_double_back_filter, gf.fork_divergence_filter, gf.fork_min_skeletal_distance_filter, ]
[docs] def get_align_matrix( self, neuron_obj=None, soma_center = None, rotation = None, verbose = False, **kwargs ): """ Purpose: generating the alignment matrix from the soma center (which shows rotation only dependent on location of cell in volume) """ if rotation is None: if soma_center is None: soma_center = neuron_obj["S0"].mesh_center if verbose: print(f"soma_center = {soma_center}") rotation=hvu.rotation_from_soma_center( soma_center = soma_center, verbose = verbose, ) align_matrix = hvu.align_matrix_from_rotation(rotation = rotation) if verbose: print(f"align_matrix = {align_matrix}") return align_matrix
volume_data_interface = DataInterfaceH01()