Compare commits

..

No commits in common. "dd0b1dd21554cea79efd266499bb1ea50ac93047" and "eccbe9f187489bbb637132b5e21883d0a9e6f686" have entirely different histories.

17 changed files with 27 additions and 23 deletions

View File

@ -48,8 +48,6 @@ 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
@ -72,7 +70,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" } { include = "ria_toolkit_oss_cli", from = "src/ria_toolkit_oss" }
] ]
include = [ include = [
"**/*.so", # Required for Nuitkaification "**/*.so", # Required for Nuitkaification
@ -103,8 +101,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_cli.cli:cli" ria = "ria_toolkit_oss.ria_toolkit_oss_cli.cli:cli"
ria-tools = "ria_toolkit_oss_cli.cli:cli" ria-tools = "ria_toolkit_oss.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_cli.ria_toolkit_oss import commands from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss import commands
@click.group() @click.group()

View File

@ -240,6 +240,8 @@ 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_cli.ria_toolkit_oss.common import ( from ria_toolkit_oss.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_cli.ria_toolkit_oss.common import ( from ria_toolkit_oss.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_cli.ria_toolkit_oss.common import ( from ria_toolkit_oss.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_cli.ria_toolkit_oss.common import (
parse_metadata_args, parse_metadata_args,
save_recording, save_recording,
) )
from ria_toolkit_oss_cli.ria_toolkit_oss.config import load_user_config from ria_toolkit_oss.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_cli.ria_toolkit_oss.common import ( from ria_toolkit_oss.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_cli.ria_toolkit_oss.common import ( from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss.common import (
echo_progress, echo_progress,
echo_verbose, echo_verbose,
format_sample_count, format_sample_count,
@ -257,20 +257,24 @@ 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
utils transform augment --list ria_toolkit_oss transform augment --list
\b \b
# Apply channel swap # Apply channel swap
utils transform augment channel_swap input.npy ria_toolkit_oss transform augment channel_swap input.npy
\b \b
# Apply AWGN impairment # Apply AWGN impairment
utils transform impair awgn input.npy --snr-db 15 ria_toolkit_oss 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
@ -296,19 +300,19 @@ def augment(augmentation, input, output, list_transforms, help_transform, params
# List all augmentations # List all augmentations
\b \b
ria transform augment --list ria_toolkit_oss transform augment --list
# Show parameters for an augmentation # Show parameters for an augmentation
\b \b
ria transform augment channel_swap --help-transform ria_toolkit_oss transform augment channel_swap --help-transform
# Apply augmentation # Apply augmentation
\b \b
ria transform augment channel_swap input.npy ria_toolkit_oss transform augment channel_swap input.npy
# Apply with parameters and save visualization # Apply with parameters and save visualization
\b \b
ria transform augment drop_samples input.npy --params max_section_size=5 --view ria_toolkit_oss transform augment drop_samples input.npy --params max_section_size=5 --view
""" """
available = get_available_transforms(iq_augmentations) available = get_available_transforms(iq_augmentations)