IPFX analysis tool box - TTL input extraction

Hello everyone. I am using MIES to record and store my data in NWB format, and I use TTL as my input to stimulate extracellularly, although now when I want to get the stimulus TTL wave I can not get it. So I can get t,v and i for my sweeps, but not the TTL. Since the dataset file of the type EphysDataSet cannot be opened in spyder, I can’t understand how to get the input trace. How is it possible to extract?

Thank you in advacnce,


Hi Anna, the NWB TTL data is stored in the stimulus>>presentation group, the same location as the DA data.

The MIES documentation shows the naming convention: " * For AD/DA/TTL groups the naming scheme is data_XXXXX_[AD/DA/TTL] suffix where XXXXX is a running number and suffix the channel number. For some hardware types the suffix includes the TTL line as well. It is important to note that the number of digits in XXXXX is variable and subject to change, and that XXXXX is not the sweep number."

PYNWB is commonly used to access data from NWB. MIES may also be used to browse the TTL data, and Igor could be used to save it in a suitable format.

Thank you for your answer!

I see that you show me the MIES window, while I try to get it in python.
If I open the sweep object in there, there is no “presentation group” under the stimulus.
Can this be an nwb-version issue?
Also, I could the data in matlab, but the rest of analysis is in Python so I would like to be able to get it there too.


I am still struggling with that, to be honest. You now who me the structure of the file, while I am trying to extract the ttl wave from the ephys_daata_set object. Since I can’t open the structure of this object, I have no idea how to get to stimulus description and representation.- it is not in the sweep object group either… @timjarsky , would you mind suggesting me something on that?

I’m one of the MIES authors.
You are using NWBv2 files right?

If yes, here is what I tried locally with a MIES acquired file exported to NWBv2.

  • Start python on the command line (python)
  • import pynwb
  • io = pynwb.NWBHDF5IO(“Packages/tests/HardwareBasic/HardwareBasic-V2.nwb”, mode=‘r’, load_namespaces=True)
  • nwbfile = io.read()
  • nwbfile.stimulus.keys()
    // gives here
    // dict_keys([‘data_00000_DA0’, ‘data_00000_DA1’, ‘data_00000_TTL1_2’, ‘data_00000_TTL1_8’, ‘data_00000_DA2’])
  • nwbfile.stimulus[‘data_00000_TTL1_2’] # access a single TTL timeseries

I’ve used pynwb version 2.3.2 on Windows.