This commit is contained in:
M madrigal 2025-12-15 15:08:16 -05:00
commit b33c0c2e01
17 changed files with 23 additions and 27 deletions

View File

@ -48,6 +48,8 @@ dependencies = [
"pandas (>=2.3.2,<3.0.0)", "pandas (>=2.3.2,<3.0.0)",
"pyzmq (>=27.1.0,<28.0.0)", "pyzmq (>=27.1.0,<28.0.0)",
"pyyaml (>=6.0.3,<7.0.0)", "pyyaml (>=6.0.3,<7.0.0)",
"click (>=8.1.0,<9.0.0)",
"matplotlib (>=3.8.0,<4.0.0)"
] ]
# [project.optional-dependencies] Commented out to prevent Tox tests from failing # [project.optional-dependencies] Commented out to prevent Tox tests from failing
@ -70,7 +72,7 @@ all-sdr = [
[tool.poetry] [tool.poetry]
packages = [ packages = [
{ include = "ria_toolkit_oss", from = "src" }, { include = "ria_toolkit_oss", from = "src" },
{ include = "ria_toolkit_oss_cli", from = "src/ria_toolkit_oss" } { include = "ria_toolkit_oss_cli", from = "src" }
] ]
include = [ include = [
"**/*.so", # Required for Nuitkaification "**/*.so", # Required for Nuitkaification
@ -101,8 +103,8 @@ pylint = "^3.2.6" # For pyreverse, to automate the creation of UML diagrams
"Issues Board" = "https://riahub.ai/qoherent/ria-toolkit-oss/issues" "Issues Board" = "https://riahub.ai/qoherent/ria-toolkit-oss/issues"
[tool.poetry.scripts] [tool.poetry.scripts]
ria = "ria_toolkit_oss.ria_toolkit_oss_cli.cli:cli" ria = "ria_toolkit_oss_cli.cli:cli"
ria-tools = "ria_toolkit_oss.ria_toolkit_oss_cli.cli:cli" ria-tools = "ria_toolkit_oss_cli.cli:cli"
[tool.black] [tool.black]
line-length = 119 line-length = 119

View File

@ -4,7 +4,7 @@ This module contains the main group for the ria toolkit oss CLI.
import click import click
from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss import commands from ria_toolkit_oss_cli.ria_toolkit_oss import commands
@click.group() @click.group()

View File

@ -240,8 +240,6 @@ def determine_output_format(output, output_format, output_dir):
@click.command() @click.command()
@click.argument("inputs", nargs=-1, required=True, type=click.Path(exists=True))
@click.argument("output", nargs=1, required=True, type=click.Path())
@click.option( @click.option(
"--device", "--device",
"-d", "-d",

View File

@ -9,7 +9,7 @@ import numpy as np
from ria_toolkit_oss.datatypes import Recording from ria_toolkit_oss.datatypes import Recording
from ria_toolkit_oss.io import from_npy_legacy, load_recording from ria_toolkit_oss.io import from_npy_legacy, load_recording
from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss.common import ( from ria_toolkit_oss_cli.ria_toolkit_oss.common import (
echo_progress, echo_progress,
echo_verbose, echo_verbose,
format_sample_count, format_sample_count,

View File

@ -13,7 +13,7 @@ from ria_toolkit_oss.io.recording import (
to_sigmf, to_sigmf,
to_wav, to_wav,
) )
from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss.common import ( from ria_toolkit_oss_cli.ria_toolkit_oss.common import (
check_for_overwriting, check_for_overwriting,
detect_file_format, detect_file_format,
echo_progress, echo_progress,

View File

@ -9,7 +9,7 @@ import yaml
import ria_toolkit_oss.signal.basic_signal_generator as basic_gen import ria_toolkit_oss.signal.basic_signal_generator as basic_gen
from ria_toolkit_oss.datatypes import Recording from ria_toolkit_oss.datatypes import Recording
from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss.common import ( from ria_toolkit_oss_cli.ria_toolkit_oss.common import (
echo_progress, echo_progress,
echo_verbose, echo_verbose,
format_frequency, format_frequency,
@ -17,7 +17,7 @@ from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss.common import (
parse_metadata_args, parse_metadata_args,
save_recording, save_recording,
) )
from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss.config import load_user_config from ria_toolkit_oss_cli.ria_toolkit_oss.config import load_user_config
from ria_toolkit_oss.signal.block_generator.basic import FrequencyShift from ria_toolkit_oss.signal.block_generator.basic import FrequencyShift
from ria_toolkit_oss.signal.block_generator.continuous_modulation.fsk_modulator import ( from ria_toolkit_oss.signal.block_generator.continuous_modulation.fsk_modulator import (
FSKModulator, FSKModulator,

View File

@ -6,7 +6,7 @@ import click
import numpy as np import numpy as np
from ria_toolkit_oss.io import from_npy_legacy, load_recording from ria_toolkit_oss.io import from_npy_legacy, load_recording
from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss.common import ( from ria_toolkit_oss_cli.ria_toolkit_oss.common import (
detect_file_format, detect_file_format,
echo_progress, echo_progress,
echo_verbose, echo_verbose,

View File

@ -10,7 +10,7 @@ import click
from ria_toolkit_oss.datatypes.recording import Recording from ria_toolkit_oss.datatypes.recording import Recording
from ria_toolkit_oss.io.recording import load_recording from ria_toolkit_oss.io.recording import load_recording
from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss.common import ( from ria_toolkit_oss_cli.ria_toolkit_oss.common import (
echo_progress, echo_progress,
echo_verbose, echo_verbose,
format_sample_count, format_sample_count,
@ -257,24 +257,20 @@ def transform():
Transform supports three categories of operations: Transform supports three categories of operations:
- augment: Modify signal to create new ML examples - augment: Modify signal to create new ML examples
- impair: Degrade signal with noise, distortion, etc. - impair: Degrade signal with noise, distortion, etc.
- apply_channel: Apply channel models (fading, Doppler, etc.)
Each operation is applied independently. Chain multiple transforms by Each operation is applied independently. Chain multiple transforms by
running this command multiple times. running this command multiple times.
Examples:\n
\b \b
Examples:
# List available augmentations # List available augmentations
ria_toolkit_oss transform augment --list utils transform augment --list
\b \b
# Apply channel swap # Apply channel swap
ria_toolkit_oss transform augment channel_swap input.npy utils transform augment channel_swap input.npy
\b \b
# Apply AWGN impairment # Apply AWGN impairment
ria_toolkit_oss transform impair awgn input.npy --snr-db 15 utils transform impair awgn input.npy --snr-db 15
\b
# Apply Rayleigh fading channel
ria_toolkit_oss transform apply_channel rayleigh input.npy --num-paths 5
""" """
pass pass
@ -300,19 +296,19 @@ def augment(augmentation, input, output, list_transforms, help_transform, params
# List all augmentations # List all augmentations
\b \b
ria_toolkit_oss transform augment --list ria transform augment --list
# Show parameters for an augmentation # Show parameters for an augmentation
\b \b
ria_toolkit_oss transform augment channel_swap --help-transform ria transform augment channel_swap --help-transform
# Apply augmentation # Apply augmentation
\b \b
ria_toolkit_oss transform augment channel_swap input.npy ria transform augment channel_swap input.npy
# Apply with parameters and save visualization # Apply with parameters and save visualization
\b \b
ria_toolkit_oss transform augment drop_samples input.npy --params max_section_size=5 --view ria transform augment drop_samples input.npy --params max_section_size=5 --view
""" """
available = get_available_transforms(iq_augmentations) available = get_available_transforms(iq_augmentations)