Skip to main content

pyCEDFS

A very WIP python module to allow reading and import of Ced File System (CFS) electrophysiology files generated by the signal software suite: http://ced.co.uk/products/sigovin. Leverages the CFS c library provided by CED to read data.

Currently supports opening the file and reading metadata, and data Currently only functions on 64-bit installations of windows.

Install

CED's CFS library requires the 64-bit Microsoft Visual Studio C++ 2010 Runtime in order to run, which can be downloaded here. Once installed, you can install the latest PyPI release of pyCEDFS using pip:

pip install pyCEDFS

Example Usage

import pyCEDFS

cfsfile = pyCEDFS.CFS('debug.cfs') #Loads the file 
sweep1 = cfsfile.dataY[channel][sweepnumber,:] #data is loaded into dataY and dataX attributes.
y_units cfsfile.chVars[channel]['units'] #Other variables can be fetched from var dictionaries

Conversion to NWB

Conversion to NWB is currently supported. Although requires some set up. The signal files have not standardized input/output channel names, nor anything indicating clamp mode (for Intracellular EPHYS [IC-EPHYS]) Therefore the conversion process requires additional json input file(s) indicating which channels are in / out and the clamp mode (for IC-EPHYS). The json file should look like follows (found in template.json):

{
    "Clamp Mode": "IC", //Indicates the clamp mode, should be one of: IC (current clamp), VC (voltage clamp)
    "Stim Channels" : [0], //Indicates the stimuli channels. Can be multiple channels, written as [0, 2, 3].
    "Resp Channels" : [1] //Indicates the response channels. Can be multiple channels, written as [1, 5, 6].
    //Channels are indexed starting at 0
}

These settings can either be applied globally (across all files in conversion). Or on a per-file basis. To apply global settings, the file should be called in the CFS converter call:

CFSConverter.CFSConverter('C:\\Users\\SMest\\Documents\\Signal Demo\\Data\\', "test2.nwb", globalSettingsFile='template.json')

Otherwise settings can be applied on a per file basis. To do so, a json mimicking above, should be placed in the same directory as the file to be converted. This json should have the same file name as the file to be converted. For example

-Cell1.cfs
-Cell1.json
-Cell2.cfs
-Cell2.json

Acknowledgements

smestern would like to acknowledge funding support by CONP - In support of Open neuroscience

This work was supported in part by funding provided by Brain Canada, in partnership with Health
Canada, for the Canadian Open Neuroscience Platform initiative.

Metadata

Release files for pyCEDFS 0.1.6.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyCEDFS 0.1.6.5
File Size Uploaded
pyCEDFS-0.1.6.5.tar.gz 59.7 kB Details

Release files / pyCEDFS-0.1.6.5.tar.gz

Download URL pyCEDFS-0.1.6.5.tar.gz
Size 59.7 kB
Tags Source
SHA-256 checksum
How to use checksums
68b43ea52836aa98cddcc48ca4b31e27bd328e55e1648d4d03d45149ddc6496c
BLAKE2b-256 checksum
How to use checksums
5657b88d4961c50115492548d7247f88f91fae5e989b98c248e61e6578c6c252
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.5.0.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.1

Release history Release notifications | RSS feed

This release

0.1.6.5 This release

1 release file

0.1.6.4

1 release file

0.1.6.3

1 release file

0.1.6.2

1 release file

0.1.6

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page