See also the QXRD Git Log
Added 'adjust energy' and 'adjust distance' commands Reworked calibrant library code Added polarTransform (cake) command Work on polarization corrections Reworked integration routines to use multiple threads More work on data objects
Preliminary support for detector ROIs as pseudoscalers
Preliminary support for driving Pilatus detectors Preliminary support for driving multiple detectors simultaneously Preliminary support for per-detector processing chains Preliminary spec macro counter support
Implement a tree of data objects - with browser etc. Implement library of powder calibrants
Output synchronization waveform available for nPhases==1 as well
Work on delaunay triangulation routines for powder calibration Work on calibrant peak calculations
Added user interface to display shrinking routines
Fixed problems displaying pilatus images
Added simple calibrant diffraction angle calculation routines
Plot of fitted ring TTH and calibrant TTH vs azimuth
Added file access scripting commands
Preferred qt version is now qt5 for all platforms
Improved memory handling during acquisition - should drop fewer frames
Added optional automatic retry mode for acquisition - dropped frames will be repeated automatically during acquisition. Note that will affect acquisition timing.
Added a saver backlog counter to go with the processing and integration backlog counters already provided. The backlog counters should now count down to zero properly as well.
Tidied up powder ring fitting routines and removed some redundant duplications.
More work on fitting - ellipse fitting added
MINGW builds work again
Manual control of output voltage in sync acq dialog
Implemented histogram window
Extensive rework of powder ring and peak fitting code
Some work on a distortion calibration from grid mask images
Script Editor window added
First release in 0.11.x series ...
Major changes to use current versions of qceplib 0.1.4, qwt 6.1 and qt 5.x
Still problems with qt 5.x builds so still include qt 4.8.5 build
Various changes related to saving integrated data
Fixed problems with saving user defined properties in acquired images
Added a timeStamp property to acquired images - number of seconds since unix epoch, with msec resolution if supported by OS
Can change the detector type for an experiment from the preferences dialog
The application will now always re-open the most recent experiment when restarted
Made proper distinction between the experiment directory - where experiment and log files are stored, and the data directory - the root directory where data files are stored
Removed some confusing commands related to new experiment creation
Rearranged order of widgets in acquisition panel and experiment preferences dialog to better reflect hierarchy of directories used.
Added an experiment.detectorNumber parameter to permit working with multiple detectors on the same machine.
Added detector number control widget in the acquisition dialog.
Fixed race problem with acquire and acquireDark - there was a race condition where the actual start of acquisition could be delayed till after acquire returned, meaning that a call to status would erroneously indicate that acquisition had succeeded.
Added more information in the log file when an experiment starts up - show version information, host name and type, experiment name and path
Fixed problems with conversion of array and list values to strings in scripts
Added more routines to access powder points
Improved display of script values: arrays and objects are now printed out property by property.
Added the ability to set user-defined properties on the 'acquisition' object - such properties are copied into acquired image files.
Fix for crash when moving image center parameter during acquisition
Fix for initial detector gain problem after restart
Added script functions to access and modify the marked points in images
Fixed problems with integration corrections
Added commands to save cached integration arrays for inspection
Made the centering dialog more compact
Added support for user-defined calibration functions in integration
Modified build system to use git submodules - need to do 'git submodule init' and 'git submodule update' when checking out source tree.
Fixed problem with remote command execution
Updated Qt to 4.8.4 on Mac and Windows
Primarily a bugfix release - address memory leaks at shutdown
Added pulldown menus for NIDAQ device and channel names
Moved triggering options into extra inputs objects
Added liveData() script function to access liveView data from scripts
Added liveView readout option
Fixed problems with mingw installer
Added 'initialize' button to extra inputs dialog
Added beam center fitting from user-entered points on a powder ring
Added automatic scripting function help generation
First release in 0.9.x series - many many changes!
Multiple 'experiments' may be open simultaneously - each has its own settings file
A welcome dialog allows choosing from recent experiments
Settings are saved automatically, whenever they are changed
A NI-DAQ card can be used to measure auxiliary signals during acquisition (e.g. ion chamber readings)
Logarithmic Intensity option for image plots
File browsers highlight recently changed files
Shrink/grow commands for masks
Backport logarithmic intensity option from v0.9.1
Added newOutputScan, appendToOutputScan, plotOutputScan and saveOutputScan script commands to 'processor'
Added a loadScript routine to read and execute a script from a file.
Added some device query routines into the NIDAQ plugin
Added integrateRectangle(x0,y0,x1,y1) routine to processor
Display error dialog if another copy of qxrd is already running
Allow specifying number of integration steps as alternative to integration step size
Set initial camera gain on program startup
Automatic insertion of skipped exposures when skippedExposuresAtStart==0
Added caching scheme to speed up integration. Looks to give about an order of magnitude speed boost
Improved implementation of remaining property types - should, (I hope) eliminate the update loop problem once and for all...
Improved implementation of integer properties - should eliminate the occasional update loops that we get from time to time
Add user parameters to control numeric field widths in generated file names
Improve handling of memory exhaustion during acquisition
Accelerate readout by executing more of the processing logic in subsidiary threads
Added options for more timing messages during acquisition
Added options to control number of lines in messages window
Added phase shift option to sync acquisition waveform generation
Added menu commands duplicating commands available from toolbox windows
Merged experimental branch back into master
Changes to Windows installer script - QXRD appears in Add/Remove Programs
Improved responsiveness to acquisition cancel
More debugging messages
Fixed crash when clearing dark/gainmap/badpixels after already cleared
Added thread names to log file output
Added debug output for server operations
Allow integration vs Q and vs R in addition to vs TTH
Improved handling of different image and mask dimensions
File browser windows use polling so that they work on net mounted directories
Implement gain /flat field correction during acquisition
Improved responsiveness for file browser windows when displaying many files
Delayed initialization option for acquisition
Improved debugging messages.
Mainly internal code reorganization
Changed PE Acquisition - call Acquisition_CloseAll at QXRD exit, fixed bug in setting lower bound exposure time
Documentation upgrade. Added release notes to embedded documentation
Changed PE acquisition - added lower bound to exposure times based on values returned by Acquire_GetIntTimes call to XISL library
Allow setting exposure time from fresh start options dialog
Changes in PE acquisition initialization to support more PE detector types
Pre-triggered acquisition should be working again.
Changes to file browser window, including a refresh button. File browser windows do not auto-update you must click the refresh button.
Show/Hide Rng... buttons now work in masking dialog
More info saved in acquired files - Qxrd and Qt version numbers - also more shown in info dialog
fixed problems with image accumulation.
an initial implementation of a file browser that is more responsive when there are many files in a directory.
load and save preferences commands which transfer application preferences to/ from files.
allows setting some preferences before the application starts. To activate this pass the command line argument '-fresh' when starting QXRD. On windows there's an extra entry in the start menu to do this automatically.
contains fixes for an acquisition problem caused by not resetting exposure counts
contains fixes and changes to the 'synchronized acquisition' mode
Added a 'bipolar triangle' waveform. Added nidaq.getAnalogInput and nidaq.setAnalogOutput script commands. Added display of syncronization waveform to UI
mainly involves a major re-write of the acquisition code to support 'synchronized' acquisition.
This involves taking 'groups' of images while varying an external programming voltage (using a supported National Instruments NI-DAQ card). You specify the number of images in a group and then QXRD adds together multiple cycles of acquired images in phase with the output waveform.
The acquisition code does not currently support the pre-trigger acquisition mode of earlier versions. I was hoping to remove this, but it seems that people are actually using it so I had better put it back in. The functions and parameters are there, but they don't do anything at the moment.