Plots up a wafer map. Used in semiconductor processing and analysis.
Install from PyPI.
pip install wafer_map
wafer_map requires the following non-built-in packages:
and the following core (built-in) packages:
I know that I wouldn't want to use this if I didn't like how it looked, so here ya go. Take a look and decide for yourself if you like it.
Continuous Data being plotted as a stand-alone app:
Continuous Data as its own panel:
Discrete Data as its own panel:
I still need to fill this out in detail.
The easiest way to use this to to:
Import the wm_app
module:
>>> import wm_app
Set up your data as a list of (grid_x, grid_y, value) tuples:
>>> data = [
... (grid_x_1, grid_y_1, data_1), # 1st die
... (grid_x_2, grid_y_2, data_2), # 2nd die
... (grid_x_3, grid_y_3, data_3), # 3rd die and so on
... ]
Call wm_app.WaferMapApp
.
>>> wm_app.WaferMapApp(
... data,
... die_size,
... center_xy,
... dia,
... edge_excl,
... flat_excl,
... )
The input parameters for WaferMapApp are:
edge_excl
.An image should appear. Yay! Play around with it: middle-click+drag to pan, scroll wheel to zoom. See "Keyboard Shortcuts and Mouse Usage" section.
There is an example file which somewhat demonstrates how to use this package. At the very least, you can run the example file and see how this wafer mapping software looks.
Navigate to the wafer_map directory in your python installtion
(../Lib/site-packages/wafer_map
) and run example.py
in your cmd prompt
or terminal:
python example.py
Example.py
generates a fake data set and then displays it in 3
different ways:
For the entire project, the following nomenclature is used. This is to avoid confusion between a die's coordinates on the wafer (floating-point values representing the absolute postion of a die) and a die's grid location (integer row-column or x-y values that are sometimes printed on die).
coordinate
grid
grid_center
(float_x, float_y)
tuple which is coincident with the
wafer's center coordinate (0, 0)
.grid
value that can be made up of floats.row
grid_y
.col
grid_x
.No matter if you use the standalone app or add the panel to your own wx.Frame instance, keyboard shortcuts work. I've only added a few so far, but I plan on adding more.
The panel also supports mouse controls. Middle click will pan, mouse wheel will zoom in and out.
This package has been released to version 1.0.0. What this means is that it
should be usable in an engineering-type environment. I'm starting to use
it heavily myself. It's not very customizable yet, but I don't need that
capability yet. You can see the roadmap at:
https://github.com/dougthor42/wafer_map/milestones
There's still a fair amount of code cleanup and refactoring to do, especially
on the wm_legend.py
module (as that was made last). So please do judge my
coding style too harshly (though constructive criticism is much appreciated!)
Requires: wxPython
See CHANGELOG.md.