from brainsets.core import StringIntEnum


# Nomenclature from CHARM: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2944191/
# These areas are defined at different levels of precision - have a look at the CHARM_Key_table
# to find how these
class Macaque(StringIntEnum):
    Frontal_Lobe = 1
    anterior_cingulate_gyrus = 2
    anterior_cingulate_cortex = 3
    area_32 = 4
    subgenual_cortex = 5
    area_24 = 6
    areas_24a_and_24b = 7
    area_24a = 8
    area_24b = 9
    area_24c = 10
    midcingulate_cortex = 11
    areas_24a_and_24b_prime = 12
    area_24a_prime = 13
    area_24b_prime = 14
    area_24c_prime = 15
    orbital_frontal_cortex = 16
    medial_orbital_frontal_cortex = 17
    frontal_pole = 18
    rostral_medial_frontal_pole = 19
    caudal_medial_frontal_pole = 20
    orbital_frontal_pole = 21
    gyrus_rectus = 22
    rostral_gyrus_rectus = 23
    caudal_gyrus_rectus = 24
    lateral_orbital_frontal_cortex = 25
    areas_11_and_13 = 26
    area_11 = 27
    medial_area_11 = 28
    lateral_area_11 = 29
    area_13 = 30
    areas_13a_and_13b = 31
    medial_area_13 = 32
    lateral_area_13 = 33
    medial_and_orbital_area_12 = 34
    medial_area_12 = 35
    orbital_area_12 = 36
    caudal_orbital_frontal_cortex = 37
    agranular_orbitofrontal_cortex = 38
    medial_agranular_insular_region = 39
    lateral_agranular_insular_region = 40
    intermediate_agranular_insula_area = 41
    lateral_agranular_insula_area = 42
    posterior_lateral_agranular_insula_area = 43
    primary_olfactory_cortex = 44
    anterior_olfactory_cortex = 45
    posterior_olfactory_cortex = 46
    caudolateral_orbitofrontal_cortex = 47
    gustatory_cortex = 48
    precentral_operular_area = 49
    lateral_prefrontal_cortex = 50
    periarcuate_area_8A_Frontal_Eye_Fields = 51
    dorsal_periarcuate_area_8A = 52
    ventral_periarcuate_area_8A = 53
    dorsolateral_prefrontal_cortex = 54
    area_8B = 55
    dorsal_area_8B = 56
    medial_area_8B = 57
    arcuate_sulcus_area_8B = 58
    rostral_dorsolateral_prefrontal_cortex = 59
    area_9 = 60
    dorsal_area_9 = 61
    medial_area_9 = 62
    dorsal_area_46 = 63
    ventrolateral_prefrontal_cortex = 64
    rostral_ventrolateral_prefrontal_cortex = 65
    ventral_and_fundus_portion_of_area_46 = 66
    area_46_in_fundus_of_the_principal_sulcus = 67
    ventral_area_46 = 68
    rostral_and_lateral_area_12 = 69
    lateral_area_12 = 70
    rostral_area_12 = 71
    caudal_ventrolateral_prefrontal_cortex = 72
    area_45 = 73
    area_45a = 74
    area_45b = 75
    area_44 = 76
    motor_cortex = 77
    lateral_motor_cortex = 78
    primary_motor_cortex = 79
    premotor_cortex = 80
    dorsal_premotor_cortex = 81
    caudal_dorsal_premotor_cortex = 82
    rostral_dorsal_premotor_cortex = 83
    ventral_premotor_cortex = 84
    area_F4_of_ventral_premotor_cortex = 85
    area_F5_of_ventral_premotor_cortex = 86
    medial_supplementary_motor_areas = 87
    presupplementary_motor_area = 88
    supplementary_motor_area = 89
    Parietal_Lobe = 90
    somatosensory_cortex = 91
    primary_somatosensory_cortex = 92
    areas_3a_and_3b = 93
    areas_1_2 = 94
    secondary_somatosensory_cortex = 95
    superior_parietal_lobule = 96
    visual_areas_V6_and_V6A = 97
    visual_area_V6 = 98
    visual_area_V6A = 99
    ventral_visual_area_6A = 100
    dorsal_visual_area_6A = 101
    area_5 = 102
    dorsal_area_5 = 103
    areas_PEc_and_PEci = 104
    area_PE = 105
    area_PEa = 106
    ventromedial_intraparietal_sulcus = 107
    medial_intraparietal_area = 108
    fundus_of_the_intraparietal_sulcus = 109
    ventral_intraparietal_area = 110
    posterior_intraparietal_area = 111
    inferior_parietal_lobule = 112
    lateral_intraparietal_sulcus = 113
    anterior_intraparietal_area = 114
    lateral_intraparietal_area = 115
    dorsal_lateral_intraparietal_area = 116
    ventral_lateral_intraparietal_area = 117
    lateral_occipital_parietal_area = 118
    medial_superior_temporal_area = 119
    area_7_in_the_inferior_parietal_lobule = 120
    inferior_parietal_lobule_areas_7a_and_7b = 121
    caudal_inferior_parietal_lobule_area_7a__Opt_PG = 122
    rostral_inferior_parietal_lobule_area_7b_PFG_PF = 123
    parietal_operculum = 124
    posterior_medial_cortex = 125
    area_7_PGm_on_the_medial_wall = 126
    posterior_cingulate_gyrus = 127
    posterior_cingulate_cortex = 128
    area_31 = 129
    area_23 = 130
    area_23a = 131
    area_23b = 132
    area_23c = 133
    area_v23 = 134
    retrosplenial_cortex = 135
    area_29 = 136
    area_30 = 137
    Temporal_Lobe = 138
    medial_temporal_lobe = 139
    hippocampus = 140
    hippocampal_formation = 141
    hippocampus_proper = 142
    hippocampal_subfields_CA1_CA3 = 143
    hippocampal_subfield_CA4 = 144
    dentate_gyrus = 145
    subiculum_and_prosubiculum = 146
    presubiculum_and_parasubiculum = 147
    parahippocampal_cortex = 148
    areas_TF_and_TFO = 149
    area_TFO = 150
    area_TF = 151
    area_TH = 152
    rhinal_cortex = 153
    entorhinal_cortex = 154
    caudal_entorhinal_cortex = 155
    caudal_division_of_entorhinal_cortex = 156
    caudal_limiting_division_of_entorhinal_cortex = 157
    middle_entorhinal_cortex = 158
    rostral_entorhinal_cortex = 159
    perirhinal_cortex = 160
    area_35 = 161
    area_36 = 162
    caudal_area_36 = 163
    rostral_and_polar_area_36 = 164
    temporal_pole = 165
    agranular_temporal_pole = 166
    granular_and_dysgranular_temporal_pole = 167
    dysgranular_temporal_pole = 168
    dorsal_dysgranular_temporal_pole = 169
    ventral_dysgranular_temporal_pole = 170
    granular_temporal_pole = 171
    dorsal_granular_temporal_pole = 172
    ventral_granular_temporal_pole = 173
    sts_part_of_temporal_pole = 174
    inferior_temporal_cortex = 175
    area_TEO = 176
    area_TE = 177
    gyral_aspect_of_area_TE = 178
    posterior_area_TE = 179
    posterior_ventral_area_TE = 180
    posterior_dorsal_area_TE = 181
    anterior_area_TE = 182
    anterior_ventral_area_TE = 183
    anterior_dorsal_area_TE = 184
    area_TE_in_the_ventral_STS = 185
    area_TEm = 186
    area_TEa = 187
    fundus_of_the_superior_temporal_sulcus = 188
    anterior_fundus_of_the_superior_temporal_sulcus = 189
    area_IPa = 190
    area_PGa = 191
    floor_of_the_superior_temporal_area = 192
    superior_temporal_region = 193
    rostral_superior_temporal_region = 194
    dorsal_bank_of_the_superior_temporal_sulcus = 195
    temporal_parietooccipital_associated_area = 196
    area_TAa = 197
    rostral_superior_temporal_gyrus = 198
    caudal_superior_temporal_gyrus = 199
    temporo_parietal_area = 200
    parabelt_areas_of_auditory_cortex = 201
    caudal_parabelt_region = 202
    rostral_parabelt_region = 203
    core_and_belt_areas_of_auditory_cortex = 204
    belt_areas_of_auditory_cortex = 205
    lateral_belt_areas = 206
    caudal_areas_of_the_lateral_belt = 207
    caudal_lateral_belt_region = 208
    middle_lateral_belt_region = 209
    rostral_areas_of_the_lateral_belt = 210
    anterior_lateral_belt_region = 211
    lateral_rostrotemporal_belt_region = 212
    medial_belt_areas = 213
    caudomedial_belt_region = 214
    rostral_areas_of_the_medial_belt = 215
    rostromedial_belt_region = 216
    medial_rostrotemporal_belt_region = 217
    polar_rostrotemporal_cortex = 218
    core_areas_of_auditory_cortex = 219
    rostral_areas_of_the_core = 220
    rostral_core_region = 221
    rostrotemporal_core_region = 222
    primary_auditory_cortex = 223
    floor_of_the_lateral_sulcus = 224
    insula_and_parainsula = 225
    parainsula = 226
    insula = 227
    agranular_and_dysgranular_insula = 228
    granular_insula = 229
    retroinsula = 230
    Occipital_Lobe = 231
    middle_temporal_area = 232
    extrastriate_visual_areas_2_4 = 233
    visual_area_4 = 234
    dorsal_visual_area_4 = 235
    ventral_visual_area_4 = 236
    preoccipital_visual_areas_2_3 = 237
    visual_area_3 = 238
    visual_areas_V3d_and_V3A = 239
    visual_area_V3A = 240
    dorsal_visual_area_3 = 241
    ventral_visual_area_3 = 242
    visual_area_2 = 243
    possibly_part_of_visual_area_2 = 244
    clearly_part_of_visual_area_2 = 245
    primary_visual_cortex = 246
