Skip to content

PULsE v1.97

Compare
Choose a tag to compare
@kotik-coder kotik-coder released this 09 Sep 13:06
· 21 commits to releases since this release

PULsE v1.97 - Short List of Changes

This release features a new multi-sinusoidal baseline correction feature, generalised optimisers, expanded filtering capabilities and the 2-T model.

Expanded the sinusoidal baseline capabilities to multiple waves:

  • Added FFTTransformer.java
  • Added Window (FFT)
  • Added PeriodicTransform for phase shift
  • Added ZScore
  • Added Harmonic
  • Expanded: SinusoidalBaseline

Expanded the running average estimator by including new classes:

  • OptimisablePolyline allows fine tuning of individual coordinates of a RunningAverage
  • Added: OptimisedRunningAverage
  • Added: Randomiser
  • Added: Filter (super-class)
  • Added: PolylineOptimiser
  • Added: AssignmentListener

Added 2T model

  • Added Gases (Nitrogen, Helium)
  • Added ImplicitTwoTemperatureSolver
  • Added TwoTemperatureModel
  • Added TwoTemperatureProperties

Expanded optimisation by making it less dependent on the specific type of the model:

  • Added GeneralTask as a superclass for all optimisation tasks
  • Added RunningAverage (moved from ExperimentalData)
  • Added Input and Response super-interfaces
  • Added SimpleOptimisationTask operating with one Optimisable and one Input with a default Levenberg-Marquardt optimiser
  • Added SimpleResponse
  • Added DiscreteInput as a superclass for ExperimentalData and NumericPulseData
  • Added Optimisable

Tidied up:

  • LinearBaseline (slope property moved to superclass)
  • HistogramFrame
  • ResultTableModel
  • AdjustableBaseline (slope added from LinearBaseline)
  • Move half-time calculation to a special class in pulse.math.filters (added)
  • DiathermicMedium
  • DataLoader
  • TaskPopupMenu
  • AbsoluteDeviations
  • ClassicalProblem
  • HeatingCurve
  • ImplicitLinearisedSolver
  • ThermoOpticalProperties
  • Launcher
  • LinearOptimiser

Adapted:

  • TaskTableModel
  • NumericPulse
  • ResidualStatistic
  • SwarmState
  • Problem (baseline handling, property assignment)
  • Buffer (adapted to abstract optimisation task)
  • ImplicitScheme (added time step index in method signature)
  • CalculationTable -> plotExecutor
  • Gradinet calculation and resolution in GradientBasedOptimiser
  • Chart
  • KSTest
  • IterativeState
  • Expanded Range filtering capabilities
  • Pulse
  • DataLogEntry
  • CorrelationLogEntry to show multiple wave parameters
  • Adapted CorrelationBuffer
  • SearchTask (moved some methods to superclass)
  • DifferenceScheme (pulse handling)
  • NonlinearProblem
  • WolfeOptimiser
  • LMOptimiser (more robust to errors)
  • AbsorptionModel
  • Calculation (now formally a subclass of Reponse)
  • ActiveFlags (includes loadable states, removed activeParameters())
  • Status (added troubleshoot())
  • ClassicalProblem2D
  • TaskManager
  • CompositePathOptimiser
  • LinearOptimiser
  • ExperimentalData
  • ChartToolbar
  • Expanded SolverException
  • Baseline
  • ... and others

Fixed:

  • RegularisedLeastSquares now correctly estimates the regularised statistic
  • PenetrationProblem not initialising custom AbsorptionModel
  • Exception handling by GradientGuidedPath
  • Missing copy method in BeerLambertAbsorption and Insulator
  • Result handling by ResultsTable
  • ParameterVector now explicitly deals with Parameters
  • Added ParameterIdentifier
  • Added Parameter
  • Property updates in ProblemStatementFrame
  • NetzschCSVReader: resetting marks and finding pulse width
  • Use relative error rather than absolute error in FixedPointIterations
  • Insulator (Reflectance)

Recovered

  • RangePenalisedLeastSquares

Removed

  • InvLenTransform, InvLenSqTransform

Full Changelog: v1.95...v1.97