Metadata-Version: 2.1
Name: OApackage
Version: 2.4.19
Summary: Package to generate and analyse orthogonal arrays and optimal designs
Home-page: http://www.pietereendebak.nl/oapackage/index.html
Author: Pieter Eendebak
Author-email: pieter.eendebak@gmail.com
License: BSD
Keywords: orthogonal arrays, design of experiments, conference designs, isomorphism testing
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: License :: OSI Approved :: BSD License
Requires: numpy
Requires: matplotlib
Description-Content-Type: text/markdown
Provides-Extra: GUI
Requires-Dist: numpy (>=1.13)
Requires-Dist: scanf
Provides-Extra: GUI
Requires-Dist: qtpy; extra == 'GUI'
Requires-Dist: matplotlib; extra == 'GUI'

Orthogonal Array Package
========================


The Orthogonal Array package contains functionality to generate and analyse orthogonal arrays, optimal designs and conference designs.
Features include generation of complete series of orthogonal arrays, 
reduction of arrays to normal form and calculation of properties such as the strength or D-efficiency of an array.
For more information about the package see the
documentation at [oapackage.readthedocs.io](https://oapackage.readthedocs.io/en/latest/)
and the webpage <http://pietereendebak.nl/oapackage/>.

Usage
-------

The package can be used from Python:
``` python
>>> import oapackage
>>> al=oapackage.exampleArray(0)
>>> al.showarray()
array: 
  0   0
  0   0
  0   1
  0   1
  1   0
  1   0
  1   1
  1   1
>>> print('D-efficiency %f, rank %d' % (al.Defficiency(), al.rank()) )
D-efficiency 1.000000, rank 2
>>> print('Generalized wordlength pattern: %s' % str(al.GWLP()))
Generalized wordlength pattern: (1.0, 0.0, 0.0)
```

For more examples see the Jupyter notebooks in the
[docs/examples](docs/examples/). 


Acknowledgements
----------------

If you use this code or any of the results, please cite this program as follows:

* [Complete Enumeration of Pure-Level and Mixed-Level Orthogonal Arrays](http://dx.doi.org/10.1002/jcd.20236), E.D. Schoen, P.T. Eendebak, M.V.M. Nguyen, Volume 18, Issue 2, pages 123-140, 2010.
* [Two-Level Designs to Estimate All Main Effects and Two-Factor Interactions](https://doi.org/10.1080/00401706.2016.1142903), Pieter T. Eendebak, Eric D. Schoen, Technometrics Vol. 59 , Iss. 1, 2017

The code was written by:

* Pieter Eendebak <pieter.eendebak@gmail.com>
* Alan Vazquez-Alcocer
* Vincent Brouerius van Nidek

Ideas contributed by:

* Eric Schoen <eric.schoen@tno.nl>
* Alan Vazquez-Alcocer <alanrvazquez@gmail.com>

See the file LICENSE for copyright details.

Installation
------------

[![PyPI version](https://badge.fury.io/py/OApackage.svg)](https://badge.fury.io/py/OApackage)
[![Build status](https://ci.appveyor.com/api/projects/status/f6ia9br95soimf9u?svg=true)](https://ci.appveyor.com/project/eendebakpt/oapackage-4lws8)
[![Build Status](https://travis-ci.org/eendebakpt/oapackage.svg?branch=master)](https://travis-ci.org/eendebakpt/oapackage)

The Python interface to the package is available on the [Python Package index](https://pypi.python.org/pypi/OApackage/).
Installation can be done using the following command:
``` console
$ pip install OApackage 
```
(or `pip install OApackage --user` if you do not have admin rights). To compile the package you need Python, Numpy and Swig 3.x.

The command line tools have been tested using Linux, Windows XP/Win7/Win10 and Raspberry Pi.
The program uses a `cmake` build system. From the command line type:
```
$ mkdir -p build; cd build
$ cmake ..
$ make
$ make install
````

Testing
-------

To perform tests run `pytest`. To obtain a coverage report, run
```
$ coverage run --source='./oapackage' -m pytest
$ coverage report --omit oapackage/markup.py,oapackage/tests/*.py,oapackage/deprecated.py
```

Continuous integration and testing for the C++ library is performed on [Travis](https://travis-ci.org/eendebakpt/oapackage) and for the Python package on
[AppVeyor](https://ci.appveyor.com/project/eendebakpt/oapackage-4lws8).


