Target Transforms

Target Transforms are used to alter the output of the datasets which can be certain labels, class names, or bounding box information. They only read and add the signal metadata, and do not change the signal data.

Target Transforms

class torchsig.transforms.target_transforms.TargetTransform(**kwargs)[source]

Bases: Transform

Target Transform base class

This class defines the basic structure of a target transform, which includes: - The ability to validate metadata before applying the transform. - A method for applying the transform on signal metadata. - A callable interface to apply the transform to a list of signal metadata.

required_metadata

List of metadata fields required for applying the target transform.

Type:

List[str]

targets_metadata

List of target metadata fields to be added to output of target transform.

Type:

List[str]

__validate(metadata

Dict[str, Any]) -> Dict[str, Any]: Validates the signal metadata before applying the transform.

__apply(metadata

Dict[str, Any]) -> Dict[str, Any]: Applies the target transform to the metadata. Should be overridden by subclasses.

__call__(metadatas

List[Dict[str, Any]], enable_verify: bool = True) -> List[Dict[str, Any]]: Applies the transform to a list of signal metadata dictionaries.

__str__() str[source]

Returns the string representation of the transform.

__repr__() str[source]

Returns a detailed string representation of the transform object.

class torchsig.transforms.target_transforms.FamilyName(class_family_dict: Dict[str, str] | None = {'1024qam': 'qam', '128qam_cross': 'qam', '16ask': 'ask', '16fsk': 'fsk', '16gfsk': 'fsk', '16gmsk': 'fsk', '16msk': 'fsk', '16psk': 'psk', '16qam': 'qam', '256qam': 'qam', '2fsk': 'fsk', '2gfsk': 'fsk', '2gmsk': 'fsk', '2msk': 'fsk', '32ask': 'ask', '32psk': 'psk', '32qam': 'qam', '32qam_cross': 'qam', '4ask': 'ask', '4fsk': 'fsk', '4gfsk': 'fsk', '4gmsk': 'fsk', '4msk': 'fsk', '512qam_cross': 'qam', '64ask': 'ask', '64psk': 'psk', '64qam': 'qam', '8ask': 'ask', '8fsk': 'fsk', '8gfsk': 'fsk', '8gmsk': 'fsk', '8msk': 'fsk', '8psk': 'psk', 'am-dsb': 'am', 'am-dsb-sc': 'am', 'am-lsb': 'am', 'am-usb': 'am', 'bpsk': 'psk', 'chirpss': 'chirp', 'fm': 'fm', 'lfm_data': 'chirp', 'lfm_radar': 'chirp', 'ofdm-1024': 'ofdm', 'ofdm-1200': 'ofdm', 'ofdm-128': 'ofdm', 'ofdm-180': 'ofdm', 'ofdm-2048': 'ofdm', 'ofdm-256': 'ofdm', 'ofdm-300': 'ofdm', 'ofdm-512': 'ofdm', 'ofdm-600': 'ofdm', 'ofdm-64': 'ofdm', 'ofdm-72': 'ofdm', 'ofdm-900': 'ofdm', 'ook': 'ook', 'qpsk': 'psk', 'tone': 'tone'}, **kwargs)[source]

Bases: TargetTransform

Adds a family_name to a signal’s metadata based on it’s class_name

class_family_dict

Class name to Family name dict (keys=class name, values= family name). Defaults to TorchSigSignalLists.family_dict.

Type:

Optional[Dict[str, str]], optional

class torchsig.transforms.target_transforms.FamilyIndex(class_family_dict: Dict[str, str] | None = {'1024qam': 'qam', '128qam_cross': 'qam', '16ask': 'ask', '16fsk': 'fsk', '16gfsk': 'fsk', '16gmsk': 'fsk', '16msk': 'fsk', '16psk': 'psk', '16qam': 'qam', '256qam': 'qam', '2fsk': 'fsk', '2gfsk': 'fsk', '2gmsk': 'fsk', '2msk': 'fsk', '32ask': 'ask', '32psk': 'psk', '32qam': 'qam', '32qam_cross': 'qam', '4ask': 'ask', '4fsk': 'fsk', '4gfsk': 'fsk', '4gmsk': 'fsk', '4msk': 'fsk', '512qam_cross': 'qam', '64ask': 'ask', '64psk': 'psk', '64qam': 'qam', '8ask': 'ask', '8fsk': 'fsk', '8gfsk': 'fsk', '8gmsk': 'fsk', '8msk': 'fsk', '8psk': 'psk', 'am-dsb': 'am', 'am-dsb-sc': 'am', 'am-lsb': 'am', 'am-usb': 'am', 'bpsk': 'psk', 'chirpss': 'chirp', 'fm': 'fm', 'lfm_data': 'chirp', 'lfm_radar': 'chirp', 'ofdm-1024': 'ofdm', 'ofdm-1200': 'ofdm', 'ofdm-128': 'ofdm', 'ofdm-180': 'ofdm', 'ofdm-2048': 'ofdm', 'ofdm-256': 'ofdm', 'ofdm-300': 'ofdm', 'ofdm-512': 'ofdm', 'ofdm-600': 'ofdm', 'ofdm-64': 'ofdm', 'ofdm-72': 'ofdm', 'ofdm-900': 'ofdm', 'ook': 'ook', 'qpsk': 'psk', 'tone': 'tone'}, family_list: List[str] | None = None, **kwargs)[source]

Bases: TargetTransform

Adds a family_index to a signal’s metadata based on it’s class_name

class_family_dict

Class name to Family name dict (keys=class name, values= family name). Defaults to TorchSigSignalLists.family_dict.

Type:

Optional[Dict[str, str]], optional

family_list

Family list to index by. Defaults to alphabetical list of class_family_dict family names.

Type:

Optional[List[str]], optional

class torchsig.transforms.target_transforms.CustomLabel(label_fields: List[str], label_name: str = 'label', **kwargs)[source]

Bases: TargetTransform

Adds a ‘label’ field to the metadata, which contains a tuple of fields specified in the label_fields attribute.

label_fields

The list of metadata fields to extract and place in the ‘label’ tuple.

Type:

List[str]

class torchsig.transforms.target_transforms.YOLOLabel(**kwargs)[source]

Bases: TargetTransform

Adds a YOLO_label to a signal, in the form of a list of tuples (cid, cx, cy, width, height)

output

Structure to aggregate YOLO labels (“dict”, “list”). Defaults to “list”.

Type:

str, optional

output_list = ['list', 'dict']