Releases: gpilab/core-nodes
V2.3.1-Water/Fat Deblurring Kernel Codes
This release attaches the cpp kernel codes (in zip file WFDeblurKernel.zip) to generate and do basic blurring/deblurring operations, which is described in a manuscript currently under review for Magnetic Resonance in Medicine. The complete codes for the water/fat deblurring node will be released in future.
Version 2.3.0 - SpiralGenCF
This release adds the SpiralGenCF
node, which is described in a manuscript currently under review for Magnetic Resonance in Medicine. The source code for this node at the time of publication is archived in SpiralGenCF_21-22145.zip
, attached to this release (future releases may contain bug fixes and/or improvements to the node).
For the Grid
and SDC
nodes, the default value of the ndim
widget has been set to 2 as this is the default for data from ReadPhilips
.
Version 2.2.0 - ReadDICOM, Reshape nodes
This node introduces two new nodes:
- Reshape, which combines functionality from other nodes such as Split and Combine
- ReadDICOM, ported from a project by @rkrobison, which allows reading of DICOM files and inspection of the header information. Note that this node relies on the PyDicom package, which will be added as a dependency in the Conda package.
A bug in the Dimensions node was also fixed.
Version 2.1.0 – Full Windows Compatibility
This release adds full compatibility for Windows — all nodes will now be built and distributed, including those using PyFI extensions. This required only minor changes, but knowing what the changes were may be useful for other GPI node developers:
- Use of
long
andunsigned long
types was causing a segfault on Windows. These should be replaced withint64_t
anduint64_t
, respectively. - Linking between files (e.g., linking to a kernel.cpp from an extension_PyMOD.cpp) should be done with only the file name, rather than a relative path like
gpi_core/<folder>/kernel.cpp
.
In addition, this release contains a few minor improvements:
- Fixed a number of warnings appearing with Python 3.8 (due to the use of
is
where==
is more appropriate) - The Audio node has been moved to the fileIO folder, as we have added the ability to save a
.wav
file. - FFTW now works on up to 10-dimensional data
Version 2.0.3 — Matplotlib 3 compatibility and associated bug fixes
This patch release addresses errors in the Matplotlib
and CrossSection
nodes that were preventing installation with Matplotlib 3. We are aware that there are still a few bugs in Matplotlib
and plan to address these in a future release.
Version 2.0.2 - Transpose Bug Fix
Release 2.0.2 fixes a bug in which changing two instances of the Transpose node in succession would cause GPI to crash. A warning generated by the Reduce node has also been fixed.
Version 2.0.1 - Matplotlib Bug Fix
This patch release fixes a bug where GPI would crash if a data source with more than 2 dimensions was connected to the Matplotlib node. The input connections are now restricted to 1D or 2D data.
GPI Core Nodes v2
Welcome to core nodes version 2.0!
The main change here is compatibility with GPI 1.1, which added support for qt5. Qt features are accessed via the GPI API differently than before, which required some re-working of the core nodes.
In addition, you'll find two new nodes present:
Int_Math
, which works just likeFloat_Math
for integer valuesSwitch
, which allows you to toggle between a left and right inputs without re-drawing connections.
And some modifications to existing nodes:
- In the
Collapse
node, you can now use the "non-zero" option for collapsing in a single dimension, not just with "collapse all" selected - The
shapes
node now allows for the generation of complex-valued noise, as well as repeatable noise using a user-specified seed. Calc_101
now allows for more granular control over the scheme used for derivatives and integrals.- Many trigonometric functions now have a "cycles" option in addition to degrees and radians.
- Nodes with multiple functions will provide more information on the canvas about which function is active.
Development is ongoing and we welcome community contributions of any kind!