2.5. Directions
The Directions class provides helper functions for selecting directions to compute the ECT along.
- class ect.directions.Sampling(*values)[source]
- UNIFORM = 'uniform'
 - RANDOM = 'random'
 - CUSTOM = 'custom'
 
- class ect.directions.Directions(num_dirs=360, sampling=Sampling.UNIFORM, dim=2, endpoint=False, seed=None)[source]
- Manages direction vectors for ECT calculations. Supports uniform, random, or custom sampling of directions. - Examples - # Uniform sampling in 2D (default) dirs = Directions.uniform(num_dirs=8) - # Uniform sampling in 3D dirs = Directions.uniform(num_dirs=10, dim=3) - # Random sampling in 2D dirs = Directions.random(num_dirs=10, seed=42) - # Custom angles (2D only) dirs = Directions.from_angles([0, np.pi/4, np.pi/2]) - # Custom vectors in any dimension dirs = Directions.from_vectors([(1,0,0), (0,1,0), (0,0,1)]) - classmethod uniform(num_dirs=360, dim=2, endpoint=False, seed=None)[source]
- Factory method for uniform sampling. - Parameters:
- num_dirs – Number of direction vectors. 
- dim – Dimension of the space (default 2). 
- endpoint – Whether to include the endpoint (for 2D angles). 
- seed – Optional random seed. 
 
 
 - classmethod random(num_dirs=360, dim=2, seed=None)[source]
- Factory method for random sampling. - Parameters:
- num_dirs – Number of direction vectors. 
- dim – Dimension of the space. 
- seed – optional random seed. 
 
 
 - classmethod from_vectors(vectors)[source]
- Create an instance from custom direction vectors. Works in any number of dimensions. 
 - property thetas
- Get the angles for 2D directions. Raises an error if dim > 2. 
 - property vectors
- Get unit direction vectors. For 2D, they are computed from thetas if not already created. For n-dim (n>2), they should be available.