{"id":19252283,"url":"https://github.com/sccn/neuroscanio","last_synced_at":"2025-04-21T13:30:51.967Z","repository":{"id":75173159,"uuid":"179326252","full_name":"sccn/neuroscanio","owner":"sccn","description":"Function to import Neuroscan data into EEGLAB","archived":false,"fork":false,"pushed_at":"2024-08-05T18:50:34.000Z","size":28650,"stargazers_count":10,"open_issues_count":1,"forks_count":3,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-01T13:38:06.557Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sccn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-03T16:12:23.000Z","updated_at":"2024-08-05T18:50:38.000Z","dependencies_parsed_at":"2024-08-05T21:55:47.332Z","dependency_job_id":null,"html_url":"https://github.com/sccn/neuroscanio","commit_stats":{"total_commits":27,"total_committers":4,"mean_commits":6.75,"dds":0.2222222222222222,"last_synced_commit":"353369134d9988f3991e140c65eca0c978e2d496"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sccn%2Fneuroscanio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sccn%2Fneuroscanio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sccn%2Fneuroscanio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sccn%2Fneuroscanio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sccn","download_url":"https://codeload.github.com/sccn/neuroscanio/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250064542,"owners_count":21368922,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T18:26:14.115Z","updated_at":"2025-04-21T13:30:46.960Z","avatar_url":"https://github.com/sccn.png","language":"MATLAB","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Neuroscan-io\nImport .CNT, .EEG Neuroscan binary files as well as Neuroscan epoch file (.DAT) and Neuroscan event files (.EV2) into EEGLAB. There are also functions to import Neuroscan ASCII (text) location files from the command line as well as a beta function to export continuous CNT files from the command line.\t\n\nNote: In our experience, importing Neuroscan files is not an easy matter and no universal read function may exist. We include some other old tools below and hope they might help. Most of the documentation below is from 2002 but we included it as it might still be relevant for some researchers.\n\nA collection of tools are included in [this data file](https://sccn.ucsd.edu/~arno/cntload.zip). They are detailed below.\n\nThe only function that I know which worked on my data (acquired with NEUROSCAN 3) were these 2 programs under WINDOWS/DOS-. \nHowever we do not have the source of these program and I was trying to read my data under UNIX.\n\nCNTTOASC from this local folder (not available from Neuroscan anymore).\nCNT2BIN from the neuroscan web site\n\nOTHER PROGRAMS THAT READ CNT\n\nCNT2ASC\n(I put the link because the sources are no more accessible). However the sources do not work (output and empty file and say error in file format). I compiled them on Unix and Dos and it is the same.\nbut they should be close to the sources of  CNTTOASC. I tried to look at how they read the raw data. They use the channeloffset field to read blocks of data. However this field is 0 on my data.\n\nLOADCNT of the neurotool software.\n\nLDCNTB; Matlab function of Andrew James. Read well all dataset info but problem for the data itself (which are not continuous). This function is available on the previous page or down on this one.\n\nANALYSE_NEUROSCAN. Matlab function by J-R Duann, a co-worker of mine who have been working for Neuroscan (this guy knew what he was doing for sure). I did not test the function but it seams to me that it is only compatible with version. The function is here.\n\nGNUROSCAN \nThe header file gnuro.h which is included alongside cntcat.c in the\nGnuroscan distribution defines the offsets for relevant elements of\nthe Setup (S_), Electloc (EL_), and tagged-eeg (TEEG_) data structures.\nNote that Neuroscan's .CNT format actually encompasses two formats, a\nblock-multiplexed one for data acquired from Neuroscan's own SYNAMPS\nhardware, and a fully multiplexed one for non-SYNAMPS data. Gnuroscan\nhandles only the fully multiplexed (non-SYNAMPS) data, because I didn't\nhave access to any SYNAMPS data when I wrote the code. The data that\nyou mention in the final paragraph on this page, in blocks of forty\nshort integers, must be from SYNAMPS (info courtesy of Matthew Belmonte).\n\nSTAN SOFTWARE\nno sources\n\nDUMPCNT\ncannot acess page\n\nTESTREAD is small C program determining the offset of fields in the header. However, there is a problem with the size of the header (sethead.h) because offsets appear to be 4 bytes shifted (I redownloaded the sethead.h file from the Neuroscan site, but it's the same. I manually corrected for that but send me an email at arnosalk.edu (fake 'at' sign to prevent spam) if you figure out why.\n\neeg_load_scan_cnt from the EEG TOOLBOX (http://eeg.sourceforge.net). I couldn't get the function to work on my data.\n\nAfter extensive searches, we realized that for our continuous CNT files, data was stored in blocks of 40 unsigned short integers for each channel [[40 bytes] * nb_channel] * nb_blocks. We couldn't find where this parameter (size of the block) was specified in the header, so we added the option 'blockread' and input the number 40 manually, ldcnt (then what I read is undistinguishable from the ASCII files I would read in Matlab after conversion by CNTTOASC or CNTTOBIN).\n\nTime interval input for loadcnt function: If the imported data don't look like continuous EEG, try changing this number. Most often it should be 1 or 40, but other values may work. \n\n# Alignemnt of responses stored in .DAT files\n\nUse the script test_response_alignement.m to test alignemtn of responses in the .dat files and responses in the CNT file (when present). \n\n# Version history\n\nVersion 1.8\n- Import more information from the .dat file\n\nVersion 1.7\n- Allowing to import .dat files into continuous files\n\nVersion 1.6\n- Deleting readneurolocs to avoid conflicts\n\nVersion 1.5\n- Fix issue for Octave compatibility\n\nVersion 1.4 update\n- fix readneurolocs as it was importing an additional empty column\n\nVersion 1.3 update\n- loadcnt can now read events for files larger than 1Gb. Contribution from edauer1 on Github.\n\nVersion 1.2 update\n- pop_writeeeg.m was removed and placed back in the main EEGLAB distribution (it was a mistake to include it in the first place as it is designed to export EDF and BDF files, not Neuroscan files)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsccn%2Fneuroscanio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsccn%2Fneuroscanio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsccn%2Fneuroscanio/lists"}