Source code for src.original.DK_OGC_AmsterdamUMC.utils.data_processing.processors.SignalMask

import numpy as np
import torch
import torchio
from torchio.transforms import Transform


[docs] class SignalMask(Transform): def __init__(self, **kwargs): super().__init__(**kwargs)
[docs] def apply_transform(self, subject): """ curates signals Image of subject Args: subject: Subject Returns: subject: Subject """ images_dict = subject.get_images_dict() signals = images_dict['signals'].numpy() signal_mask = self.signal_mask(signals) subject.add_image(torchio.Image(tensor=torch.Tensor(np.expand_dims(signal_mask, 0))), 'signal_mask') return subject
[docs] @staticmethod def signal_mask(signals): """ returns mask with nonzero element for signal vectors with nonzero entries Args: signals: signals Returns: masked_signals: signals containing nonzero elements """ return np.sum(signals, axis=0) > 0