
Show HN: Python 3 tkinter graphical curve and surface fitter - zunzun
https://github.com/zunzun/tkInterFit
======
zunzun
This is James Phillips, author of tkInterFit.

my background is in nuclear engineering and industrial radiation physics, as I
started working in the U.S. Navy as a submarine nuclear reactor operator many,
many neutrons ago.

I have quite a bit of international experience calibrating industrial metal
thickness and coating gauges. For example the thicker a piece of steel the
more radiation it absorbs, and measuring the amount of radiation that passes
through a sheet of steel can tell you how thick it is without touching it.
Another example is that the thicker a zinc coating on steel sheets, the more
zinc X-ray fluorescence energy it can emit - again allowing accurate thickness
measurement for industrial manufacture.

My post-Navy employer originally used ad-hoc spreadsheets to very tediously
create 4th-order polynomials calibrating to readings from known samples. So I
started writing my own curve-fitting software in C.

When X-rays pass through aluminium, the atomic weight of the alloying elements
is much greater than that of the aluminium itself such that small changes in
alloy composition lead to large changes in X-ray transmission _for the same
thickness_. Alloy changes look like thickness changes, egad! However, alloy
changes also cause changes to the X-rays that are scattered back from the
aluminium, so that if _both_ the transmitted and backscattered radiation is
measured a more alloy-insensitive measurement can be made - but this is now a
3D surface fit, and I started writing surface fitting software. I began to do
considerable international work.

This finally led to the development of my Python fitting libraries, and this
example tkinter curve and surface fitter. I also have Python 2 and 3 wxPython
and django versions on GitHub.

James

