nirs4all.synthesis.metadata module
Metadata generation for synthetic NIRS datasets.
This module provides tools for generating realistic sample metadata including sample IDs, biological sample groupings, repetitions, and custom columns.
Example
>>> from nirs4all.synthesis.metadata import MetadataGenerator
>>>
>>> generator = MetadataGenerator(random_state=42)
>>> metadata = generator.generate(
... n_samples=100,
... sample_id_prefix="S",
... n_groups=3,
... n_repetitions=(2, 4)
... )
>>> print(metadata.keys())
dict_keys(['sample_id', 'bio_sample_id', 'repetition', 'group'])
- nirs4all.synthesis.metadata.generate_sample_metadata(n_samples: int, *, random_state: int | None = None, sample_id_prefix: str = 'S', n_groups: int | None = None, group_names: list[str] | None = None, n_repetitions: int | tuple[int, int] = 1) dict[str, ndarray][source]
Convenience function to generate sample metadata.
This is a simplified interface to MetadataGenerator for common use cases.
- Parameters:
n_samples – Total number of samples to generate.
random_state – Random seed for reproducibility.
sample_id_prefix – Prefix for sample ID strings.
n_groups – Number of groups (None for no grouping).
group_names – Optional list of group names.
n_repetitions – Repetitions per biological sample.
- Returns:
Dictionary with metadata arrays.
Example
>>> metadata = generate_sample_metadata( ... n_samples=100, ... random_state=42, ... n_groups=3, ... n_repetitions=(2, 4) ... ) >>> print(metadata.keys())