Metadata-Version: 2.1
Name: pyigor
Version: 0.1.0
Summary: Bridging Python and WaveMetrics Igor Pro
Home-page: https://github.com/chocolate-icecream/pyigor
Author: chocolate-icecream
Project-URL: Bug Tracker, https://github.com/chocolate-icecream/pyigor/issues
Keywords: Igor WaveMetrics
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Education
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE.txt

# PyIgor

PyIgor bridges between Python and WaveMetrics Igor Pro.

## Preparation

- Igor Pro 7.0 or later
- HDF5 XOP installation (See HDF5 installation in Igor Pro's help topics for the detail).
- Load pyigor.ipf (https://github.com/chocolate-icecream/pyigor/blob/master/pyigor.ipf, Put it into User Procedure folder for convenience).

## Usage

#### Accessing Igor Pro from Python

```python
from pyigor import Connection
import numpy as np

array = np.sin(np.linspace(0, 10, 100))

igor = Connection()
igor.put(array, "sinwave")

wv = igor.get("sinwave")
print(wv)
```

#### Accessing Python from Igor Pro

###### Preparation in Python

```python
from pyigor import Connection

igor = Connection()

@igor.function
def myfunc(a):
	return a*a

igor.wait_done()
```

###### Calling registered functions from Igor Pro

```
print PyIgorCall("myfunc(10)")
```

