|
| 1 | +# Changelog |
| 2 | + |
| 3 | +## 0.6.0 |
| 4 | + |
| 5 | +### Most Important Breaking Changes |
| 6 | +- **Breaking**: There have been multiple changes to arguments in the Scanner.toml related to both devices and the scanner, please find a detailed migration guide [https://magneticparticleimaging.github.io/MPIMeasurements.jl/dev/config/upgrade.html#v0.5-to-v0.6](here) |
| 7 | +- **Breaking**: the receive transfer function is now defined per receive channel instead of per scanner, this allows the sequence to flexibly select receive channels and assemble the correct TF |
| 8 | + |
| 9 | +### Improved support for arbitrary waveform components |
| 10 | +- define an `ArbitraryElectricalComponent` by using an amplitude, phase and base waveform (`values`) |
| 11 | +- `values` can either be a vector or the filename to an .h5 file with field "/values" located in the new `Waveforms` folder of the Scanner |
| 12 | +- added TX controller for arbitrary waveform components (see next section) |
| 13 | + |
| 14 | +### Updated TxDAQController and Feedback |
| 15 | +- completely reworked internals of `TxDAQController` device |
| 16 | +- added new `ControlSequence` type structure to implement a tx controller to control arbitrary waveform and DC enabled channels, the type of ControlSequence to be used is automatically detected based on the requirements of the sequence that should be controlled, the old behaviour is implemented as `CrossCouplingControlSequence` |
| 17 | +- split `amplitudeAccuracy` and `fieldToVolDeviation` settings into relative and absolute values to improve flexibility, the two conditions are combined as OR |
| 18 | +- `phaseAccuracy` has a unit now |
| 19 | +- added caching of last control values to increase control speed of repeating measurements |
| 20 | +- feedback calibration is now handled as a complex valued, optionally frequency dependent transfer function |
| 21 | +- forward calibration of tx channels can now be a complex number to include a phase shift |
| 22 | +- removed `correctCrossCoupling` setting from TxDAQControllerParams, if any field sets decouple=true the controller will try to decouple it |
| 23 | + |
| 24 | + |
| 25 | +### New MPS Measurement Protocol |
| 26 | +Updated the `MPSMeasurementProtocol` used to measure hybrid system matrix measurements in an MPS. |
| 27 | +New features include: |
| 28 | +- offsets are now defined as a `ProtocolOffsetElectricalChannel` directly in the sequence instead of the protocol |
| 29 | +- added a wait time per offset channel, to account for slow DC sources. Any data recorded during this settling time will be discarded |
| 30 | +- added functionality to RedPitayaDAQ channels to use H-bridges for switching the polarity of DC offsets |
| 31 | +- new algorithm ordering the channels to reduce total wait time |
| 32 | +- save data in proper system matrix format for hybrid reconstruction |
| 33 | + |
| 34 | +### New MultiSequenceSystemMatrixProtocol |
| 35 | +Measures a (hybrid) system matrix that is defined by one `Sequence` per position, this can be used to flexibly vary any component of the field sequence like amplitudes, phases and offsets. The individual measurements will be saved together as frames in a joint MDF file. Between the individual measurements the system can be instructed to wait until the value of a temperature sensor is below a configurable threshhold. |
| 36 | + |
| 37 | +### General Updates |
| 38 | +- the phase of signal components can now also be one of {"cosine", "cos", "sine", "sin", "-cosine", "-cos", "-sine", "-sin"} instead of giving the phase directly |
| 39 | +- a magnetic field that needs to be decoupled will also require control |
| 40 | +- frequency dividers can now be rational, the trajectory length will still be an integer using the lcm of the numerators |
| 41 | +- all field amplitudes can now be given as a voltage, circumventing field control |
| 42 | +- add `block` keyword argument to `startProtocol` of the ConsoleProtocolHandler to only return from the function when the protocol is finished |
| 43 | +- devices now have a config file parameter containing the file from which they were initialized |
| 44 | +- re-included implementation for fiber optical temperature sensor (FOTemp.jl) |
| 45 | +- small fixes regarding different Isel robot versions |
| 46 | +- renamed the `saveAsSystemMatrix` parameter to `saveInCalibFolder` |
| 47 | +- removed `defaultSequence` parameter from scanner as the sequence is always defined in the protocol |
| 48 | +- small updates to documentation |
0 commit comments