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.
- 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 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.
- 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.
- 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']¶