axon_synthesis.synthesis

Base of the synthesis modules.

Functions

check_targets(terminals, morph_name)

Check that the given terminals have at least one target.

load_axon_grafting_points([path, key])

Load the axon mapping from the given file.

one_axon_paths(outputs, morph_file_name, ...)

Create a BasePathBuilder object to store the paths needed for a specific axon.

remove_existing_axons(morph)

Remove all existing axons from a given morphology.

synthesize_axons(config[, output_config, ...])

Synthesize the long-range axons.

synthesize_group_morph_axons(df, inputs, ...)

Synthesize all axons of each morphology.

synthesize_one_morph_axons(morph_terminals, ...)

Synthesize the axons of one morphology.

Classes

SynthesisConfig(morphology_dir, ...[, ...])

Class to store the synthesis configuration.

Exceptions

SynthesisError

Exception raised by axon synthesis.

class axon_synthesis.synthesis.SynthesisConfig(morphology_dir, morphology_data_file, axon_grafting_points_file=None, input_dir=None, population_probabilities_file=None, projection_probabilities_file=None, population_tuft_number_file=None, trunk_properties_file=None, tuft_properties_file=None, tuft_distributions_file=None, tuft_parameters_file=None, tuft_boundary_max_distance: float = 200, tuft_boundary_scale_coeff: float | None = None, rebuild_existing_axons: bool = False, target_max_tries: int = 10)

Bases: object

Class to store the synthesis configuration.

morphology_dir

Path to the directory containing the input morphologies.

Type:

str | os.PathLike

morphology_data_file

Path to the MVD3 or SONATA file containing the morphology data.

Type:

str | os.PathLike

axon_grafting_points_file

Path to the HDF5 file containing the section IDs where the axons should be grafted in the input morphologies (axons are grafted to the soma if not provided).

Type:

str | os.PathLike | None

input_dir

Path to the directory containing the inputs.

Type:

str | os.PathLike | None

population_probabilities_file

Path to the file containing the population probabilities.

Type:

str | os.PathLike | None

projection_probabilities_file

Path to the file containing the projection probabilities.

Type:

str | os.PathLike | None

population_tuft_number_file

Path to the file containing the distribution of number of tufts per pathway.

Type:

str | os.PathLike | None

trunk_properties_file

Path to the file containing the trunk properties.

Type:

str | os.PathLike | None

tuft_properties_file

Path to the file containing the tuft properties.

Type:

str | os.PathLike | None

tuft_distributions_file

Path to the file containing the distributions used for tuft synthesis.

Type:

str | os.PathLike | None

tuft_parameters_file

Path to the file containing the parameters used for tuft synthesis.

Type:

str | os.PathLike | None

tuft_boundary_max_distance

Maximum distance used for the calculation of the attenuation component near the boundary.

Type:

float

tuft_boundary_scale_coeff

Coefficient used in the calculation of the attenuation component near the boundary.

Type:

float | None

rebuild_existing_axons

If set to True, all existing axons are removed before synthesis.

Type:

bool

target_max_tries

The maximum number of tries for picking target points.

Type:

int

exception axon_synthesis.synthesis.SynthesisError

Bases: Exception

Exception raised by axon synthesis.

axon_synthesis.synthesis.check_targets(terminals, morph_name)

Check that the given terminals have at least one target.

axon_synthesis.synthesis.load_axon_grafting_points(path: str | PathLike | None = None, key: str = 'axon_grafting_points')

Load the axon mapping from the given file.

axon_synthesis.synthesis.one_axon_paths(outputs, morph_file_name, figure_file_name)

Create a BasePathBuilder object to store the paths needed for a specific axon.

axon_synthesis.synthesis.remove_existing_axons(morph)

Remove all existing axons from a given morphology.

axon_synthesis.synthesis.synthesize_axons(config: SynthesisConfig, output_config: OutputConfig | None = None, *, atlas_config: AtlasConfig | AtlasHelper | None = None, create_graph_config: CreateGraphConfig | None = None, post_process_config: PostProcessConfig | None = None, rng: None | int | Sequence[int] | SeedSequence | BitGenerator | Generator = None, parallel_config: ParallelConfig | None = None)

Synthesize the long-range axons.

Parameters:
  • config – The configuration used for synthesis.

  • output_config – The config used to adjust the outputs.

  • atlas_config – The config used to load the Atlas.

  • create_graph_config – The config used to create the graph.

  • post_process_config – The config used to post-process the long-range trunk.

  • rng – The random seed or the random generator.

  • parallel_config – The configuration for parallel computation.

axon_synthesis.synthesis.synthesize_group_morph_axons(df: DataFrame, inputs: Inputs, synthesis_config: SynthesisConfig, **func_kwargs) DataFrame

Synthesize all axons of each morphology.

axon_synthesis.synthesis.synthesize_one_morph_axons(morph_terminals, inputs, outputs, create_graph_config, post_process_config, *, tuft_context=None, rebuild_existing_axons=False, logger=None)

Synthesize the axons of one morphology.