<commit_before># Authors: <NAME> <<EMAIL>>
#          <NAME> <<EMAIL>>
#
# License: BSD (3-clause)

class Bunch(dict):
    """ Container object for datasets: dictionnary-like object that
        exposes its keys as attributes.
    """

    def __init__(self, **kwargs):
        dict.__init__(self, kwargs)
        self.__dict__ = self

FIFF = Bunch()

#
# Blocks
#
FIFF.FIFFB_ROOT               = 999
FIFF.FIFFB_MEAS               = 100
FIFF.FIFFB_MEAS_INFO          = 101
FIFF.FIFFB_RAW_DATA           = 102
FIFF.FIFFB_PROCESSED_DATA     = 103
FIFF.FIFFB_EVOKED             = 104
FIFF.FIFFB_ASPECT             = 105
FIFF.FIFFB_SUBJECT            = 106
FIFF.FIFFB_ISOTRAK            = 107
FIFF.FIFFB_HPI_MEAS           = 108
FIFF.FIFFB_HPI_RESULT         = 109
FIFF.FIFFB_HPI_COIL           = 110
FIFF.FIFFB_PROJECT            = 111
FIFF.FIFFB_CONTINUOUS_DATA    = 112
FIFF.FIFFB_VOID               = 114
FIFF.FIFFB_EVENTS             = 115
FIFF.FIFFB_INDEX              = 116
FIFF.FIFFB_DACQ_PARS          = 117
FIFF.FIFFB_REF                = 118
FIFF.FIFFB_SMSH_RAW_DATA      = 119
FIFF.FIFFB_SMSH_ASPECT        = 120
FIFF.FIFFB_HPI_SUBSYSTEM      = 121
FIFF.FIFFB_EPOCHS             = 122
FIFF.FIFFB_ICA                = 123

FIFF.FIFFB_SPHERE             = 300   # Concentric sphere model related
FIFF.FIFFB_BEM                = 310   # Boundary-element method
FIFF.FIFFB_BEM_SURF           = 311   # Boundary-element method surfaces
FIFF.FIFFB_CONDUCTOR_MODEL    = 312   # One conductor model definition
FIFF.FIFFB_PROJ               = 313
FIFF.FIFFB_PROJ_ITEM          = 314
FIFF.FIFFB_MRI                = 200
FIFF.FIFFB_MRI_SET            = 201
FIFF.FIFFB_MRI_SLICE          = 202
FIFF.FIFFB_MRI_SCENERY        = 203     # These are for writing unrelated 'slices'
FIFF.FIFFB_MRI_SCENE          = 204     # Which are actually 3D scenes...
FIFF.FIFFB_MRI_SEG            = 205     # MRI segmentation data
FIFF.FIFFB_MRI_SEG_REGION     = 206     # One MRI segmentation region
FIFF.FIFFB_PROCESSING_HISTORY = 900
FIFF.FIFFB_SSS_INFO           = 502
FIFF.FIFFB_SSS_CAL_ADJUST     = 503
FIFF.FIFFB_SSS_ST_INFO        = 504
FIFF.FIFFB_SSS_BASES          = 505
#
# Of general interest
#
FIFF.FIFF_FILE_ID         = 100
FIFF.FIFF_DIR_POINTER     = 101
FIFF.FIFF_BLOCK_ID        = 103
FIFF.FIFF_BLOCK_START     = 104
FIFF.FIFF_BLOCK_END       = 105
FIFF.FIFF_FREE_LIST       = 106
FIFF.FIFF_FREE_BLOCK      = 107
FIFF.FIFF_NOP             = 108
FIFF.FIFF_PARENT_FILE_ID  = 109
FIFF.FIFF_PARENT_BLOCK_ID = 110
FIFF.FIFF_BLOCK_NAME      = 111
FIFF.FIFF_BLOCK_VERSION   = 112
FIFF.FIFF_CREATOR         = 113  # Program that created the file (string)
FIFF.FIFF_MODIFIER        = 114  # Program that modified the file (string)
FIFF.FIFF_REF_ROLE        = 115
FIFF.FIFF_REF_FILE_ID     = 116
FIFF.FIFF_REF_FILE_NUM    = 117
FIFF.FIFF_REF_FILE_NAME   = 118
#
#  Megacq saves the parameters in these tags
#
FIFF.FIFF_DACQ_PARS      = 150
FIFF.FIFF_DACQ_STIM      = 151

FIFF.FIFF_NCHAN       = 200
FIFF.FIFF_SFREQ       = 201
FIFF.FIFF_DATA_PACK   = 202
FIFF.FIFF_CH_INFO     = 203
FIFF.FIFF_MEAS_DATE   = 204
FIFF.FIFF_SUBJECT     = 205
FIFF.FIFF_COMMENT     = 206
FIFF.FIFF_NAVE        = 207
FIFF.FIFF_FIRST_SAMPLE = 208          # The first sample of an epoch
FIFF.FIFF_LAST_SAMPLE  = 209          # The last sample of an epoch
FIFF.FIFF_ASPECT_KIND  = 210
FIFF.FIFF_REF_EVENT    = 211
FIFF.FIFF_EXPERIMENTER = 212
FIFF.FIFF_DIG_POINT   = 213
FIFF.FIFF_CH_POS      = 214
FIFF.FIFF_HPI_SLOPES  = 215
FIFF.FIFF_HPI_NCOIL   = 216
FIFF.FIFF_REQ_EVENT   = 217
FIFF.FIFF_REQ_LIMIT   = 218
FIFF.FIFF_LOWPASS     = 219
FIFF.FIFF_BAD_CHS       = 220
FIFF.FIFF_ARTEF_REMOVAL = 221
FIFF.FIFF_COORD_TRANS = 222
FIFF.FIFF_HIGHPASS    = 223
FIFF.FIFF_CH_CALS        = 22     # This will not occur in new files
FIFF.FIFF_HPI_BAD_CHS    = 225    # List of channels considered to be bad in hpi
FIFF.FIFF_HPI_CORR_COEFF = 226    # Hpi curve fit correlations
FIFF.FIFF_EVENT_COMMENT  = 227    # Comment about the events used in averaging
FIFF.FIFF_NO_SAMPLES     = 228    # Number of samples in an epoch
FIFF.FIFF_FIRST_TIME     = 229    # Time scale minimum

FIFF.FIFF_SUBAVE_SIZE    = 230    # Size of a subaverage
FIFF.FIFF_SUBAVE_FIRST   = 231    # The first epoch # contained in the subaverage
FIFF.FIFF_NAME           = 233          # Intended to be a short name.
FIFF.FIFF_DESCRIPTION    = FIFF.FIFF_COMMENT # (Textual) Description of an object
FIFF.FIFF_DIG_STRING     = 234          # String of digitized points
FIFF.FIFF_LINE_FREQ      = 235    # Line frequency
#
# HPI fitting program tags
#
FIFF.FIFF_HPI_COIL_MOMENTS       = 240   # Estimated moment vectors for the HPI coil magnetic dipoles
FIFF.FIFF_HPI_FIT_GOODNESS       = 241   # Three floats indicating the goodness of fit
FIFF.FIFF_HPI_FIT_ACCEPT         = 242   # Bitmask indicating acceptance (see below)
FIFF.FIFF_HPI_FIT_GOOD_LIMIT     = 243   # Limit for the goodness-of-fit
FIFF.FIFF_HPI_FIT_DIST_LIMIT     = 244   # Limit for the coil distance difference
FIFF.FIFF_HPI_COIL_NO            = 245   # Coil number listed by HPI measurement
FIFF.FIFF_HPI_COILS_USED         = 246   # List of coils finally used when the transformation was computed
FIFF.FIFF_HPI_DIGITIZATION_ORDER = 247   # Which Isotrak digitization point corresponds to each of the coils energized
#
# Pointers
#
FIFF.FIFFV_NEXT_SEQ    = 0
FIFF.FIFFV_NEXT_NONE   = -1
#
# Channel types
#
FIFF.FIFFV_MEG_CH     =   1
FIFF.FIFFV_REF_MEG_CH = 301
FIFF.FIFFV_EEG_CH     =   2
FIFF.FIFFV_MCG_CH     = 201
FIFF.FIFFV_STIM_CH    =   3
FIFF.FIFFV_EOG_CH     = 202
FIFF.FIFFV_EMG_CH     = 302
FIFF.FIFFV_ECG_CH     = 402
FIFF.FIFFV_MISC_CH    = 502
FIFF.FIFFV_RESP_CH    = 602  # Respiration monitoring
FIFF.FIFFV_SYST_CH    = 900  # some system status information (on Triux systems only)
FIFF.FIFFV_IAS_CH     = 910  # Internal Active Shielding data (maybe on Triux only)
FIFF.FIFFV_EXCI_CH    = 920  # flux excitation channel used to be a stimulus channel

#
# Quaternion channels for head position monitoring
#
FIFF.FIFFV_QUAT_0   = 700   # Quaternion param q0 obsolete for unit quaternion
FIFF.FIFFV_QUAT_1   = 701   # Quaternion param q1 rotation
FIFF.FIFFV_QUAT_2   = 702   # Quaternion param q2 rotation
FIFF.FIFFV_QUAT_3   = 703   # Quaternion param q3 rotation
FIFF.FIFFV_QUAT_4   = 704   # Quaternion param q4 translation
FIFF.FIFFV_QUAT_5   = 705   # Quaternion param q5 translation
FIFF.FIFFV_QUAT_6   = 706   # Quaternion param q6 translation<commit_msg>add fiff constant for seeg<commit_after># Authors: <NAME> <<EMAIL>>
#          <NAME> <<EMAIL>>
#
# License: BSD (3-clause)

class Bunch(dict):
    """ Container object for datasets: dictionnary-like object that
        exposes its keys as attributes.
    """

    def __init__(self, **kwargs):
        dict.__init__(self, kwargs)
        self.__dict__ = self

FIFF = Bunch()

#
# Blocks
#
FIFF.FIFFB_ROOT               = 999
FIFF.FIFFB_MEAS               = 100
FIFF.FIFFB_MEAS_INFO          = 101
FIFF.FIFFB_RAW_DATA           = 102
FIFF.FIFFB_PROCESSED_DATA     = 103
FIFF.FIFFB_EVOKED             = 104
FIFF.FIFFB_ASPECT             = 105
FIFF.FIFFB_SUBJECT            = 106
FIFF.FIFFB_ISOTRAK            = 107
FIFF.FIFFB_HPI_MEAS           = 108
FIFF.FIFFB_HPI_RESULT         = 109
FIFF.FIFFB_HPI_COIL           = 110
FIFF.FIFFB_PROJECT            = 111
FIFF.FIFFB_CONTINUOUS_DATA    = 112
FIFF.FIFFB_VOID               = 114
FIFF.FIFFB_EVENTS             = 115
FIFF.FIFFB_INDEX              = 116
FIFF.FIFFB_DACQ_PARS          = 117
FIFF.FIFFB_REF                = 118
FIFF.FIFFB_SMSH_RAW_DATA      = 119
FIFF.FIFFB_SMSH_ASPECT        = 120
FIFF.FIFFB_HPI_SUBSYSTEM      = 121
FIFF.FIFFB_EPOCHS             = 122
FIFF.FIFFB_ICA                = 123

FIFF.FIFFB_SPHERE             = 300   # Concentric sphere model related
FIFF.FIFFB_BEM                = 310   # Boundary-element method
FIFF.FIFFB_BEM_SURF           = 311   # Boundary-element method surfaces
FIFF.FIFFB_CONDUCTOR_MODEL    = 312   # One conductor model definition
FIFF.FIFFB_PROJ               = 313
FIFF.FIFFB_PROJ_ITEM          = 314
FIFF.FIFFB_MRI                = 200
FIFF.FIFFB_MRI_SET            = 201
FIFF.FIFFB_MRI_SLICE          = 202
FIFF.FIFFB_MRI_SCENERY        = 203     # These are for writing unrelated 'slices'
FIFF.FIFFB_MRI_SCENE          = 204     # Which are actually 3D scenes...
FIFF.FIFFB_MRI_SEG            = 205     # MRI segmentation data
FIFF.FIFFB_MRI_SEG_REGION     = 206     # One MRI segmentation region
FIFF.FIFFB_PROCESSING_HISTORY = 900
FIFF.FIFFB_SSS_INFO           = 502
FIFF.FIFFB_SSS_CAL_ADJUST     = 503
FIFF.FIFFB_SSS_ST_INFO        = 504
FIFF.FIFFB_SSS_BASES          = 505
#
# Of general interest
#
FIFF.FIFF_FILE_ID         = 100
FIFF.FIFF_DIR_POINTER     = 101
FIFF.FIFF_BLOCK_ID        = 103
FIFF.FIFF_BLOCK_START     = 104
FIFF.FIFF_BLOCK_END       = 105
FIFF.FIFF_FREE_LIST       = 106
FIFF.FIFF_FREE_BLOCK      = 107
FIFF.FIFF_NOP             = 108
FIFF.FIFF_PARENT_FILE_ID  = 109
FIFF.FIFF_PARENT_BLOCK_ID = 110
FIFF.FIFF_BLOCK_NAME      = 111
FIFF.FIFF_BLOCK_VERSION   = 112
FIFF.FIFF_CREATOR         = 113  # Program that created the file (string)
FIFF.FIFF_MODIFIER        = 114  # Program that modified the file (string)
FIFF.FIFF_REF_ROLE        = 115
FIFF.FIFF_REF_FILE_ID     = 116
FIFF.FIFF_REF_FILE_NUM    = 117
FIFF.FIFF_REF_FILE_NAME   = 118
#
#  Megacq saves the parameters in these tags
#
FIFF.FIFF_DACQ_PARS      = 150
FIFF.FIFF_DACQ_STIM      = 151

FIFF.FIFF_NCHAN       = 200
FIFF.FIFF_SFREQ       = 201
FIFF.FIFF_DATA_PACK   = 202
FIFF.FIFF_CH_INFO     = 203
FIFF.FIFF_MEAS_DATE   = 204
FIFF.FIFF_SUBJECT     = 205
FIFF.FIFF_COMMENT     = 206
FIFF.FIFF_NAVE        = 207
FIFF.FIFF_FIRST_SAMPLE = 208          # The first sample of an epoch
FIFF.FIFF_LAST_SAMPLE  = 209          # The last sample of an epoch
FIFF.FIFF_ASPECT_KIND  = 210
FIFF.FIFF_REF_EVENT    = 211
FIFF.FIFF_EXPERIMENTER = 212
FIFF.FIFF_DIG_POINT   = 213
FIFF.FIFF_CH_POS      = 214
FIFF.FIFF_HPI_SLOPES  = 215
FIFF.FIFF_HPI_NCOIL   = 216
FIFF.FIFF_REQ_EVENT   = 217
FIFF.FIFF_REQ_LIMIT   = 218
FIFF.FIFF_LOWPASS     = 219
FIFF.FIFF_BAD_CHS       = 220
FIFF.FIFF_ARTEF_REMOVAL = 221
FIFF.FIFF_COORD_TRANS = 222
FIFF.FIFF_HIGHPASS    = 223
FIFF.FIFF_CH_CALS        = 22     # This will not occur in new files
FIFF.FIFF_HPI_BAD_CHS    = 225    # List of channels considered to be bad in hpi
FIFF.FIFF_HPI_CORR_COEFF = 226    # Hpi curve fit correlations
FIFF.FIFF_EVENT_COMMENT  = 227    # Comment about the events used in averaging
FIFF.FIFF_NO_SAMPLES     = 228    # Number of samples in an epoch
FIFF.FIFF_FIRST_TIME     = 229    # Time scale minimum

FIFF.FIFF_SUBAVE_SIZE    = 230    # Size of a subaverage
FIFF.FIFF_SUBAVE_FIRST   = 231    # The first epoch # contained in the subaverage
FIFF.FIFF_NAME           = 233          # Intended to be a short name.
FIFF.FIFF_DESCRIPTION    = FIFF.FIFF_COMMENT # (Textual) Description of an object
FIFF.FIFF_DIG_STRING     = 234          # String of digitized points
FIFF.FIFF_LINE_FREQ      = 235    # Line frequency
#
# HPI fitting program tags
#
FIFF.FIFF_HPI_COIL_MOMENTS       = 240   # Estimated moment vectors for the HPI coil magnetic dipoles
FIFF.FIFF_HPI_FIT_GOODNESS       = 241   # Three floats indicating the goodness of fit
FIFF.FIFF_HPI_FIT_ACCEPT         = 242   # Bitmask indicating acceptance (see below)
FIFF.FIFF_HPI_FIT_GOOD_LIMIT     = 243   # Limit for the goodness-of-fit
FIFF.FIFF_HPI_FIT_DIST_LIMIT     = 244   # Limit for the coil distance difference
FIFF.FIFF_HPI_COIL_NO            = 245   # Coil number listed by HPI measurement
FIFF.FIFF_HPI_COILS_USED         = 246   # List of coils finally used when the transformation was computed
FIFF.FIFF_HPI_DIGITIZATION_ORDER = 247   # Which Isotrak digitization point corresponds to each of the coils energized
#
# Pointers
#
FIFF.FIFFV_NEXT_SEQ    = 0
FIFF.FIFFV_NEXT_NONE   = -1
#
# Channel types
#
FIFF.FIFFV_MEG_CH     =   1
FIFF.FIFFV_REF_MEG_CH = 301
FIFF.FIFFV_EEG_CH     =   2
FIFF.FIFFV_MCG_CH     = 201
FIFF.FIFFV_STIM_CH    =   3
FIFF.FIFFV_EOG_CH     = 202
FIFF.FIFFV_EMG_CH     = 302
FIFF.FIFFV_ECG_CH     = 402
FIFF.FIFFV_MISC_CH    = 502
FIFF.FIFFV_RESP_CH    = 602  # Respiration monitoring
FIFF.FIFFV_SEEG_CH    = 702  # stereotactic EEG
FIFF.FIFFV_SYST_CH    = 900  # some system status information (on Triux systems only)
FIFF.FIFFV_IAS_CH     = 910  # Internal Active Shielding data (maybe on Triux only)
FIFF.FIFFV_EXCI_CH    = 920  # flux excitation channel used to be a stimulus channel

#
# Quaternion channels for head position monitoring
#
FIFF.FIFFV_QUAT_0   = 700   # Quaternion param q0 obsolete for unit quaternion
FIFF.FIFFV_QUAT_1   = 701   # Quaternion param q1 rotation
FIFF.FIFFV_QUAT_2   = 702   # Quaternion param q2 rotation
FIFF.FIFFV_QUAT_3   = 703   # Quaternion param q3 rotation
FIFF.FIFFV_QUAT_4   = 704   # Quaternion param q4 translation
FIFF.FIFFV_QUAT_5   = 705   # Quaternion param q5 translation
FIFF.FIFFV_QUAT_6   = 706   # Quaternion param q6 translation
{'fraction_non_alphanumeric': 0.06112093488121781, 'fraction_numerical': 0.059583301299300374, 'mean_word_length': 2.5953565505804312, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5481458', 'n_tokens_mistral': 5805, 'n_tokens_neox': 4979, 'n_words': 1101}