Skip to content

Commit 710fa3d

Browse files
Updated version to 1.0. PyZDDE is now feature complete
1 parent 23747d4 commit 710fa3d

File tree

9 files changed

+15
-17
lines changed

9 files changed

+15
-17
lines changed

LICENSE.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2012, 2013, 2014 Indranil Sinharoy, Southern Methodist University, Dallas, TX.
3+
Copyright (c) 2012, 2013, 2014, 2015 Indranil Sinharoy, Southern Methodist University, Dallas, TX.
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
66

README.markdown

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
##### Current revision:
66

7-
0.8.01 (Last significant update on 07/13/2014)
7+
1.0.00 (Last significant update on 03/02/2015)
88

99
Brief change-log is available in the [News and Updates](https://github.com/indranilsinharoy/PyZDDE/wiki/News-and-updates) page.
1010

@@ -48,6 +48,7 @@ In addition, the repository [Intro2LensDesignByGeary](https://github.com/indrani
4848
* Over 25 additional functions for more efficient use (more will be added in future). Examples include `zSetTimeout()`, `zExecuteZPLMacro()`, `zSpiralSpot()`, `zGetSeidelAberration()`, `zSetFieldTuple()`, `zGetFieldTuple()`, `zSetWaveTuple()`, `zGetWaveTuple()`, `zCalculateHiatus()`, `zGetPupilMagnification()`, `zGetPOP()`, `zSetPOPSettings()`, `zModifyPOPSettings()`, `zGetPSF()`, `zGetPSFCrossSec()`, `zGetMTF()`, `zGetImageSimulation()`
4949
* Special functions for better interactive use with IPython notebooks. Examples include `ipzCaptureWindow()`, `ipzGetFirst()`, `ipzGetPupil()`, `ipzGetSystemAper()`, `ipzGetTextWindow()`
5050
* Quick generation of few simple optical systems (see `pyzdde.systems` module)
51+
* Array ray tracing using a separate and standalone module `arraytrace`, that has helper functions for performing array ray tracing.
5152

5253

5354
#### Overview
@@ -56,12 +57,13 @@ PyZDDE is a Python-based standalone extension for communicating with [ZEMAX/Opti
5657

5758
PyZDDE can be used with regular Python scripts as well as in an interactive environment such as an IPython shell, [QtConsole] (http://ipython.org/ipython-doc/dev/interactive/qtconsole.html) or [IPython Notebook] (http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html).
5859

59-
There are 4 types of functions in the toolbox:
60+
There are 4 types of functions, and a separate module for array ray tracing in the toolbox:
6061

6162
1. Functions for accessing ZEMAX using the data items defined in the "ZEMAX EXTENSIONS" chapter of the ZEMAX manual. These functions' names start with "z" and the rest of the function names matches the data item defined by Zemax. For example `zGetSolve()` for the data item "GetSolve", `zSetSolve()` for the data item "SetSolve", etc.
6263
2. Helper functions to enhance the toolbox functionality beyond just the data items, such as `zCalculateHiatus`, `zSpiralSpot`. Also, there are other utilities which increase the capability of the toolbox such as `zOptimize2()`, `zSetWaveTuple()`, `zExecuteZPLMacro()`, etc.
6364
3. Few functions such as `ipzCaptureWindow()`, `ipzGetTextWindow()` can be used to embed analysis/graphic windows and text files from Zemax into an IPython Notebook or IPython QtConsole.
6465
4. There are several other functions which can be used independent of a running Zemax session. Examples include `showZOperandList()`, `findZOperand()`, `findZButtonCode()`, etc.
66+
5. A separate and standalone module `arraytrace` for performing array ray tracing.
6567

6668

6769
All the functions prefixed with "z" or "ipz" (types 1, 2 and 3) interact with Zemax directly and hence require a Zemax session to be running simultaneously. As they are instance methods of a pyzdde channel object, a pyzdde object needs to be created.
@@ -92,10 +94,6 @@ At this point in time, a distribution version is not available as the tool box i
9294
Please download the code to a local directory in your computer and add that directory to python search path in order to use it. For detailed instructions on using PyZDDE, please refer to the [Wiki page] (https://github.com/indranilsinharoy/PyZDDE/wiki)
9395

9496

95-
#### Is there anything missing?
96-
The short answer is yes! PyZDDE doesn't support array/ bulk ray tracing at this point in time. I hope in the near future this feature will be implemented. May be you can help (please look in the [issues page](https://github.com/indranilsinharoy/PyZDDE/issues/21))
97-
98-
9997
#### Getting started, usage, and other documentation:
10098
Getting started with PyZDDE is really very simple as shown in the "Hello world" program above. Please refer to the [Wiki page] (https://github.com/indranilsinharoy/PyZDDE/wiki). It has detailed guide on how to start using PyZDDE.
10199

Test/pyZDDEunittest.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
# Name: PyZDDEunittest.py
33
# Purpose: PyZDDE unit test using the python unittest framework
44
#
5-
# Copyright: (c) Indranil Sinharoy, 2012 - 2014
5+
# Copyright: (c) Indranil Sinharoy, 2012 - 2015
66
# Licence: MIT License
77
# This file is subject to the terms and conditions of the MIT License.
88
# For further details, please refer to LICENSE.txt
9-
# Revision: 0.8.01
9+
# Revision: 1.0.00
1010
#-------------------------------------------------------------------------------
1111
from __future__ import division
1212
from __future__ import print_function

pyzdde/arraytrace.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
# Licence: MIT License
66
# This file is subject to the terms and conditions of the MIT License.
77
# For further details, please refer to LICENSE.txt
8-
# Revision: 0.8.02
8+
# Revision: 1.0.00
99
#-------------------------------------------------------------------------------
1010
"""Module for doing array ray tracing as described in Zemax manual. This module
1111
defines the DDE ray data structure using ctypes, and provides the following
12-
functions:
12+
to main functions:
1313
1414
1. zArrayTrace() -- The main function for calling Zemax for array ray tracing
1515
2. getRayDataArray() -- Helper function that creates the ctypes ray data structure

pyzdde/ddeclient.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# Copyright: (c) David Naylor
1111
# Licence: New BSD license (Please see the file Notice.txt for further details)
1212
# Website: http://code.activestate.com/recipes/577654-dde-client/
13-
# Revision: 0.8.01
13+
# Revision: 1.0.00
1414
#-------------------------------------------------------------------------------
1515
from __future__ import print_function
1616
import sys

pyzdde/systems.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#-------------------------------------------------------------------------------
22
# Name: systems.py
33
# Purpose: Simple optical systems for quick setup with PyZDDE.
4-
# Copyright: (c) Indranil Sinharoy, Southern Methodist University, 2012 - 2014
4+
# Copyright: (c) Indranil Sinharoy, Southern Methodist University, 2012 - 2015
55
# Licence: MIT License
66
# This file is subject to the terms and conditions of the MIT License.
77
# For further details, please refer to LICENSE.txt
8-
# Revision: 0.8.01
8+
# Revision: 1.0.00
99
#-------------------------------------------------------------------------------
1010
"""simple optical systems for quick setup with PyZDDE & Zemax. The docstring
1111
examples assume that PyZDDe is imported as ``import pyzdde.zdde as pyz``,

pyzdde/zcodes/zemaxbuttons.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# Licence: MIT License
77
# This file is subject to the terms and conditions of the MIT License.
88
# For further details, please refer to LICENSE.txt
9-
# Revision: 0.8.01
9+
# Revision: 1.0.00
1010
#-------------------------------------------------------------------------------
1111
from __future__ import print_function
1212
import re as _re

pyzdde/zcodes/zemaxoperands.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# Licence: MIT License
77
# This file is subject to the terms and conditions of the MIT License.
88
# For further details, please refer to LICENSE.txt
9-
# Revision: 0.8.01
9+
# Revision: 1.0.00
1010
#-------------------------------------------------------------------------------
1111
from __future__ import print_function
1212
import re as _re

pyzdde/zdde.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# Licence: MIT License
77
# This file is subject to the terms and conditions of the MIT License.
88
# For further details, please refer to LICENSE.txt
9-
# Revision: 0.8.02
9+
# Revision: 1.0.00
1010
#-------------------------------------------------------------------------------
1111
"""PyZDDE, which is a toolbox written in Python, is used for communicating
1212
with ZEMAX using the Microsoft's Dynamic Data Exchange (DDE) messaging

0 commit comments

Comments
 (0)