__init__.py 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. """
  2. :mod:`neo.rawio` provides classes for reading with low level API
  3. electrophysiological data files.
  4. :attr:`neo.rawio.rawiolist` provides a list of successfully imported rawio
  5. classes.
  6. Functions:
  7. .. autofunction:: neo.rawio.get_rawio_class
  8. Classes:
  9. * :attr:`AxographRawIO`
  10. * :attr:`AxonRawIO`
  11. * :attr:`BlackrockRawIO`
  12. * :attr:`BrainVisionRawIO`
  13. * :attr:`ElanRawIO`
  14. * :attr:`IntanRawIO`
  15. * :attr:`MicromedRawIO`
  16. * :attr:`NeuralynxRawIO`
  17. * :attr:`NeuroExplorerRawIO`
  18. * :attr:`NeuroScopeRawIO`
  19. * :attr:`NIXRawIO`
  20. * :attr:`OpenEphysRawIO`
  21. * :attr:`PlexonRawIO`
  22. * :attr:`RawBinarySignalRawIO`
  23. * :attr:`RawMCSRawIO`
  24. * :attr:`Spike2RawIO`
  25. * :attr:`TdtRawIO`
  26. * :attr:`WinEdrRawIO`
  27. * :attr:`WinWcpRawIO`
  28. .. autoclass:: neo.rawio.AxographRawIO
  29. .. autoattribute:: extensions
  30. .. autoclass:: neo.rawio.AxonRawIO
  31. .. autoattribute:: extensions
  32. .. autoclass:: neo.rawio.BlackrockRawIO
  33. .. autoattribute:: extensions
  34. .. autoclass:: neo.rawio.BrainVisionRawIO
  35. .. autoattribute:: extensions
  36. .. autoclass:: neo.rawio.ElanRawIO
  37. .. autoattribute:: extensions
  38. .. autoclass:: neo.rawio.IntanRawIO
  39. .. autoattribute:: extensions
  40. .. autoclass:: neo.rawio.MicromedRawIO
  41. .. autoattribute:: extensions
  42. .. autoclass:: neo.rawio.NeuralynxRawIO
  43. .. autoattribute:: extensions
  44. .. autoclass:: neo.rawio.NeuroExplorerRawIO
  45. .. autoattribute:: extensions
  46. .. autoclass:: neo.rawio.NeuroScopeRawIO
  47. .. autoattribute:: extensions
  48. .. autoclass:: neo.rawio.NIXRawIO
  49. .. autoattribute:: extensions
  50. .. autoclass:: neo.rawio.OpenEphysRawIO
  51. .. autoattribute:: extensions
  52. .. autoclass:: neo.rawio.PlexonRawIO
  53. .. autoattribute:: extensions
  54. .. autoclass:: neo.rawio.RawBinarySignalRawIO
  55. .. autoattribute:: extensions
  56. .. autoclass:: neo.rawio.RawMCSRawIO
  57. .. autoattribute:: extensions
  58. .. autoclass:: neo.rawio.Spike2RawIO
  59. .. autoattribute:: extensions
  60. .. autoclass:: neo.rawio.TdtRawIO
  61. .. autoattribute:: extensions
  62. .. autoclass:: neo.rawio.WinEdrRawIO
  63. .. autoattribute:: extensions
  64. .. autoclass:: neo.rawio.WinWcpRawIO
  65. .. autoattribute:: extensions
  66. """
  67. import os
  68. from neo.rawio.axographrawio import AxographRawIO
  69. from neo.rawio.axonrawio import AxonRawIO
  70. from neo.rawio.blackrockrawio import BlackrockRawIO
  71. from neo.rawio.brainvisionrawio import BrainVisionRawIO
  72. from neo.rawio.elanrawio import ElanRawIO
  73. from neo.rawio.examplerawio import ExampleRawIO
  74. from neo.rawio.intanrawio import IntanRawIO
  75. from neo.rawio.micromedrawio import MicromedRawIO
  76. from neo.rawio.neuralynxrawio import NeuralynxRawIO
  77. from neo.rawio.neuroexplorerrawio import NeuroExplorerRawIO
  78. from neo.rawio.neuroscoperawio import NeuroScopeRawIO
  79. from neo.rawio.nixrawio import NIXRawIO
  80. from neo.rawio.openephysrawio import OpenEphysRawIO
  81. from neo.rawio.plexonrawio import PlexonRawIO
  82. from neo.rawio.rawbinarysignalrawio import RawBinarySignalRawIO
  83. from neo.rawio.rawmcsrawio import RawMCSRawIO
  84. from neo.rawio.spike2rawio import Spike2RawIO
  85. from neo.rawio.tdtrawio import TdtRawIO
  86. from neo.rawio.winedrrawio import WinEdrRawIO
  87. from neo.rawio.winwcprawio import WinWcpRawIO
  88. rawiolist = [
  89. AxographRawIO,
  90. AxonRawIO,
  91. BlackrockRawIO,
  92. BrainVisionRawIO,
  93. ElanRawIO,
  94. IntanRawIO,
  95. MicromedRawIO,
  96. NeuralynxRawIO,
  97. NeuroExplorerRawIO,
  98. NeuroScopeRawIO,
  99. NIXRawIO,
  100. OpenEphysRawIO,
  101. PlexonRawIO,
  102. RawBinarySignalRawIO,
  103. RawMCSRawIO,
  104. Spike2RawIO,
  105. TdtRawIO,
  106. WinEdrRawIO,
  107. WinWcpRawIO,
  108. ]
  109. def get_rawio_class(filename_or_dirname):
  110. """
  111. Return a neo.rawio class guess from file extention.
  112. """
  113. _, ext = os.path.splitext(filename_or_dirname)
  114. ext = ext[1:]
  115. possibles = []
  116. for rawio in rawiolist:
  117. if any(ext.lower() == ext2.lower() for ext2 in rawio.extensions):
  118. possibles.append(rawio)
  119. if len(possibles) == 1:
  120. return possibles[0]
  121. else:
  122. return None