Intermediate

Fine-tune direction sampling and descriptor parameters for your use case.

Direction Sampling

The num_thetas parameter controls how many directions are sampled on the unit sphere. More directions provide finer angular resolution but increase computation time.

from trailed import compute_ect_from_numpy

# Fewer directions: faster, coarser
desc_fast = compute_ect_from_numpy(data, num_thetas=16, resolution=32)

# More directions: slower, finer detail
desc_detailed = compute_ect_from_numpy(data, num_thetas=64, resolution=32)

Recommendations:

  • 16-32 directions for exploratory analysis

  • 32-64 directions for production use

  • 64+ directions when distinguishing subtle differences

Resolution Control

The resolution parameter controls filtration granularity — how finely the ECT curve is discretized.

# Lower resolution: smaller descriptors, faster
desc_small = compute_ect_from_numpy(data, num_thetas=32, resolution=32)

# Higher resolution: larger descriptors, more detail
desc_large = compute_ect_from_numpy(data, num_thetas=32, resolution=128)

Recommendations:

  • Resolution 32-64 for most use cases

  • Resolution 128+ for highly detailed analysis

  • Match resolution to the complexity of your data

Normalization

For comparing descriptors across datasets with different scales, consider normalizing:

import numpy as np

desc = compute_ect_from_numpy(data, num_thetas=32, resolution=64)

# L2 normalization
desc_normalized = desc / np.linalg.norm(desc)

Reproducibility

For reproducible results, use a fixed random seed when sampling directions:

import numpy as np

np.random.seed(42)
desc = compute_ect_from_numpy(data, num_thetas=32, resolution=64)