Functional architecture of the FSPS™ programme. The main menu (1) allows the user to initiate new recordings (2), visualize raw data or results (3) and to get fast access to any stage of the data processing (4 and 5). All other modules of the programme are loop-structured and prompt the user to execute a procedure when necessary. Dynamic links between modules and storage of critical parameters during SVD of data matrix and unsupervised FCM allows the program to solve the invariance problem during PCA, automatically select features to be used in online fuzzy classification, choose the best settings for clustering (new or previously calculated for each recording site) and remove noise. Elements included in the dotted block are crucial parameters obtained during multivariate analysis and unsupervised FCM, which are stored externally from the programme for use during fuzzy classification. These are updated when necessary. Output classes (namely, labelled groups of PCs), together with participating elements, thus represent different single neurons of specific action potential waveform, and then indicate their location in the raw signal. Elements marked with dashed line (VI 1 and VI 2) are two separated Virtual Instruments (VI) working simultaneously either on one computer with multi-core processor architecture or two different single-processor computers connected to a LAN. Solid blocks and lines inside VI 1 element – parts of the programme involved in the online procedures; dotted blocks and lines – parts that run once to get the prototype, before starting online classification.