The Neurophysiological Biomarker Toolbox (NBT)

# How to create a new biomarker

## Create a new biomarker object

Each new biomarker or class of biomarkers should be stored in a new NBT Biomarker object. If you want to create a new NBT Biomarker object, it should be a subclass of “The mother biomarker object”, see for definition of this object nbt_Biomarker. This means that the new NBT Biomarker object will have all the fields that nbt_Biomarker has. For example, an important field that all NBT Biomarker object have is called MarkerValues. If you compute one biomarker value per channel you should store them in this field. You can add additional fields that are specific for your analysis to the new NBT Biomarker object. You can use the Biomarker template to make you new biomarker object.

The script that defines your new biomarker should be saved in a file with the same name as the new biomarker, in this case we saved it in the file nbt_Biomarker_template. If you now want to create an object of the type nbt_Biomarker_template, you can do the following (where the input '129', assumes you have 129 channels.):

object=nbt_Biomarker_template(129)

?? nbt_UpdateBiomarkerInfo() should be called in each analysis function. This function also updates the .FrequencyRange field of the biomarker from the SignalInfo. If your biomarker is calculating serveral frequencies at once (not recommeded), you need to add these as a cell structure to .FrequencyRange. I.e., BiomarkerObject.FrequencyRange{1,1} = [8 13]; BiomarkerObject.FrequencyRange{2,1} = 'MarkerAlpha'; - where the first input defines the frequency range, and the second the biomarker field which contains values calculated in that frequency range.??