# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: spikesorter.proto
# Protobuf Python Version: 5.29.0
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    5,
    29,
    0,
    '',
    'spikesorter.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from . import common_pb2 as common__pb2
from . import biointerface_pb2 as biointerface__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11spikesorter.proto\x12\x06\x61llego\x1a\x0c\x63ommon.proto\x1a\x12\x62iointerface.proto\"c\n\x13\x45xportSpikesRequest\x12\x15\n\rspikeSorterID\x18\x01 \x02(\t\x12$\n\x04\x64\x65st\x18\x02 \x02(\x0b\x32\x16.allego.FileDescriptor\x12\x0f\n\x07isForce\x18\x03 \x01(\x08\"\xaa\x02\n\x18SpikeSorterLaunchRequest\x12\x11\n\tdsourceID\x18\x01 \x01(\t\x12&\n\x06source\x18\x02 \x01(\x0b\x32\x16.allego.FileDescriptor\x12\x42\n\x0f\x63lustererParams\x18\x03 \x01(\x0b\x32).allego.SpikeSorterClustererParamsRequest\x12>\n\rfeatureParams\x18\x04 \x01(\x0b\x32\'.allego.SpikeSorterFeatureParamsRequest\x12\x15\n\rdiscoverNoise\x18\x05 \x01(\x08\x12\x10\n\x08isAutoOn\x18\x06 \x01(\x08\x12\x12\n\nnbrPattern\x18\x07 \x01(\x05\x12\x12\n\nsinkDsrcID\x18\x08 \x01(\t\"7\n\x1dSpikeSorterIsAnyActiveRequest\x12\x16\n\x0espikeSorterIDs\x18\x01 \x03(\t\"O\n\x1bSpikeSorterIsAnyActiveReply\x12\x13\n\x0bisAnyActive\x18\x01 \x02(\x08\x12\x1b\n\x13\x61\x63tiveSpikeSorterID\x18\x02 \x01(\t\"\x8e\x02\n\x19SpikeSorterCommandRequest\x12\x15\n\rspikeSorterID\x18\x01 \x02(\t\x12\'\n\x03\x63md\x18\x02 \x02(\x0e\x32\x1a.allego.SpikeSorterCommand\x12-\n\x06subCmd\x18\x03 \x02(\x0e\x32\x1d.allego.SpikeSorterSubCommand\x12\x42\n\x0f\x63lustererParams\x18\x04 \x01(\x0b\x32).allego.SpikeSorterClustererParamsRequest\x12>\n\rfeatureParams\x18\x05 \x01(\x0b\x32\'.allego.SpikeSorterFeatureParamsRequest\"\x93\x01\n\x10SpikeSorterState\x12+\n\x03sys\x18\x01 \x02(\x0e\x32\x1e.allego.SpikeSorterStateSystem\x12\x14\n\x0c\x66racComplete\x18\x02 \x01(\x01\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\x0c\n\x04isOn\x18\x08 \x01(\x08\x12\x10\n\x08\x65rrorMsg\x18\t \x01(\t\x12\x0f\n\x07warnMsg\x18\n \x01(\t\"\x81\x01\n\x0cSpkSortIOreq\x12#\n\x04type\x18\x01 \x02(\x0e\x32\x15.allego.SpkSortIOtype\x12\'\n\x06target\x18\x02 \x02(\x0e\x32\x17.allego.SpkSortIOtarget\x12#\n\x04mode\x18\x03 \x02(\x0e\x32\x15.allego.SpkSortIOmode\"\x8f\x01\n\x16SpikeSorterLaunchReply\x12\x15\n\rspikeSorterID\x18\x01 \x02(\t\x12+\n\nsorterType\x18\x02 \x02(\x0e\x32\x17.allego.SpikeSorterType\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12$\n\x04\x64\x65sc\x18\x04 \x01(\x0b\x32\x16.allego.FileDescriptor\"1\n\x18GetSpikeSorterIDsRequest\x12\x15\n\rstreamGroupID\x18\x01 \x02(\t\"0\n\x16GetSpikeSorterIDsReply\x12\x16\n\x0espikeSorterIDs\x18\x01 \x03(\t\"\xdd\x01\n\x1fSpikeSorterGetRasterDataRequest\x12\x15\n\rspikeSorterID\x18\x01 \x02(\t\x12\x12\n\ntimeWindow\x18\x03 \x02(\x01\x12\x17\n\x0fplotWidthPoints\x18\x04 \x02(\x01\x12\x13\n\x0b\x63omponentID\x18\x05 \x02(\t\x12\x11\n\ttimeRange\x18\x06 \x03(\x01\x12 \n\x04mode\x18\x07 \x02(\x0e\x32\x12.allego.RasterMode\x12\x13\n\x0blabeledOnly\x18\x08 \x01(\x08\x12\x17\n\x0fprimarySiteOnly\x18\t \x01(\x08\"\x9d\x01\n\x1aSpikeSorterRasterDataReply\x12/\n\x0fspikeTimestamps\x18\x02 \x03(\x0b\x32\x16.allego.SpikeTimestamp\x12\x11\n\ttimeRange\x18\x03 \x03(\x01\x12\x16\n\x0etimeStampRange\x18\x04 \x03(\x03\x12\x10\n\x08GPIOData\x18\x05 \x02(\x0c\x12\x11\n\tGPIOShape\x18\x06 \x03(\x05\"J\n\x1aSpikeSorterStandardRequest\x12\x15\n\rstreamGroupID\x18\x01 \x01(\t\x12\x15\n\rspikeSorterID\x18\x02 \x01(\t\"_\n\x1bSpikeSorterDashboardRequest\x12\x15\n\rspikeSorterID\x18\x01 \x02(\t\x12)\n\x0c\x64\x61shElements\x18\x02 \x03(\x0e\x32\x13.allego.DashElement\"\x86\x03\n\x12SpikeSorterDynamic\x12\x11\n\tisEnabled\x18\x01 \x01(\x08\x12\x43\n\x0fupdatePeriodSec\x18\x02 \x01(\x0b\x32*.allego.SpikeSorterDynamic.UpdatePeriodSec\x12\x35\n\x08\x63riteria\x18\x03 \x01(\x0b\x32#.allego.SpikeSorterDynamic.Criteria\x1a\xa0\x01\n\x08\x43riteria\x12\x31\n\x06\x64\x65tect\x18\x01 \x01(\x0e\x32!.allego.SpikeSorterCriterionLevel\x12\x30\n\x05train\x18\x02 \x01(\x0e\x32!.allego.SpikeSorterCriterionLevel\x12/\n\x04sort\x18\x03 \x01(\x0e\x32!.allego.SpikeSorterCriterionLevel\x1a>\n\x0fUpdatePeriodSec\x12\x0e\n\x06\x64\x65tect\x18\x01 \x01(\x01\x12\r\n\x05train\x18\x02 \x01(\x01\x12\x0c\n\x04sort\x18\x03 \x01(\x01\"\xc5\x01\n\x1cSpikeSorterSetDynamicRequest\x12\x15\n\rspikeSorterID\x18\x01 \x02(\t\x12\x42\n\x07variant\x18\x02 \x03(\x0b\x32\x31.allego.SpikeSorterSetDynamicRequest.VariantEntry\x1aJ\n\x0cVariantEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.allego.SpikeSorterDynamic:\x02\x38\x01\"\xd8\x01\n\x1aSpikeSorterGetDynamicReply\x12\x15\n\rspikeSorterID\x18\x01 \x02(\t\x12\x15\n\rrootVariantID\x18\x02 \x02(\t\x12@\n\x07variant\x18\x03 \x03(\x0b\x32/.allego.SpikeSorterGetDynamicReply.VariantEntry\x1aJ\n\x0cVariantEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.allego.SpikeSorterDynamic:\x02\x38\x01\"l\n\x1fGetSpikeSorterParamCommandReply\x12\x15\n\rspikeSorterID\x18\x01 \x02(\t\x12\x32\n\x03rec\x18\x02 \x03(\x0b\x32%.allego.SpikeSorterParamCommandRecord\"3\n\x12\x43lusterMapOutliers\x12\x0c\n\x04mild\x18\x01 \x03(\x01\x12\x0f\n\x07\x65xtreme\x18\x02 \x03(\x01\"9\n\x13\x43lusterMapQuartiles\x12\n\n\x02q1\x18\x01 \x02(\x01\x12\n\n\x02q2\x18\x02 \x02(\x01\x12\n\n\x02q3\x18\x03 \x02(\x01\"\x83\x01\n\x0f\x43lusterMapStats\x12\x16\n\x0e\x63\x65ntroidCenter\x18\x01 \x03(\x01\x12\x12\n\ncentroidSd\x18\x02 \x03(\x01\x12\x16\n\x0e\x63\x65ntroidSdNorm\x18\x03 \x02(\x01\x12\x19\n\x11intraCentroidDist\x18\x04 \x03(\x01\x12\x11\n\tnumSpikes\x18\x05 \x02(\x03\"f\n\x10\x43lusterMapRecord\x12\r\n\x05label\x18\x01 \x02(\x05\x12&\n\x05stats\x18\x03 \x02(\x0b\x32\x17.allego.ClusterMapStats\x12\x1b\n\x13numSpikesTrainCache\x18\x04 \x02(\x03\"\xa8\x01\n\x13SpikeSortSiteStatus\x12\x12\n\nntvChanIdx\x18\x01 \x02(\x05\x12\x15\n\rorderedLabels\x18\x02 \x03(\x05\x12)\n\x07\x63luster\x18\x03 \x03(\x0b\x32\x18.allego.ClusterMapRecord\x12\x11\n\tnumSpikes\x18\x04 \x03(\x03\x12\x0c\n\x04zeta\x18\x05 \x03(\x01\x12\x1a\n\x12\x61ggregateSpikeRate\x18\x06 \x02(\x01\"\x8f\x01\n\x14SpikeSortPhaseStatus\x12\x11\n\ttimeRange\x18\x01 \x03(\x01\x12\x12\n\nchunkIndex\x18\x02 \x02(\x03\x12\x14\n\x0cupdatePeriod\x18\x03 \x02(\x01\x12\x0c\n\x04\x62\x65ta\x18\x04 \x02(\x01\x12\x12\n\nisComplete\x18\x05 \x02(\x08\x12\x18\n\x10\x66ractionComplete\x18\x06 \x02(\x01\"*\n\x13SpikeSortNbrIdxList\x12\x13\n\x0bntvChanIdxs\x18\x01 \x03(\x05\"\xf2\x02\n\x16SpikeSorterStatusReply\x12\'\n\x05state\x18\x01 \x02(\x0b\x32\x18.allego.SpikeSorterState\x12\x16\n\x0e\x62iointerfaceID\x18\x03 \x02(\t\x12\x14\n\x0c\x64\x61tasourceID\x18\x04 \x02(\t\x12\x10\n\x08sampFreq\x18\x05 \x02(\x01\x12\x19\n\x11\x65nabledNtvChanIdx\x18\x06 \x03(\x05\x12+\n\x05phase\x18\x07 \x03(\x0b\x32\x1c.allego.SpikeSortPhaseStatus\x12\x30\n\x0b\x65nabledSite\x18\x08 \x03(\x0b\x32\x1b.allego.SpikeSortSiteStatus\x12\x12\n\nprobeYield\x18\t \x02(\x01\x12\x11\n\tsortStats\x18\n \x03(\x01\x12\x1b\n\x13\x64\x61tasourceTimeRange\x18\x0c \x03(\x01\x12\x1d\n\x15\x62iointerfaceTimeRange\x18\r \x03(\x01\x12\x12\n\nnumNeurons\x18\x0f \x02(\x03\"R\n\x1eSpikeSorterStatusVariantsReply\x12\x30\n\x08variants\x18\x01 \x03(\x0b\x32\x1e.allego.SpikeSorterStatusReply\"\xfd\x02\n\x19SpikeSorterClassifierSpec\x12\r\n\x05\x61lpha\x18\x01 \x02(\x01\x12\x11\n\talphaBias\x18\x02 \x02(\x01\x12\x16\n\x0e\x64imOutputLayer\x18\x03 \x02(\x05\x12\x16\n\x0e\x65rrorTolerance\x18\x04 \x02(\x01\x12\x19\n\x11hiddenLayerFactor\x18\x05 \x02(\x01\x12\n\n\x02iD\x18\x06 \x02(\t\x12\x16\n\x0einitBiasStdDev\x18\x07 \x02(\x01\x12\x18\n\x10initWeightStdDev\x18\x08 \x02(\x01\x12\x11\n\tisMasking\x18\t \x02(\x08\x12\x10\n\x08l1lambda\x18\n \x02(\x01\x12\x15\n\rminibatchSize\x18\x0b \x02(\x05\x12\x15\n\rmaxNumSamples\x18\x0c \x02(\x05\x12\x11\n\tnumEpochs\x18\r \x02(\x05\x12\x19\n\x11numSamplesTestMSE\x18\x0e \x02(\x05\x12\x1b\n\x13numConcurrentModels\x18\x0f \x02(\x05\x12\x17\n\x0flabelNoiseLevel\x18\x10 \x02(\x01\"u\n\x16SpikeSorterVariantSpec\x12\n\n\x02iD\x18\x01 \x02(\t\x12\x14\n\x0csiteConfigID\x18\x02 \x02(\t\x12\x39\n\x0e\x63lassifierSpec\x18\x03 \x02(\x0b\x32!.allego.SpikeSorterClassifierSpec\"\xcc\x01\n\x0fSpikeSorterSpec\x12\x15\n\rspikeSorterID\x18\x01 \x02(\t\x12\x14\n\x0c\x64\x61tasourceID\x18\x02 \x02(\t\x12\x16\n\x0e\x62iointerfaceID\x18\x03 \x02(\t\x12\x1b\n\x13maxNumSiteNeighbors\x18\x04 \x02(\x05\x12\x18\n\x10neighborRadiusUm\x18\x05 \x02(\x01\x12/\n\x07variant\x18\x06 \x03(\x0b\x32\x1e.allego.SpikeSorterVariantSpec\x12\x0c\n\x04seed\x18\x08 \x02(\x03\"\xc2\x01\n\x19SpikeSorterGetConfigReply\x12%\n\x04spec\x18\x01 \x02(\x0b\x32\x17.allego.SpikeSorterSpec\x12\x16\n\x0e\x61IupdatePeriod\x18\x02 \x02(\x01\x12\x19\n\x11orderedVariantIDs\x18\x03 \x03(\t\x12\x15\n\rrootVariantID\x18\x04 \x02(\t\x12\x34\n\x0csorterStatus\x18\x06 \x03(\x0b\x32\x1e.allego.SpikeSorterStatusReply\"\x90\x02\n\x15SpikeSorterVizRequest\x12\x15\n\rspikeSorterID\x18\x01 \x02(\t\x12\x11\n\tvariantID\x18\x02 \x02(\t\x12\x12\n\nntvChanIdx\x18\x03 \x03(\x05\x12\x13\n\x0bspikeLabels\x18\x04 \x03(\x05\x12\x34\n\x07vizType\x18\x05 \x02(\x0e\x32#.allego.SpikeSorterVizRequest.VType\x12\x14\n\x0cisYAutoScale\x18\x06 \x02(\x08\x12\x0c\n\x04yLim\x18\x07 \x03(\x01\x12\x0e\n\x06\x66igDir\x18\x08 \x02(\t\x12\x11\n\tnumSpikes\x18\t \x02(\x05\"\'\n\x05VType\x12\x1e\n\x1aVIZ_SPIKESORT_TRAIN_SPIKES\x10\x00\"\x8b\x01\n!SpikeSorterClustererParamsRequest\x12\x18\n\x10posInfluenceFrac\x18\x01 \x01(\x01\x12\x1d\n\x15wfmShapeInfluenceFrac\x18\x02 \x01(\x01\x12\x0b\n\x03\x65ps\x18\x03 \x01(\x01\x12\x0e\n\x06minPts\x18\x04 \x01(\x05\x12\x10\n\x08\x64isabled\x18\x05 \x01(\x08\"\x90\x01\n\x1fSpikeSorterFeatureParamsRequest\x12\x13\n\x0bnumFeatures\x18\x01 \x02(\x05\x12-\n\x0b\x66\x65\x61tureType\x18\x02 \x01(\x0e\x32\x18.allego.InputFeatureType\x12\x11\n\tlatentDim\x18\x03 \x01(\x05\x12\x16\n\x0eresampleWfmLen\x18\x04 \x01(\x05\"\xe9\x01\n\x1dSpikeSorterFeatureParamsReply\x12\x15\n\rspikeSorterID\x18\x01 \x02(\t\x12-\n\x0b\x66\x65\x61tureType\x18\x02 \x02(\x0e\x32\x18.allego.InputFeatureType\x12\x16\n\x0emaxNumFeatures\x18\x03 \x02(\x05\x12\x13\n\x0bnumFeatures\x18\x04 \x02(\x05\x12\x18\n\x10posInfluenceFrac\x18\x05 \x02(\x02\x12\x1d\n\x15wfmShapeInfluenceFrac\x18\x06 \x02(\x02\x12\x1c\n\x14isClusteringDisabled\x18\x07 \x02(\x08\"\xb6\x05\n\x19SpikeSorterDashboardReply\x12\"\n\x0c\x65nabledPorts\x18\x01 \x03(\x0e\x32\x0c.allego.Port\x12\x37\n\x07general\x18\x02 \x01(\x0b\x32&.allego.SpikeSorterDashboardGeneralRec\x12\x33\n\tsiteStats\x18\x03 \x01(\x0b\x32 .allego.IndicoDashboardSiteStats\x12\x43\n\tportStats\x18\x04 \x03(\x0b\x32\x30.allego.SpikeSorterDashboardReply.PortStatsEntry\x12\x43\n\tsitePanel\x18\x05 \x03(\x0b\x32\x30.allego.SpikeSorterDashboardReply.SitePanelEntry\x12G\n\x0bneuronPanel\x18\x06 \x03(\x0b\x32\x32.allego.SpikeSorterDashboardReply.NeuronPanelEntry\x12*\n\x02\x61I\x18\x07 \x01(\x0b\x32\x1e.allego.SpikeSorterDashboardAI\x1aR\n\x0ePortStatsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .allego.IndicoDashboardPortStats:\x02\x38\x01\x1aW\n\x0eSitePanelEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32%.allego.IndicoDashboardSiteIndicators:\x02\x38\x01\x1a[\n\x10NeuronPanelEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.allego.IndicoDashboardNeuronIndicators:\x02\x38\x01\"\xac\x03\n\x1eSpikeSorterDashboardGeneralRec\x12\'\n\x05state\x18\x01 \x02(\x0b\x32\x18.allego.SpikeSorterState\x12+\n\nsorterType\x18\x02 \x02(\x0e\x32\x17.allego.SpikeSorterType\x12\x10\n\x08sorterID\x18\x03 \x02(\t\x12\x14\n\x0c\x64\x61tasourceID\x18\x04 \x02(\t\x12\x11\n\ttimeRange\x18\x05 \x03(\x01\x12\x15\n\rnumTotalSites\x18\x06 \x02(\x03\x12\x17\n\x0fnumEnabledSites\x18\x07 \x02(\x03\x12\x16\n\x0enumActiveSites\x18\x08 \x02(\x03\x12\x12\n\nnumNeurons\x18\t \x02(\x03\x12\x12\n\nprobeYield\x18\n \x02(\x01\x12\x11\n\tsiteYield\x18\x0b \x02(\x01\x12\x1a\n\x12numSpikesProcessed\x18\x0c \x02(\x03\x12\x18\n\x10numSpikesLabeled\x18\r \x02(\x03\x12\x16\n\x0esortEfficiency\x18\x0e \x02(\x01\x12(\n\x08sinkDesc\x18\x0f \x02(\x0b\x32\x16.allego.FileDescriptor\"\xd5\x01\n\x16SpikeSorterDashboardAI\x12\x0c\n\x04\x62\x65ta\x18\x01 \x02(\x01\x12\"\n\x1a\x65stimatedReaderCompleteSec\x18\x02 \x02(\x01\x12\x1a\n\x12interSessionDurSec\x18\x03 \x02(\x01\x12\x19\n\x11interSessionStart\x18\x04 \x02(\t\x12\x15\n\rsessionDurSec\x18\x05 \x02(\x01\x12\x14\n\x0csessionStart\x18\x06 \x02(\t\x12\x12\n\nsessionIdx\x18\x07 \x02(\x03\x12\x11\n\tstartTime\x18\x08 \x02(\t\"_\n\x18IndicoDashboardSiteStats\x12\x0b\n\x03snr\x18\x01 \x03(\x01\x12\r\n\x05noise\x18\x02 \x03(\x01\x12\x13\n\x0bneuronYield\x18\x03 \x03(\x01\x12\x12\n\nnumNeurons\x18\x04 \x02(\x03\"\x90\x01\n\x18IndicoDashboardPortStats\x12\x0b\n\x03snr\x18\x01 \x03(\x01\x12\r\n\x05noise\x18\x02 \x03(\x01\x12\x13\n\x0bneuronYield\x18\x03 \x03(\x01\x12\x16\n\x0esortEfficiency\x18\x04 \x02(\x01\x12\x17\n\x0fnumEnabledSites\x18\x05 \x02(\x03\x12\x12\n\nnumNeurons\x18\x06 \x02(\x03\"\xd9\x01\n\x1dIndicoDashboardSiteIndicators\x12\x12\n\nntvChanIdx\x18\x01 \x03(\x05\x12\x0b\n\x03snr\x18\x02 \x03(\x01\x12\r\n\x05noise\x18\x03 \x03(\x01\x12\x13\n\x0bneuronYield\x18\x04 \x03(\x01\x12\x16\n\x0esortEfficiency\x18\x05 \x03(\x01\x12\x11\n\tspikeRate\x18\x06 \x03(\x01\x12\x11\n\tposProbeX\x18\x07 \x03(\x01\x12\x11\n\tposProbeY\x18\x08 \x03(\x01\x12\x11\n\tposProbeZ\x18\t \x03(\x01\x12\x0f\n\x07siteNum\x18\n \x03(\x05\"\xb1\x01\n\x1fIndicoDashboardNeuronIndicators\x12\x10\n\x08neuronID\x18\x01 \x03(\t\x12\x0b\n\x03snr\x18\x02 \x03(\x01\x12\x11\n\tspikeRate\x18\x03 \x03(\x01\x12\x11\n\tposProbeX\x18\x04 \x03(\x01\x12\x11\n\tposProbeY\x18\x05 \x03(\x01\x12\x11\n\tposProbeZ\x18\x06 \x03(\x01\x12\x0f\n\x07siteNum\x18\x07 \x03(\x05\x12\x12\n\nspikeLabel\x18\x08 \x03(\x05\"\xa7\x02\n\x1cSpikeSorterDashboardSiteDesc\x12\x1a\n\x04port\x18\x01 \x02(\x0e\x32\x0c.allego.Port\x12\x12\n\nntvChanIdx\x18\x02 \x02(\x05\x12\x10\n\x08posProbe\x18\x03 \x03(\x01\x12\x10\n\x08posBrain\x18\x04 \x03(\x01\x12\x0e\n\x06snrMax\x18\x05 \x02(\x01\x12\x0e\n\x06snrMin\x18\x06 \x02(\x01\x12\x12\n\nnoiseLevel\x18\x07 \x02(\x01\x12\x12\n\nnumNeurons\x18\x08 \x02(\x03\x12/\n\rindicoCluster\x18\n \x03(\x0b\x32\x18.allego.ClusterMapRecord\x12\x1c\n\x14pileWaveformMinValue\x18\r \x02(\x02\x12\x1c\n\x14pileWaveformMaxValue\x18\x0e \x02(\x02\"\xd2\x01\n\x1eSpikeSorterDashboardNeuronDesc\x12\x1a\n\x04port\x18\x01 \x02(\x0e\x32\x0c.allego.Port\x12&\n\x04\x64\x65sc\x18\x02 \x02(\x0b\x32\x18.allego.NeuronDescriptor\x12\x0b\n\x03snr\x18\x05 \x02(\x01\x12\x0f\n\x07IsihMax\x18\x06 \x02(\x01\x12\x15\n\rIsihArgmaxSec\x18\x07 \x02(\x01\x12\x15\n\rIsihArgmaxIdx\x18\x08 \x02(\x03\x12\x10\n\x08IsihMean\x18\t \x02(\x01\x12\x0e\n\x06IsihSd\x18\n \x02(\x01\"\xfa\x01\n SpikeSorterDashboardNeuronDetail\x12&\n\x04\x64\x65sc\x18\x01 \x02(\x0b\x32\x18.allego.NeuronDescriptor\x12\x18\n\x10templateWaveform\x18\x02 \x03(\x02\x12\x1a\n\x12templateSdWaveform\x18\x03 \x03(\x02\x12\x18\n\x10pileWaveformData\x18\x04 \x03(\x02\x12\x1e\n\x16numSamplesPileWaveform\x18\x05 \x02(\x05\x12\x18\n\x10numPileWaveforms\x18\x06 \x02(\x05\x12$\n\x04isih\x18\x0b \x02(\x0b\x32\x16.allego.NeuronHistData\"\xa9\x01\n\x1eSpikeSorterDashboardSiteDetail\x12\x32\n\x04\x64\x65sc\x18\x01 \x02(\x0b\x32$.allego.SpikeSorterDashboardSiteDesc\x12\x19\n\x11orderedSpikeLabel\x18\x02 \x03(\x05\x12\x38\n\x06neuron\x18\x03 \x03(\x0b\x32(.allego.SpikeSorterDashboardNeuronDetail*\x80\x01\n\x0fSpikeSorterType\x12\x0f\n\x0bSORTER_NULL\x10\x00\x12\x15\n\x11SORTER_VEX_STREAM\x10\x01\x12\x18\n\x14SORTER_SPIKES_STREAM\x10\x02\x12\x13\n\x0fSORTER_VEX_FILE\x10\x03\x12\x16\n\x12SORTER_SPIKES_FILE\x10\x04*\x82\x01\n\x12SpikeSorterCommand\x12\x11\n\rSORTER_CMD_ON\x10\x00\x12\x12\n\x0eSORTER_CMD_OFF\x10\x01\x12\x19\n\x15SORTER_CMD_CLEAR_SORT\x10\x02\x12\x15\n\x11SORTER_CMD_REBASE\x10\x04\x12\x13\n\x0fSORTER_CMD_INIT\x10\x05*/\n\x15SpikeSorterSubCommand\x12\x16\n\x12SORTER_SUBCMD_NULL\x10\x00*@\n\x0fSpikeSorterMode\x12\x16\n\x12SORTER_MODE_STREAM\x10\x00\x12\x15\n\x11SORTER_MODE_BATCH\x10\x01*I\n\x16SpikeSorterStateSystem\x12\n\n\x06SYS_ON\x10\x00\x12\x0b\n\x07SYS_OFF\x10\x01\x12\x16\n\x12SYS_NOT_CONFIGURED\x10\x02*f\n\rSpkSortIOtype\x12\x17\n\x13SPK_SORT_IO_NETWORK\x10\x00\x12\x17\n\x13SPK_SORT_IO_TRAINER\x10\x01\x12#\n\x1fSPK_SORT_IO_NETWORK_AND_TRAINER\x10\x02*>\n\x0fSpkSortIOtarget\x12\x14\n\x10SPK_SORT_IO_FSYS\x10\x00\x12\x15\n\x11SPK_SORT_IO_CLOUD\x10\x01*;\n\rSpkSortIOmode\x12\x14\n\x10SPK_SORT_IO_SAVE\x10\x00\x12\x14\n\x10SPK_SORT_IO_LOAD\x10\x01*\'\n\nRasterMode\x12\x0c\n\x08\x43HANNELS\x10\x00\x12\x0b\n\x07NEURONS\x10\x01*\x89\x01\n\x0b\x44\x61shElement\x12\x11\n\rENABLED_PORTS\x10\x01\x12\x0b\n\x07GENERAL\x10\x02\x12\x0e\n\nPORT_STATS\x10\x03\x12\x0e\n\nSITE_STATS\x10\x04\x12\x0e\n\nSITE_PANEL\x10\x05\x12\x10\n\x0cNEURON_STATS\x10\x06\x12\x10\n\x0cNEURON_PANEL\x10\x07\x12\x06\n\x02\x41I\x10\x08*u\n\x19SpikeSorterCriterionLevel\x12\x10\n\x0cSORTER_LEAST\x10\x00\x12\x0f\n\x0bSORTER_LESS\x10\x01\x12\x13\n\x0fSORTER_BALANCED\x10\x02\x12\x0f\n\x0bSORTER_MORE\x10\x03\x12\x0f\n\x0bSORTER_MOST\x10\x04*\x84\x01\n\x07SS_STAT\x12\x08\n\x04MEAN\x10\x00\x12\x06\n\x02SD\x10\x01\x12\x08\n\x04MODE\x10\x02\x12\x07\n\x03MIN\x10\x03\x12\x07\n\x03MAX\x10\x04\x12\x0e\n\nMODE_COUNT\x10\x05\x12\n\n\x06MEDIAN\x10\x06\x12\x07\n\x03Q25\x10\x07\x12\x07\n\x03Q75\x10\x08\x12\x08\n\x04SKEW\x10\t\x12\x0c\n\x08KURTOSIS\x10\n\x12\x05\n\x01N\x10\x0b*b\n\x10InputFeatureType\x12\x10\n\x0c\x46TR_TYPE_WFM\x10\x00\x12\x10\n\x0c\x46TR_TYPE_SPD\x10\x01\x12\x14\n\x10\x46TR_TYPE_WFM_POS\x10\x02\x12\x14\n\x10\x46TR_TYPE_SPD_POS\x10\x03\x42\x15Z\x13internal/radix/grpc')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'spikesorter_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'Z\023internal/radix/grpc'
  _globals['_SPIKESORTERSETDYNAMICREQUEST_VARIANTENTRY']._loaded_options = None
  _globals['_SPIKESORTERSETDYNAMICREQUEST_VARIANTENTRY']._serialized_options = b'8\001'
  _globals['_SPIKESORTERGETDYNAMICREPLY_VARIANTENTRY']._loaded_options = None
  _globals['_SPIKESORTERGETDYNAMICREPLY_VARIANTENTRY']._serialized_options = b'8\001'
  _globals['_SPIKESORTERDASHBOARDREPLY_PORTSTATSENTRY']._loaded_options = None
  _globals['_SPIKESORTERDASHBOARDREPLY_PORTSTATSENTRY']._serialized_options = b'8\001'
  _globals['_SPIKESORTERDASHBOARDREPLY_SITEPANELENTRY']._loaded_options = None
  _globals['_SPIKESORTERDASHBOARDREPLY_SITEPANELENTRY']._serialized_options = b'8\001'
  _globals['_SPIKESORTERDASHBOARDREPLY_NEURONPANELENTRY']._loaded_options = None
  _globals['_SPIKESORTERDASHBOARDREPLY_NEURONPANELENTRY']._serialized_options = b'8\001'
  _globals['_SPIKESORTERTYPE']._serialized_start=8684
  _globals['_SPIKESORTERTYPE']._serialized_end=8812
  _globals['_SPIKESORTERCOMMAND']._serialized_start=8815
  _globals['_SPIKESORTERCOMMAND']._serialized_end=8945
  _globals['_SPIKESORTERSUBCOMMAND']._serialized_start=8947
  _globals['_SPIKESORTERSUBCOMMAND']._serialized_end=8994
  _globals['_SPIKESORTERMODE']._serialized_start=8996
  _globals['_SPIKESORTERMODE']._serialized_end=9060
  _globals['_SPIKESORTERSTATESYSTEM']._serialized_start=9062
  _globals['_SPIKESORTERSTATESYSTEM']._serialized_end=9135
  _globals['_SPKSORTIOTYPE']._serialized_start=9137
  _globals['_SPKSORTIOTYPE']._serialized_end=9239
  _globals['_SPKSORTIOTARGET']._serialized_start=9241
  _globals['_SPKSORTIOTARGET']._serialized_end=9303
  _globals['_SPKSORTIOMODE']._serialized_start=9305
  _globals['_SPKSORTIOMODE']._serialized_end=9364
  _globals['_RASTERMODE']._serialized_start=9366
  _globals['_RASTERMODE']._serialized_end=9405
  _globals['_DASHELEMENT']._serialized_start=9408
  _globals['_DASHELEMENT']._serialized_end=9545
  _globals['_SPIKESORTERCRITERIONLEVEL']._serialized_start=9547
  _globals['_SPIKESORTERCRITERIONLEVEL']._serialized_end=9664
  _globals['_SS_STAT']._serialized_start=9667
  _globals['_SS_STAT']._serialized_end=9799
  _globals['_INPUTFEATURETYPE']._serialized_start=9801
  _globals['_INPUTFEATURETYPE']._serialized_end=9899
  _globals['_EXPORTSPIKESREQUEST']._serialized_start=63
  _globals['_EXPORTSPIKESREQUEST']._serialized_end=162
  _globals['_SPIKESORTERLAUNCHREQUEST']._serialized_start=165
  _globals['_SPIKESORTERLAUNCHREQUEST']._serialized_end=463
  _globals['_SPIKESORTERISANYACTIVEREQUEST']._serialized_start=465
  _globals['_SPIKESORTERISANYACTIVEREQUEST']._serialized_end=520
  _globals['_SPIKESORTERISANYACTIVEREPLY']._serialized_start=522
  _globals['_SPIKESORTERISANYACTIVEREPLY']._serialized_end=601
  _globals['_SPIKESORTERCOMMANDREQUEST']._serialized_start=604
  _globals['_SPIKESORTERCOMMANDREQUEST']._serialized_end=874
  _globals['_SPIKESORTERSTATE']._serialized_start=877
  _globals['_SPIKESORTERSTATE']._serialized_end=1024
  _globals['_SPKSORTIOREQ']._serialized_start=1027
  _globals['_SPKSORTIOREQ']._serialized_end=1156
  _globals['_SPIKESORTERLAUNCHREPLY']._serialized_start=1159
  _globals['_SPIKESORTERLAUNCHREPLY']._serialized_end=1302
  _globals['_GETSPIKESORTERIDSREQUEST']._serialized_start=1304
  _globals['_GETSPIKESORTERIDSREQUEST']._serialized_end=1353
  _globals['_GETSPIKESORTERIDSREPLY']._serialized_start=1355
  _globals['_GETSPIKESORTERIDSREPLY']._serialized_end=1403
  _globals['_SPIKESORTERGETRASTERDATAREQUEST']._serialized_start=1406
  _globals['_SPIKESORTERGETRASTERDATAREQUEST']._serialized_end=1627
  _globals['_SPIKESORTERRASTERDATAREPLY']._serialized_start=1630
  _globals['_SPIKESORTERRASTERDATAREPLY']._serialized_end=1787
  _globals['_SPIKESORTERSTANDARDREQUEST']._serialized_start=1789
  _globals['_SPIKESORTERSTANDARDREQUEST']._serialized_end=1863
  _globals['_SPIKESORTERDASHBOARDREQUEST']._serialized_start=1865
  _globals['_SPIKESORTERDASHBOARDREQUEST']._serialized_end=1960
  _globals['_SPIKESORTERDYNAMIC']._serialized_start=1963
  _globals['_SPIKESORTERDYNAMIC']._serialized_end=2353
  _globals['_SPIKESORTERDYNAMIC_CRITERIA']._serialized_start=2129
  _globals['_SPIKESORTERDYNAMIC_CRITERIA']._serialized_end=2289
  _globals['_SPIKESORTERDYNAMIC_UPDATEPERIODSEC']._serialized_start=2291
  _globals['_SPIKESORTERDYNAMIC_UPDATEPERIODSEC']._serialized_end=2353
  _globals['_SPIKESORTERSETDYNAMICREQUEST']._serialized_start=2356
  _globals['_SPIKESORTERSETDYNAMICREQUEST']._serialized_end=2553
  _globals['_SPIKESORTERSETDYNAMICREQUEST_VARIANTENTRY']._serialized_start=2479
  _globals['_SPIKESORTERSETDYNAMICREQUEST_VARIANTENTRY']._serialized_end=2553
  _globals['_SPIKESORTERGETDYNAMICREPLY']._serialized_start=2556
  _globals['_SPIKESORTERGETDYNAMICREPLY']._serialized_end=2772
  _globals['_SPIKESORTERGETDYNAMICREPLY_VARIANTENTRY']._serialized_start=2479
  _globals['_SPIKESORTERGETDYNAMICREPLY_VARIANTENTRY']._serialized_end=2553
  _globals['_GETSPIKESORTERPARAMCOMMANDREPLY']._serialized_start=2774
  _globals['_GETSPIKESORTERPARAMCOMMANDREPLY']._serialized_end=2882
  _globals['_CLUSTERMAPOUTLIERS']._serialized_start=2884
  _globals['_CLUSTERMAPOUTLIERS']._serialized_end=2935
  _globals['_CLUSTERMAPQUARTILES']._serialized_start=2937
  _globals['_CLUSTERMAPQUARTILES']._serialized_end=2994
  _globals['_CLUSTERMAPSTATS']._serialized_start=2997
  _globals['_CLUSTERMAPSTATS']._serialized_end=3128
  _globals['_CLUSTERMAPRECORD']._serialized_start=3130
  _globals['_CLUSTERMAPRECORD']._serialized_end=3232
  _globals['_SPIKESORTSITESTATUS']._serialized_start=3235
  _globals['_SPIKESORTSITESTATUS']._serialized_end=3403
  _globals['_SPIKESORTPHASESTATUS']._serialized_start=3406
  _globals['_SPIKESORTPHASESTATUS']._serialized_end=3549
  _globals['_SPIKESORTNBRIDXLIST']._serialized_start=3551
  _globals['_SPIKESORTNBRIDXLIST']._serialized_end=3593
  _globals['_SPIKESORTERSTATUSREPLY']._serialized_start=3596
  _globals['_SPIKESORTERSTATUSREPLY']._serialized_end=3966
  _globals['_SPIKESORTERSTATUSVARIANTSREPLY']._serialized_start=3968
  _globals['_SPIKESORTERSTATUSVARIANTSREPLY']._serialized_end=4050
  _globals['_SPIKESORTERCLASSIFIERSPEC']._serialized_start=4053
  _globals['_SPIKESORTERCLASSIFIERSPEC']._serialized_end=4434
  _globals['_SPIKESORTERVARIANTSPEC']._serialized_start=4436
  _globals['_SPIKESORTERVARIANTSPEC']._serialized_end=4553
  _globals['_SPIKESORTERSPEC']._serialized_start=4556
  _globals['_SPIKESORTERSPEC']._serialized_end=4760
  _globals['_SPIKESORTERGETCONFIGREPLY']._serialized_start=4763
  _globals['_SPIKESORTERGETCONFIGREPLY']._serialized_end=4957
  _globals['_SPIKESORTERVIZREQUEST']._serialized_start=4960
  _globals['_SPIKESORTERVIZREQUEST']._serialized_end=5232
  _globals['_SPIKESORTERVIZREQUEST_VTYPE']._serialized_start=5193
  _globals['_SPIKESORTERVIZREQUEST_VTYPE']._serialized_end=5232
  _globals['_SPIKESORTERCLUSTERERPARAMSREQUEST']._serialized_start=5235
  _globals['_SPIKESORTERCLUSTERERPARAMSREQUEST']._serialized_end=5374
  _globals['_SPIKESORTERFEATUREPARAMSREQUEST']._serialized_start=5377
  _globals['_SPIKESORTERFEATUREPARAMSREQUEST']._serialized_end=5521
  _globals['_SPIKESORTERFEATUREPARAMSREPLY']._serialized_start=5524
  _globals['_SPIKESORTERFEATUREPARAMSREPLY']._serialized_end=5757
  _globals['_SPIKESORTERDASHBOARDREPLY']._serialized_start=5760
  _globals['_SPIKESORTERDASHBOARDREPLY']._serialized_end=6454
  _globals['_SPIKESORTERDASHBOARDREPLY_PORTSTATSENTRY']._serialized_start=6190
  _globals['_SPIKESORTERDASHBOARDREPLY_PORTSTATSENTRY']._serialized_end=6272
  _globals['_SPIKESORTERDASHBOARDREPLY_SITEPANELENTRY']._serialized_start=6274
  _globals['_SPIKESORTERDASHBOARDREPLY_SITEPANELENTRY']._serialized_end=6361
  _globals['_SPIKESORTERDASHBOARDREPLY_NEURONPANELENTRY']._serialized_start=6363
  _globals['_SPIKESORTERDASHBOARDREPLY_NEURONPANELENTRY']._serialized_end=6454
  _globals['_SPIKESORTERDASHBOARDGENERALREC']._serialized_start=6457
  _globals['_SPIKESORTERDASHBOARDGENERALREC']._serialized_end=6885
  _globals['_SPIKESORTERDASHBOARDAI']._serialized_start=6888
  _globals['_SPIKESORTERDASHBOARDAI']._serialized_end=7101
  _globals['_INDICODASHBOARDSITESTATS']._serialized_start=7103
  _globals['_INDICODASHBOARDSITESTATS']._serialized_end=7198
  _globals['_INDICODASHBOARDPORTSTATS']._serialized_start=7201
  _globals['_INDICODASHBOARDPORTSTATS']._serialized_end=7345
  _globals['_INDICODASHBOARDSITEINDICATORS']._serialized_start=7348
  _globals['_INDICODASHBOARDSITEINDICATORS']._serialized_end=7565
  _globals['_INDICODASHBOARDNEURONINDICATORS']._serialized_start=7568
  _globals['_INDICODASHBOARDNEURONINDICATORS']._serialized_end=7745
  _globals['_SPIKESORTERDASHBOARDSITEDESC']._serialized_start=7748
  _globals['_SPIKESORTERDASHBOARDSITEDESC']._serialized_end=8043
  _globals['_SPIKESORTERDASHBOARDNEURONDESC']._serialized_start=8046
  _globals['_SPIKESORTERDASHBOARDNEURONDESC']._serialized_end=8256
  _globals['_SPIKESORTERDASHBOARDNEURONDETAIL']._serialized_start=8259
  _globals['_SPIKESORTERDASHBOARDNEURONDETAIL']._serialized_end=8509
  _globals['_SPIKESORTERDASHBOARDSITEDETAIL']._serialized_start=8512
  _globals['_SPIKESORTERDASHBOARDSITEDETAIL']._serialized_end=8681
# @@protoc_insertion_point(module_scope)
