File: ChangeLog.txt

package info (click to toggle)
3depict 0.0.22-1.2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 17,520 kB
  • sloc: cpp: 73,905; sh: 6,436; xml: 1,604; python: 350; ansic: 190; makefile: 177
file content (805 lines) | stat: -rw-r--r-- 36,220 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
* 4 Apr 2019 : 0.0.22
	Features:
	- Voxels can now be "masked" to allow for "open" isosurfaces
	  when dealing with e.g. multilayers
	- Some filters now support "ion remapping" when reporting composition
		- This allows cluster ions, e.g. TiO, to be expanded to Ti and O
		- Expansion is specified by a "remap file", given by user.
	- Add Voxel Load, allowing for raw binary (floating point)
	  or VTK structured grid files to be loaded
	  	- This allows for volume data, e.g. from images
		  to be loaded at the same time as point data
	- Axial DF sweep mode - this allows for automatic
	  crystallography detection

	User visible changes:
	- Improve error handling when loading rangefiles
	- Fix binomial method (property broken during previous update)
	
	Technical Bugfixes/changes:
	- Increase use of std::move() for mild performance improvements
	- Fix spherical composition profile, can now be normalised when no range present
	- Fix bugs with annotation properties
	- Fix some minor state file problems (some properties not fully restored)
	- Voxel properties now centralised
	- Update range reader
	- Minor UI out of sync with backend errors fixed
	- Fix infinite refresh loop, in some cases when using monitor mode.
	- Various C++11 updates, through clang-tidy
	- Remove SHULL from codebase.
	- 2D scatterplots now save to file correctly

	

* 17 Jan 2018 : 0.0.21
	Features
	- New ruler mode for annotation
	- RDF normalisation
	- Better feedback to user for console messages
	- Camera rotation controls
	- Voxel export dialog
	- Local concentration filter mode
	- Experimental volume rendering support (optional feature when building),
	  this includes custom "transfer functions" i.e. colouring.
	- Density Filtering mode in spatial Analysis (Development : A. London)

	User Visible Changes:
	- Crop control can now use Shift key to lock crop axis
	- Fix vxel state not being loaded/saved correctly.
	- Fix cache bugs with colour bars in voxelisation
	- Fix camera orientations not always right when setting camera using buttons
	- Point density code now much faster, using KD-Tree Sphere intersection algorithm
	- Fix in local concentration mode, upstream filter propagation
	  now consistent in cached vs uncached mode


	Technical Bugfixes/changes:
	- C++11 supported compiler is now required. Most compilers should support this. 
	- Property code underwent significant re-write
	- Can now switch between QHULL and S-Hull (shull.org) convex
	  hull algorithms at compile time. Shull support is experimental
	- Fix for downstream pos data + ion colour combinatoin resulting
	  in black displayed ions
	- Various edge case fixes in range loading
	- Fix incorrect double-refresh when using drag/drop
	- Implement DF-sweeping algorithm (not fully exposed to user)

* 04 Feb 2017 : 0.0.20
	Features:
	- Add "TAPSIM" file loader
	- All vector input values can now be specified in ISO31-11
	  spherical co-ordinates, using an angle-bracket notation, like
	  so: <r,theta,phi> (in degrees), example <1,10,45 >
	- New "voxel slice" tool (cut voxel data as arbitrary plane)

	User Visible Changes:
	- Local Concentration has now been renamed to "Local
	  Chemistry", and the function it computes has changed (was  n/(n+d),  now n/d (n-> numerator, d-> denominator))
	- Filters in tree can now be moved using a "splice" operation, which moves only the filter
	- Ion colour now has an "auto-bounds" mode
	- New colour maps : "Inferno" and "Viridis"
	- Improve progress during ATO file loading
	- Binomial mode did not work in many cases, due to grid construction bugs. Now fixed.
	- Anisotropic scaling now fixed - input data should be able to be given by user
	 

	Technical Bugfixes/changes:
	- Fix for crash during drag-drop operations
	- Fix spatial analysis set operation: Union. Was not implemented
	- Fix hang in local concentration when using the same elements
	- Fix Stem/Bar/Step mode when plotting 
	- Fix morphology plot not showing in cluster analysis
	- (Source only) "openvdb-isosurf" Branch for OpenVDB based
	  voxelisation and isosurface construction (thanks to L Gartmair)
	- Added french and spanish partial translations (fr_FR, es_ES)


* 31 May 2016 : 0.0.19
	Features:
	- New "Local concentration" algorithm in spatial analysis filter 
	- Add text and VTK export to Export Pos dialog
	- Experimental Background fitting in spectra 
	 
	User Visible Changes:
	- Camera re-orientation buttons have been added. Previously you
	  could get a similar effect using keyboard shortcuts, eg Ctrl+Space
	- Fixed breakage to monitor mode
	- Only show erosion clustering parameter if bulk linking is enabled
	- Fixes for hanging when loading some files under windows
	- Fix broken point em/replacement (set operation) mode in spatial analysis
	- Fix missing and incorrectly labelled denominator property in voxelisation
	- Refresh button now changes to "Abort" during calculations for
	  all platforms (Previously windows only)
	- Fix loading of rangefile data in filter tree, broken in 0.0.18
	- Improve progress reporting for some filters
	- Fix opengl rendering on OSX (Previously resizes would cause
	  scene to be distorted or clipped)
	- Minor improvements to point colour and size tracking
	- Fix bug in point replace mode where square distance was used instead of regular distance.

	Technical Bugfixes/changes:
	- Many minor memory leaks fixed
	- Fixes for C++11 compilation
	- Many small crash bugs fixed
	- Fix analysis state lost if loading state failed
	- Fix name collision detection in package export
		- will now check for origin of file, not just name
	- Fix race bug in voxel summation, caught by unit tests.

* 05 Apr 2015 : 0.0.18
	Features:
	- User interface now uses its own CPU. Should be much more
	  responsive during refreshes
	- Spectra can be normalised to allow for easier inter-spectra
	comparison. Several normalisation modes have been added.
	- Clustering ellipse fitting implemented. Can now determine
	 best-fit ellipsoids on clusters, and plot them in 2D to identify
	 lath/rod/sphere/disc shapes
	- Voxelisation filter now supports fast blurring 
	
	User Visible Changes:
	- Axial slice in voxelisation can now be made translucent
	- More noticable progress feedback, now as a progress "spinner"

	Technical bugfixes/changes:
	- Significant refactoring of internals to allow for threading. 
		- State has been made more prominent, viscontrol less.
		- New "TreeState" object created
	- New library added for voxelisation/image support : libvigra

* 01 Sep 2014 : 0.0.17
	Features
	- Upgrade to wxWidgets 3 (wx3)
		- Now using wx3 property grid. Property grid interaction
		  greatly improved.
			- Categories collapsible
			- file browse buttons
			- One-click check buttons/dropdown
	- Set (Subtraction/Union/Intersection) operations on points
		- Can, eg load data from separate file after performing
		operations on primary file
		

	User Visible Changes
	- Fix bug in left/right panel startup size setting
	- Exporting images with colour bar now works correctly
	- Cursor now shows OS' busy status during refresh
	- Files no longer disappear from recent when loading
	- Fix range propagation behaviour when using spatial analysis
	- Clustering now supports cluster ID->value mode (Feature request)
	- Status messages are now queued, so they won't be missed
	- Fixed profile minimum events not working

	Technical bugfixes/changes:
	- wxWidgets < 2.9 (prior to 2010) no longer supported
		- Remove 2.8 conditional code
	- Mathgl < 2.0 (prior to 2011) no longer supported
		- Remove 1.x conditional code
	- Fix relatively frequent crashes when sampling data files
		under parallel mode
	- 2D plots (f(x,y) and scatter+size) now supported, but no
	   filter actually currently uses this
	- All filter properties must have a group title
	- Fix crash in mac OSX if expected data files not found
	- Refactoring for filter caching and property setting
	- Fix linker failure when using distcc

* 01 Mar 2014 : 0.0.16
	Features:
	- Added experimental LAWATAP (ATO) file support
		- Please send sample files!

	User Visible Changes:
	- Animation state now saved/restored	
	- Plot interaction should be much faster
	- Minor UI improvements
		- Filter tree now persistent when interacting, where possible
		- Mouse hover shows name on plot regions (ranges)
		- Show user prompt when no filters present
		- Nicer text fonts
		- Clustering filter properties simplified
		- Nicer looking logarithmic plots
		- Left plot panel now remembers size correctly
	- Minor 3D drawing fixes
		- Fixed inside-out cones on bounding box Z-axis
		- Fixed line-overlap-arrow with large annotation arrow linewidths
	- Allow loading text files with 3 columns
	- Fixed random_shuffle not being seeded in transform relabel
	- Composition profiles now have "min count" mode
	- Rotating camera image output was broken in version 0.0.15 - fixed
	- Prevent creation of "stretched" image output
	
	Technical bugfixes/changes:
	- Linux automated UI checking, based on dogtail
	- Bugfix for caching errors in 0.0.15 tarball (already fixed in binary releases, and in repo)
		- many filters would incorrectly emit input data after caching
	- Many minor memory leaks and bugs fixed, due to Coverity scan
	- No longer launch 3Depict from windows installer
		- Windows UAC bug : no API for launching unprivileged processes from privileged ones
	- Fix crash with some tree configurations
	- Unit tests now check for installed files presence
	- Fix crash when linked against some mathgl-2 versions
	- Fixed SVG saving under non-english locales
	- Add support for qhull2012
	- Fixed caching parameter ineffective, due to fraction->percent bug 
	- Fixed packages with anaglyph effect not loading

* 01 Dec 2013 : 0.0.15
	Features
	- Range editing dialog : Rangefiles can be modified via a dialog available from the "edit" menu
		- A Range filter and a spectra filter must be present first
		- "Overlays" can be used to generate isotopic distributions for comparison
	- "Binomial analysis" algorithm, (Moody et al, 2011) for data randomness testing
	
	User Visible Changes:
	- Middle double click to zoomout on plots
	- Improved user feedback in transform filter
	- Better console output, messages now persistent
	- Progress dialog for animation
	- Colour bar auto-changes colour on light backgrounds
	- Colour maps now reversible
	- Orthogonal camera can be selected by default
	- Improved RRNG and ENV support
		- ENV 0.3 supported
	
	User Visible Bugfixes:
	- Image export fixed wrong aspect ratio ion output images
	- Fix plot export dialog when (png/svg) extension given
	- Fix tree/property grid not always synchronised
	- Fix "jumping" of movable objects after interaction
	- Fix custom filter names not being saved correctly 
	- Fix undo not recorded after tree copy 
	- Fix axial dist aborting problem
	- Fix loading of .xy files from external program filter
	- Fix hang when disabling weak/fast randomisation
	- Fix intermittent problems with spatial analysis filter aborting
	- Fix incorrect parsing of external program commands
	- Fix state file loading in downsample filter, fixed count mode
	- Fix camera animation continually asking if you want to save,
	  after animation completion
	- Fix colour interpolation in animate dialog

	Technical bugfixes/changes:
	- Fix hang when filters given directories as input (linux)
	- Fix bug in extern filter where data would be output even on empty command
	- Better out-of-memory exception handling at refresh level
	- Various memory leak fixes
	- Refactoring
		- filter caching 
		- unit testing 
		- scene opengl init
	- More unit testing 
	- Remove plot pane polling for region change

* 20 Jul 2013 : 0.0.14
	Features:
	- 2D slice render mode for voxels. Can now visualise voxel data
	  using colourised planes - show voxel values on a given slice
	- Animated spin-progress icon to show refresh status
	- Automatic, but optional, limiting of point count in 3D display 
		- Improved responsiveness of program to user when
		  working with large datasets. Enabled by default.
		- Downsampling no longer added when loading datasets
	- New "double-ORNL rng" rangefile support

	User Visible Bugfixes/Changes:
	- Fix "blinking"/flicker problems in 3D scene when changing properties
	- Improved tracking of changes to state
		- Current filename
		- Current directory
		- Changes to state (eg, for asking to save at exit)
	- Fix state load/save bugs
		- Orthogonal camera scaling
		- stash handling
	- Add new tree warnings
		- Composition biasing warning for rangefile->composition pairs
		- Missing required parent filter (eg clustering)
	- More caching in voxel filter, for better performance
	- Better axis handling for plot window
	- Better handling of cylinder objects during interaction
	- Improved performance in some cases when ranging
	- On Mac OSX, manual now stored locally
	- New "quick start" section in documentation
	- Ranged ions/volume now reported correctly by ion info filter

	Technical Bugfixes/Features:
	- Split viscontrol and analysis state into separate modules
	- Minor improvements to rangefile loading
	- Improved assertion checking for selection bindings
	- Remove needless templating of selection devices
	- Continuous Integration script for cppcheck
	- Minor opengl enhancement (performance & error reporting)

* 12 Apr 2013 : 0.0.13
	Features:
	- Spherical composition profile support
	- Added axial distribution mode to spatial analysis (directional RDF)
	- New build for windows 64 (no parallel build available yet)

	User Visible Bugfixes/Changes:
	- Fix crash if unable to obtain RSS feed when checking for updates from behind proxy (Windows only)
	- Rangefiles now correctly load when altering name property
	- Copy/pasting from the raw data grid now works.
	- Plot now updates when scrolling, rather than just during mouse motion
	- Fix refresh loop in Data Load filter when "monitor" active and "enabled" inactive.
	- Fix RDF generating error/crashes when passing < 4 points
	- Fix voxel filtering not preserving intensity correctly
	- Fix crash bug on OSX during animate
	- Fix animate dialog, where wrong text box updated on frame change
	- Animate dialog "remove" button now works correctly
	- Clipping algorithm now uses multiple CPUs
	- RDF algorithm (max dist) now uses multiple CPUs
	- The default camera now is stored and loaded when saving state
	- Ion information filter now emits warnings if sampling is enabled by a parent
	- Warning on export of plot's without legend fixed
	- Fix bug where gl window did not update after sash move on some video drivers
	- Not providing an extention when exporting plots now causes prompt, rather than error
	- Fixed filters not staying selected when loading new data files
	- More locking of UI elements during refresh
	- Improve view splitter startup behaviour

	Technical Bugfixes/Features:
	- Mathgl >= 1.11 (Nov 2010) now required as hard
	  dependency, earlier versions will not compile
	- Mathgl 2.x now supported
	- Refactored clipping and concentration profile code
	  into single geometry handler
	- Refactored often copy-pasted XML writer code back to
	  "filter common" functions
	- Fixed bug whereby if user preference had been altered
	  for pos data, with loadlimit=0, then loading would cancel
	  if this value was not changed in the filter property,
	  and sampling was set.
	- Improved wx correctness in property grid
	- Tentative support in "getDeps" script for CentOS6
	- Refactor APTClasses & basics functions into several
	  more manageable parts
	- Better RNG support (negative ranges, range lines starting with a digit)
	- More extensive unit testing
	- Fix double-free bug for certain topologies in filter tree
	- Fix memory leak when aborting refresh
	- Cross compilation script for mingw-win64 and 32
	- Source code relayout to reflect overall design
	- Fix several minor assertion errors
	- Remove several redundant scene update calls in main window
	- Re-enable OSX checking for updates
	- Fix incorrect progress reporting when ranging
	- Improved release QA checking

* Nov 2012 : 0.0.12
	Features:
	- Animation tool for performing "sweeps" of filter properties
		- can change a filter properties and export images,
		 point data, plots etc. for each step in the property
		- Can sweep multiple properties simultaneously
		- Use for exporting videos/animations of parameter changes
	- Each filter property now has built-in tooltip help text
	- New warning for possible compositional biasing in composition results

	User Visible Bugfixes/Changes:
	- Point input starting with "." no longer incorrectly rejected
	- Fix arrow heads being shown for some objects where they should not be
	- Improved RNG file reader, fixed some multiple ions being
	   rejected when they should not be
	- Performance increase in transform filter, ion shuffle mode,
	  due to better shuffle strategy, and more parallelism
	- Fix progress reporting in transform filter, shuffle mode
	- RRNG files without colour data will now have random colour
	  assignments, instead of black.
	- Some performance increases in point generation and display
	- More property group naming
	- Fix spectrum plot resetting itself to default values if no valid input
	- Fix some malformatted RRNG files could cause crash
	- Fix vertical "sash"/splitter motion not causing 3D view to update
	- Fix crash when loading large posfiles in external program filter


	Technical Bugfixes/Features:
	- Added Event logger code, for better user feedback from assertion failures
	- More workarounds for mathgl library infinite loop problems,
	  which occur due to floating point aliasing
	- Fix segfault in point parsing routines
	- Improved UI locking during scene refresh, limiting scope for 
	  callback re-entrancy, which caused some crashes.
	- Fixed several small memory leaks
	- More unit testing, and fix some non-working unit tests,
	  eg transform shuffle, which wasn't checking shuffled state
	  correctly, and hence did very little
	- Minor openMP fixes
	- Many cppcheck fixes - mostly stylistic, or minor performance improvements


		

* 1 Jul, 2012  : 0.0.11 
	Features:
	- Filter tree is now scanned for common errors, with a clickable
	  warning message for detected errors, e.g.:
		- Filters connected that cannot have any effect
		- Filters connected that may alter the outcome of 
		  density dependant analyses, due to sampling.
	- Spatial analysis now has "density filtering" mode.
	- Bounding box has new draw modes "dimension" and "box only"
	- User manual has been expanded, now provides more detail on filters,
	  and specific examples for the External Program filter for multiple
	  programming languages (Scilab/bash/python/C++).
	
	
	User Visible Bugfixes/Changes:
	- Clustering core mode in core-link algorithm has been fixed (Core dist > 0)
		- Previously program would crash/generate nonsense results.
	- Fixed voxels not showing if transparency set to zero in point cloud
	  mode
	- Multiple-autosave and resolution selection dialog usability improvements
	- Fix Undo not working after deleting filters
	- Recent files that do not exist are removed from recent files menu
	- External Program option "Clear cache" now correctly updates after
	  selection.
	- Spatial analysis colour change for plot no long requires
	  recomputation.
	- Bulk distance > 0.5*Link distance now emits warning in cluster
	  filter, previously was incorrectly set to > 1.0*Link distance.
	- Tree no longer completely disables user interaction during refresh.
	- Lines now have conical arrow heads where appropriate (eg
	  annotation).
	- Package state restores now correctly restore working directory
	  information, fixing load failures for some external resources.
	- Fix cluster cropping/nmin not loading correctly from state files.
	- Fix bug where ion downsampler might not propagate range data
	- Cluster filter restores ions better when dragging/dropping between
	  different range file parents
	- Fix ion export not working correctly, due to change in viscontrol
	  behaviour for 0.0.10

	Technical Bugfixes/Features:
	- Improvements to dependency fetch script "getDeps" for Mac OSX Lion.
	- Several small memory leaks fixed
	- Speed improvements by removing initialiser on ionhit data class
	- More unit test cases for filters
	- More strict emit/use/block patterns for spatial analysis, bound box
	  and external program

* 1 Apr, 2012  : 0.0.10
	Features:
	- Improved aborting behaviour for filters

	User Visible Bugfixes/Changes:
	- In cluster filter, datasets consisting of "core" only can now be clustered. Previously some "bulk" was required, due to programming error.
	- Fix drag/drop loading bugs
	- Fix multiple data files not being accepted at command line
	- Fix crash-on-exit in OSX 10.7 bug
	- Improved rangefile reader - more tolerant of oddly formatted rangefiles
	- Fix bug where downsample filter would not update ion selection if parent rangefile filter was altered.
	- Data loading can now use custom string for data name - defaults to "mass-to-charge"
	- Plot region dragging now disallowed if region not shown (ie lies outside visible data area).
	- Fix bug in plot panel, where I beam would not show if user did Y zoom starting below plot X axis
	- Fix bug in plot zooming, where a perfectly X or perfectly Y zoom (ie mouse moved exactly horizontally or vertically) would fail to zoom.
	- Fix bug in clip & composition cylinder where perfectly horizontal (XY plane) would result in incorrect direction for analysis.
	- Better drag/drop support when dropping into tree "base" - now will only allow filters that can be a data source on top level.
	- Most buttons/checkboxes/spinbuttons etc ("controls") now have tool tips when hovering mouse.
	- Several previously untranslated items added to translation database
	- Minor layout change to ion info properties.

	Technical Bugfixes/Features:	
	- Major internal reorganisation (refactor) of viscontrol. Now split into two parts, a tree manipulator & refresher (FilterTree), and UI/backend sync (Viscontroller)- Some export dialogs now take advantage of tree cache, making exporting dialog appearance faster in complex filter trees.
	- More unit tests for filters, rangefiles and filter trees.
	- Some export dialogs now take advantage of tree cache, making exporting dialog appearance faster in complex filter trees.
	- Improved dependency retrieval script, making porting a bit easier.
	- More QA checking in release script
	- Compiles against GCC 4.7.
	- Re-enable convex hull based algorithms in OSX.
	- Remove unnecessary #includes.
	- Some code de-duplication, thanks to pmd.sourceforge.net
	- Hidden debug only Autosave with ctrl+insert.
	- Fix memory leaks in filter devices, rangefile filter 
	- Property keys now throw assertion error if not unique.
	- Fix small array overrun in NN histogram generation in RDF filter
	- Fix MK1 KD tree stack underrun for some trees.
	- Properties in XML files are now escaped and unescaped, avoiding malformatted/broken state and configuration files, if using any of "<>&" in saved elements.


* Dec 17, 2011  : 0.0.9
	Features:
	- Rangefile filter now has "all ions/ranges" enable/disable option
	- Autosave dialog now shows timestamp on file, eg "autosave.123.xml,
	one day ago"
	- Density computation in volume estimation filter 
	- Implement scroll-to-zoom in plots
	- Rangefiles can now be dropped onto program to open.

	User Visible Bugfixes/Changes:
	- Fix crash-on-load due to strict floating point checks under some
	  wxGtk (linux) systems (Reported by users)
	- Fix text file loading when loadlimit is 0.
	- Fix hang when loading incorrectly formatted text files
	- Fix bug where primitives might not show from transform filter until
  	  forcing a refresh
	- Spectrum filter no longer resets bincount when no data passed to it.
	- Composition profile now matches 3D cylinder size when using fixed
	  number of bins. (Reported by user)
	- Fix bug where only line plots could be selected for plot dropdowns.
	- Fix random crash/weirdness bug when dragging 3D items.
	- Fix several internal debug dialogs being shown in wx2.9 (OSX 10.7)\
	- Fix non-responsive dialogs in wx2.9 (OSX 10.7)
	- Fix occasional corruption of volume estimate in IonInfo filter
	- Better colouring of ranges in plot area (now uses exact colour, not
	  closest from fixed palette)
	- Better error messages when failing to load data files
	- Fix config file error message for new 3Depict installs
	- Fix double message dialog when failing to load autosave
	- Fix bug where dataset would appear rotated when changing view axis
	for certain orientations.
	- Fix various bugs in autosave dialog

	Technical Bugfixes/Features:
	- Implement quality assurance code : unit testing of most filters, add
  	  release build checks.
	- Cluster filter now can do morphology (ellipse fit), but user frontend incomplete.
	- Many small memory leak fixes 
	- Fix corner case bug in  cluster analysis filter where small data
	  corruption could occur for very small datasets.
	- Fix duplication of final range in rangefile
	- Fix large memory leak in convex hull estimation.
	- More strict checking for source dependencies in configure script
	- Marginally faster data loading by removing unneeded shuffle
	  operation
	- More correct and strict rangefile checking
	- Fix bogus error in debug mode when dragging mouse move rate slider to max
	in pref. dialog
	- Fix bogus error in debug mode when using smoothing filter on voxels
	- Colourbar overlay no longer affected by scene lighting.
	- Fix bug where editing a property, then switching cameras can cause
	  hang in debug mode.

* Sep 30, 2011  : 0.0.8
	Features:
	- Data files can now be monitored for changes, prompting
	  auto-reloading of filter tree if file changes.
	- Multiple autosave files (per running program copy) are now
	 supported
	- Annotation filter, including angle measurement, text annotation,
	  and linear measurement.
	
	User Visible Bugfixes/Changes:
	- Voxel smoothing option now works if smoothing kernel is larger
	 than dataset (i.e. small bin numbers or large sigma values).
	- Fix bug in density scaling (this was prev. included in some builds)
	- Fix bug in refreshing code which would not cause tree to be
	  loaded correctly in some filter combination cases (such as pos
	  Load->pos Load)
	- Fix preferences not respected when loading data files
	- Fix text files not selectable by default from load menu
	- Minor changes to ion info filter
	- Fix segfault if loading text data files with too few columns

	Technical Bugfixes/Features:
	- wxWidgets 2.9 support (incl. source build now supported under OSX 10.7, in theory)
	- Minor correctness improvements to configure script
	- wxWidgets correctness fixes (assertion failures etc).
	- Fix build for libpng 1.4 (infopp_NULL -> NULL)
	- Respect user choice of system background in plot area

* Jul 30, 2011  : 0.0.7
	Features:
	- Improved isosurface computation, incl. data filtering.
	- Foreign language support
		- German translation (de_DE).
	- Ion Info filter : volume and composition estimation.

	User Visible Bugfixes/Changes:
	- Periodic update checks (Unmanaged systems only, ie OSX, windows).
	- Improved window positioning on startup.
	- Fix voxel state saving - now restores range selections.
	- Fix cropping with camera coordinates incorrect behaviour 
	  due to numeric instabilities.
	- Fix range file reading under locales with non-english decimal
	  separators.
	- Better handling of relative paths in analysis packages.
	- Ion transform filter now has "value transform" mode
	- Faster voxel computations (caching + cache introspection)
	- Improved crop controls  -- better reset behaviour.
	- Fix pointcloud representation off-by-1/2 voxel pitch.
	- Fix bug where zooming repeatedly in 2D plot caused hang
	- Manually changing composition profile Cylinder axis respects
	  lock axis magnitude setting.
	- Fix off-by-one in tick computation for bounding box.
	- Fix value setting when changing between clip objects
	- OpenGL status is now checked upon startup.

	Technical Bugfixes/Features:
	- Rewrote plot code to allow for more extensible plotting.
	- Improved checking of filter stream outut.
		- Checking of block masks against emit.
		- Other misc. checking.
	- Depth sorting framework for improved transparency rendering.
	- Removed many small memory leaks in parsing & UI.
	- Improved numerical stability in some rotation operations


* May 16, 2011  : 0.0.6
	Features:
	- Text data file loading
	- Cameras can now be locked
	- Add noise mode to transform filter (gaussian/white)

	User Visible Bugfixes/Changes:
	- Clustering algorithm now gives sensible results. 
		- Previous implementation was wrong in several respects. Now
		  should behave correctly, even on corner cases.
		- Now performs bounds-in-sphere check for large queries,
		  significantly improving the scaling characteristics of
		  the search when using large bulk link radii
	- Fix crash when moving range on empty data 
	- Workaround for wxWidgets bug where recent file list >9 items
	  would not load
	- Fix bug in undo/redo where tree may not reset correctly if it
	  contains range data after undo/redo op.


	Technical Bugfixes/Features:
	- Significantly more complex refresh system, now performs type analysis
	  on tree to determine minimal subsections of tree to refresh. Now filters
	  that cannot cache well will penalise the refresh system much less.
	- Fix corner case bug in LFSR selection routines (power of two
 	  selection from same size array results in single duplicate).
	- Fix opengl bug with isosurface draw which appears up under some
	  video card/driver combinations, which lead to undefined video
	  behaviour (bad glPopAttrib()/glEnd() ordering)
	- Fix incorrect "loaded file" message if uninterpretable pos file
	  loaded.
	- Fix error in plot causing assertion error during mouseover
	- Fix plot behaviour when all data == 0.


* March 27, 2011  : 0.0.5
	Features:
	- Clustering algorithm
		- Modification of methods of Stephenson et al.; this
		includes Max. Sep algorithm. See manual for algorithm
		description and parameter details
	- Value shuffle mode in transform filter
	- Mouse preferences for zoom and other controls
	
	User Visible Bugfixes/Changes:
	- Add hint to resolution dialog to maintain aspect ratio in output plots by default
	- Mac binary now distributed through packagemaker.

	Technical Bugfixes/Features:
	- Major code refactor; simplify code layout to aid further code development, speed compilation
	- Fix "press shift to refresh" hint not working
	- Fix voxels not reporting cache size
	- Fix possible crash bug in double click plot when no plot visible.
	- Filters now support named sections in property sets
	- Disallow zero sized ion streams from rangefiles	
	- Fix off-by-one bug in boundcube set func (can cause assertion error)
	- Improve progress reporting for LSFR random selections


* January 23, 2011  : 0.0.4
	Features:
	- Preferences dialog 
		- User defined defaults for each filter 
		- Window startup behaviour
	- Postprocessing effects
		- Interactive/fast depth buffer based cropping
		- Analgyphic (oldschool coloured glasses) stereo
	- Fullscreen now has "partial" and "really" fullscreen modes
	- Ion downsampling filter now aware of ranges


	User Visible Bugfixes/Changes:
	- Improved parsing of points, so more styles of 3D point entry is 
	allowed, eg when cutting/pasting from scilab
	- Plot now zooms in X or Y only by double clicking below axis
	- Some sections that were supposed to be paralellised, but were not
	due to typos, now actually are.
	- Fix bugs in state file writing for ion clipping (non saved var)
	- Fix parallelism in KD tree building
	- RDF was not paralellised, and could not be aborted
	- Voxels no longer crash due to non-ion input
	- Fix assertion errors when working with cylinder clipping tools
	- Fix overlays hints being drawn "below" other points in the scene (disable
	depth buffer, and draw last)

	
	Technical Bugfixes/Features:
	- Improve compilation structure to simplify builds under all
	platforms, particularly when using paralell or similar
	- Various crash fixes due to re-entry bugs
	- Fix a few unititalised variables (eg spat. analysis ->cache on plot)
	- Implement "effects" framework to allow insertion of arbitrary openGL
	calls using derived effects classes.
	- Some internal refactoring to reduce code duplication (Filter
	generation)

* November 29, 2010 : 0.0.3
	Features:
	- Added range interaction on-plot
	- Show marker for transform in mass-centre && boundbox mode. Allow
	user to show or hide marker.
	- Add drag and drop support for files
	- Add on-screen colourbar  for ion colour
	- Add axis drawing
	- Added better error messages to XML file read
	- Added RDF filter
	- Add mode to lock cylinder magnitude during rotation
	- Plot panning (hold shift key)
	- Filters can report stepwise progress
	- Improvements to manual.

	User Visible Bugfixes:
	- Better error messages for PNG/SVG plot save
	- Fix bug in binding which caused object to move more than it should
	 during 3D drag
	- Set dialog default item focus
	- Fix escape key not working in dialogs
	- Switch ms-windows camera roll to use alt, rather than tab, because
	ctrl+tab advances through controls, regardless of focus
	- Remove buggy parallel code in rotation filter
	- Fix transform filter behaviour to +origin after rotate
	- Fix bugs in transform filter
		- origin behaviour
		- copying/stashing filter
	- Fix bug whereby region colours in mass spectrum had green and blue
	channels swapped (typo)
	- Fix for crash when exporting images at high resolutions,
	due to uncaught std::bad_alloc in conjunction with a missing return
	after popping up dialog box
	- Fix bug with loading multiple files at command line
	- Fix bug in voxels where axis aligned data caused crash
	- Fixed animation tiling 
	- Ensure visibility reset actually resets to looking down +ve axis
	- Change plot axis to show log_10 rather than just log() during log
	mode
	- Fixed interaction overlay drawing transparency

	Technical Bugs/Features:
	- Really fast "random" sampling.
	- Fix memory leak where textures were continually reloaded at every
	use due to bad name handling
	- Fix incorrect usage of std::unique that was leading to assertion
	failure
	- Make conjugation in quaternions implicit for even faster quaternion
	rotations.
	- Fix bug in GenericLoadFloatFile, where the output vector was too
	small for cols<4, resulting in memory overflow
	- Fix bug in transform filter where data limits were required for
	ion data sizes < 2
	- Fixes for spatial analysis filter
		- Catch and report errors to console, rather than crash.
	- Fixes to plot bound get function with multiple plots
		- Only returns visible plots now
	- Fix aspect ratio not set during scene overlay draw
	- Added export analysis package
	- Added abort to rendering sequence
	- Fix assertion error during refresh due to bad total filter count
	after ion export
	- Fix bug in BoundCube::setBounds where incorrect assignment for z
	was made
	- Valgrind out two crash bugs due to uninitialised memory



* September 24, 2010: 0.0.2

	- Files with arbitrary number of data channels can now be loaded,
	but only one channel at a time can be analysed.
	- Many functions are now openMP parallelised, and thus will
	take advantage of multiple CPUs, if enabled at compile time
	- Simple animation support (PNG sequences in an orbit)
	- Voxelisation support; voxel data can be generated using the new
	Voxelise filter. Supported visualisation methods are Isosurfaces and
	point clouds.
	- Undo/redo support : filter operations can now be undone, and redone.
	- Windows build: we now have a windows build.
	- Improved rangefile parsing. This should now work on every range file
	I have ever met. If you have one where it does not work, let us know.
	- Several filters have been improved to be easier to use (eg transform
	filter)
	- Some core functions have been optimised (eg rotation, composition
	profiles), and should be significantly faster.
	- Many bugfixes -- program should be significantly more stable, but
	requires testing (please help us with this if you can )

* August 11, 2010 : Released 0.0.1
	- Initial release