Recent Releases of iad
iad - Another minor bug fix
This release fixes a bug when the anisotropy g is specified in an input file. Thanks to Dr. Thinh Phan for the bug report.
v3.16.3 (15 May 2024)
- fixed bug that discarded info from "g" input column
- improved README.md
Full Changelog: https://github.com/scottprahl/iad/compare/v3.16.2...v3.16.3
- CWeb
Published by scottprahl almost 2 years ago
iad - Better lost light calculation
This release also fixes a bug in the lost light calculation using Monte Carlo due to forgetting to update all of the direction cosines at a boundary. Ironically, the Monte Carlo code gave the correct answers for total reflected and transmitted light. Now the internal Monte Carlo radial reflection and transmission calculation has been validated against Monte Carlo simulations written by others.
This release adds a few new features.
- One can now specify the reduce scattering coefficient $\mu_s'$ from the command line using the new
-j muspoption. - One can limit the range of wavelengths to be analyzed using the new
-l 'upper lower'option. For example,-l '500 600'will limit the points processed to those between 500 and 600nm
I started to revise the manual, but a lot is left to be done. Some things are still omitted and some things are repeated.
Other bug fixes and improvements include
- fixed bug in mc_lost affecting lost light estimation
- force one MC run when port sizes are present
- revised manual
- add wavelength constraints -l '500 600' to limit processing
- allow reduced scattering to be specified with -j
- better checks for out-of-date redistribution matrix
- exit properly with bad header
- include mc_test.c in distribution
- show line number for bad .rxt entry
- invalidate h calc when angles change
- build targets for test programs
- better debug -x 1 output
- improved iadsum
- improved iadplus
- made mc_lost as standalong executable
- made forward calculation work with no spheres
- improved g spacing in grid
- better support for m.u measurements
Full Changelog: https://github.com/scottprahl/iad/compare/v3.16.1...v3.16.2
- CWeb
Published by scottprahl almost 2 years ago
iad - Full three port sphere corrections
True three port integrating sphere handling. Before, there were three ports but one always had to be empty. Now the transmission sphere can have a sample in one port, the detector in another, and a reflectance standard in the third port (opposite the sample port. Before the third port needed to be empty or to have a cap that had the same reflectivity as the sphere walls.
The python program iadplus continues to improve its generated graphs. The new plot is a graph of MR vs. MT and shows where all physically possible points lie for the given set of sphere parameters. Points that fail to converge are plotted and it is easy to see why this might be the case.
v3.16.1 (25 Mar 2024)
- clarify and revise single sphere effects
- avoid MC for failed 1 parameter searches
- change 'empty' -> 'entrance' or 'empty' -> 'third' as appropriate
- enable constraints in rxt files
- fix command line regression of constraints
- improve -x 2 debugging for grid generation
- improve Valid_Grid
- add -J to generate grid for plotting
- improvements to iadplus
v3.16.0 (16 Mar 2024)
- flexible columns input files!
- add -w and -W command line options
- include MC lost light in -z calculations
- include MC lost light in 1 parameter searches
- better support for overwriting r&t file data from command-line
- first version of python wrapper iadplus
- add more simple checks for bad r & t values
- CWeb
Published by scottprahl almost 2 years ago
iad - New flexible input format
This release allows each MR and MT measurement to be accompanied by other data. For example the .rxt replaces the usual number of measurements line with a line that describes each column in the input. The column descriptors match the single letter options use 'L' for '-L' which describes the wavelength. So for example this might look like
L r t n N w
500 0.5 0.1 1.40 1.50 0.98
600 0.4 0.1 1.41 1.51 0.97
the column order is arbitrary but the column labels must match the column order.
The other major feature is the iadplus program that will permits analyzing a bunch of .rxt files at once and creating a Jupyter notebook with graphs of all the data. It works for me, but if you encounter problems let me know
v3.16.0 (16 Mar 2024)
- flexible columns input files!
- add -w and -W command line options
- include MC lost light in -z calculations
- include MC lost light in 1 parameter searches
- better support for overwriting r&t file data from command-line
- first version of python wrapper iadplus
- add more simple checks for bad r & t values
- CWeb
Published by scottprahl almost 2 years ago
iad - Significantly improved debugging display
This release primarily focuses on the -x command-line option. This allows one to display intermediate calculations to see exactly why things are going awry. For example,
bash
iad -x 1 file.rxt
will show exactly how integrating sphere and Monte Carlo lost light calculations are influencing the calculation. Another handy example
bash
iad -x 4 -r 0.5 -t 0.1 -u 0.01
which will show each iteration as the program finds the optical properties that match the three observed properties.
v3.15.1 (4 Mar 2024)
- add -x 1 support back for debugging
- add -L 633 to set wavelength to 633nm
- fix building docs/iad_src.pdf
- add separate mctest and mclost_test
- improve -x debugging
- allow more constraint situations
- remove unused code
v3.15.0 (2 Mar 2024)
- support for spheres with no baffles
- better help message
- works better with extreme anisotropies
- clarify MT calculations
- improve header in output file
- CWeb
Published by scottprahl almost 2 years ago
iad - Support for spheres with no baffles
v3.15.0 (2 Mar 2024)
- support for spheres with no baffles
- clarify calibration of MR and MT
- works better with extreme anisotropies
- better help message
- improve header in output file
- CWeb
Published by scottprahl about 2 years ago
iad - v3.14.5 release
v3.14.5 fix error using spheres with oblique incidence.
v3.14.4 improve diffuse lost light calculations
v3.14.3 generate 64-bit windows executables
v3.14.1 retain correct solution when lost light correction changes nothing
v3.14.0 fix lost light calculation with slides (broken when adding absorbing slide support)
- CWeb
Published by scottprahl about 2 years ago
iad - Improved diffuse lost calculation
Integrating spheres generate diffuse light, which uniformly illuminates the sample from all directions. However, a challenge arises because some of this diffuse light, particularly near the edges of the sample, is inevitably lost. This loss manifests as marginally elevated calculated absorption coefficients.
The release refines the method for correcting the estimation of this diffusely lost light.
v3.14.4 (1 Feb 2024)
- fix lost diffuse light code
- dramatically improve the look of generated .c and .h files
- remove Mathematica support
- Makefile cleanup
- add test for lost light calculation
- use POSIX getopt
- use M_PI instead of number
- add test code for lost light estimation
- fix oblique test code
v3.14.3 (31 Jan 2024)
- produce 64-bit windows executable since
- 32-bit triggered false positive virus detection
v3.14.1 (30 Jan 2024)
- no longer toss correct solution in some cases
- only calculate redistribution matrix when needed
- improve debug comments
- start stripping tabs from cweb files
v3.14.0 (25 Jan 2024)
- fix handling of slides (@anishabahl)
- fix github build
- improve Makefile
- warn on bad sphere wall reflectivity
- CWeb
Published by scottprahl about 2 years ago
iad - 64bit Windows version
No new functionality from version v3.14.1. I just modified the Makefile
It was pointed out that Windows Defender falsely identified the windows binary as a Trojan virus. This was evidently caused by using the i686-w64-mingw32-gcc compiler. I changed to the 64-bit compiler, x86_64-w64-mingw32-gcc, and the false positive warning went away.
v3.14.3 (31 Jan 2024)
- produce 64-bit windows executable
- 32-bit iad.exe triggered a false positive trojan detection
v3.14.1 (30 Jan 2024)
- no longer toss correct solution in some cases
- only calculate redistribution matrix when needed
- improve debug comments
- start stripping tabs from cweb files
v3.14.0 (25 Jan 2024)
- fix handling of slides (@anishabahl)
- fix github build
- improve Makefile
- warn on bad sphere wall reflectivity
- CWeb
Published by scottprahl about 2 years ago
iad - Resolve a few more bugs
This version fixes some weird cases where things converged but did not converge. It turns out that I was throwing away the correct solution just before printing the result.
v3.14.1 (30 Jan 2024)
- no longer toss correct solution in some cases
- only calculate redistribution matrix when needed
- improve debug comments
- start stripping tabs from cweb files
- minor changes to text in output file
v3.14.0 (25 Jan 2024)
- fix handling of slides (@anishabahl)
- fix github build
- improve Makefile
- warn on bad sphere wall reflectivity
- CWeb
Published by scottprahl about 2 years ago
iad - Fix bug in handling of slides
While adding a feature (light absorption in the sample slides) I introduced a bug. This is now fixed.
v3.14.0 (28 Jan 2024)
- fix handling of slides (thanks @anishabahl)
- fix github build
- improve Makefile
- warn on bad sphere wall reflectivity
v3.13.2 (24 Jan 2024)
- fix port size normalization (thanks @jgroehl)
- update copyright year
- CWeb
Published by scottprahl about 2 years ago
iad - Fix port size normalization
v3.13.2 (24 Jan 2024)
- fix port size normalization (@jgroehl)
- update copyright year
v3.13.1 (24 Jan 2024)
- left debugging statements in
v3.13.0 (24 Jan 2024)
- add -1 feature for parameters in .rxt files
v3.12.1 (26 May 2023)
- bump version to get zenodo links correct
- CWeb
Published by scottprahl about 2 years ago
iad - allow only transmission to be analyzed
Usually 1 measurement means that only reflection is available. This change allows one to process files where only the transmission is used for analysis. The use case is to constrain multiple values on the command line. So to fix scattering at 10/mm and g=0.9 one can process the file like so
prompt> iad -F 10 -g 0.9 file.rxt
where file.rxt contains
``` IAD1 # Must be first four characters 1.57 # Index of refraction of the sample 1.46 # Index of refraction of the top and bottom slides 1 # [mm] Thickness of sample 1.25 # [mm] Thickness of slides 3 # [mm] Diameter of illumination beam 0.99 # Reflectivity of the reflectance calibration standard (empirical value, 0.9885) 1 # Number of spheres used for the measurement # Properties of sphere used for reflectance measurements 98.3 # [mm] Sphere Diameter (in * 25.4 mm/in) 12.3 # [mm] Sample Port Diameter 12.3 # [mm] Entrance Port Diameter 0.6 # [mm] Detector Port Diameter 0.94 # Reflectivity of the sphere wall (empirical value, 0.9885) # Properties of sphere for transmittance measurements 98.3 # [mm] Sphere Diameter (in * 25.4 mm/in) 12.3 # [mm] Sample Port Diameter 12.3 # [mm] Entrance Port Diameter 0.6 # [mm] Detector Port Diameter 0.94 # Reflectivity of the sphere wall (empirical value, 0.9885) -1 # means MT is the only measurement MT
nm M_T
890.0 0.3414 ... ```
- CWeb
Published by scottprahl about 2 years ago
iad - Fix src code doc, add testing, zenodo DOI
v3.12.1 (May 26, 2023)
- bump version to get zenodo links correct
v3.12.0
- add continuous building (tvercat)
- improve cweave/ctwill processing (ascherer)
- add CITATION.cff to base level of repository
- add DOI for citation purposes
- added badges to README page (whee!)
- CWeb
Published by scottprahl almost 3 years ago
iad - Improve docs, add continuous testing
- add continuous building (tvercat)
- improve cweave/ctwill processing (ascherer)
- add CITATION.cff to base level of repository
- add DOI for citation purposes
- CWeb
Published by scottprahl almost 3 years ago
iad - Fix a few corner cases
Nothing major. Just ensuring that structures are initialized so that some rare types of inverse problems work properly.
- CWeb
Published by scottprahl over 4 years ago
iad - Minor bug fix for ad_layers()
Fix for missing initialization of quadrature angles.
- CWeb
Published by scottprahl over 5 years ago
iad - 3.11.4 Now works on Raspberry Pi too!
Added a -fsigned-char as a compile time flag to get iad working on a Raspberry Pi. It is pretty slow, but it works.
- CWeb
Published by scottprahl over 6 years ago
iad - IAD 3-11-3
- improve an error message when using -F
- add command-line option to specify search explicitly
- improve command-line help message
As usual, the .exe files are for Windows. Unix systems should be able to just download and run 'make'
- CWeb
Published by scottprahl over 6 years ago
iad - IAD 3-11-2
This release (and the previous one) add support for Windows.
This release now includes basic instructions for Windows users and a zip archive containing Windows binaries.
This release also updates License (still MIT) and unifies various copyright notices.
Unix/macOS users are still supported and should just download one of the Source code archives below.
- CWeb
Published by scottprahl almost 7 years ago
iad - Inverse Adding-Doubling
The main change in this release is that windows executables can now be built with MinGW-w64 and tested under Wine.
The binary executables below are obviously for windows and have only been tested under Wine Emulation
- CWeb
Published by scottprahl almost 7 years ago
iad -
This release mostly improves packaging so that everything compiles cleanly on MacOS X and linux.
Improved tests and fixed a few minor bugs in the frameworks.
Improved information presented during debugging.
- CWeb
Published by scottprahl over 7 years ago
iad - iad-3-10-2
This version adds header files needed to install libiad that formerly needed to be generated with ctangle.
- CWeb
Published by scottprahl over 8 years ago
iad - iad-3-10-1
This version now includes .c and .h files that are generated using the ctangle program. The program should build cleanly on unix/macos platforms.
- CWeb
Published by scottprahl over 8 years ago