Main Content

subset

Create datastore with subset of signals

Description

sdssubset = subset(sds,indices) returns a signal datastore sdssubset containing a subset of the signals in sds.

example

Examples

collapse all

Specify a folder that contains signals included with Signal Processing Toolbox™. The signals are stored in .csv, .dat, and .mat files.

folder = "healthdata";

Create a signal datastore that points to the specified folder. List the names of all files in the datastore.

sds = signalDatastore(folder);
[~,c] = fileparts(sds.Files)
c = 10×1 cell
    {'BufferedHumanActivitySignal'       }
    {'ECG60HzSignal'                     }
    {'ECGSignals'                        }
    {'ECGmit200Signal'                   }
    {'ECGmit203Signal'                   }
    {'EMGSignalIndices'                  }
    {'EMGSignals'                        }
    {'HeartRateSignals'                  }
    {'NoisyECGSignal'                    }
    {'WestAfricanEbolaOutbreak2014Signal'}

Create a logical vector indicating whether the file names in the signal datastore start with 'ECG'.

fileContainsAir = cellfun(@(c)startsWith(c,"ECG"),c);

Call the subset function on the signal datastore and the indices corresponding to the files starting with 'ECG'.

sdssubset = subset(sds,fileContainsAir)
sdssubset = 
  signalDatastore with properties:

                       Files:{
                             ' .../tp49de8a39/signal-ex51213773/healthdata/ECG60HzSignal.mat';
                             ' .../tp49de8a39/signal-ex51213773/healthdata/ECGSignals.mat';
                             ' .../tp49de8a39/signal-ex51213773/healthdata/ECGmit200Signal.mat'
                              ... and 1 more
                             }
                     Folders: {'/tmp/Bdoc26a_3146167_1982730/tp49de8a39/signal-ex51213773/healthdata'}
    AlternateFileSystemRoots: [0×0 string]
                    ReadSize: 1
              OutputDataType: "same"
           OutputEnvironment: "cpu"

Input Arguments

collapse all

Signal datastore, specified as a signalDatastore object.

Specify indices as:

  • A vector containing the indices of files or members to be included in sdssubset. The subset function accepts nonunique indices.

  • A logical vector the same length as the number of files or members in sds. If indices are specified as a logical vector, true indicates that the corresponding files or members are to be included in sdssubset.

Data Types: double | logical

Output Arguments

collapse all

Subset of signal datastore, returned as a signalDatastore object.

Version History

Introduced in R2020a