fsleyes.plotting.powerspectrumseries
This module provides DataSeries
sub-classes which are used
by the PowerSpectrumPanel
for plotting power spectra.
The following classes are provided:
The |
|
The |
|
This class is the frequency-spectrum equivalent of the |
|
An |
|
An |
|
An |
|
The |
- fsleyes.plotting.powerspectrumseries.calcPowerSpectrum(data)[source]
Calculates a power spectrum for the given one-dimensional data array.
- Parameters:
data – Numpy array containing the time series data
- Returns:
If
data
contains real values, the magnitude of the power spectrum is returned. Ifdata
contains complex values, the complex power spectrum is returned.
- fsleyes.plotting.powerspectrumseries.calcFrequencies(nsamples, sampleTime, dtype)[source]
Calculates the frequencies of the power spectrum for the given data.
- Parameters:
nsamples – Number of samples in the input time series data
sampleTime – Time between each data point
dtype – Data type - the calculation differs depending on whether the data is real or complex.
- Returns:
A
numpy
array containing the frequencies of the power spectrum fordata
- fsleyes.plotting.powerspectrumseries.magnitude(data)[source]
Returns the magnitude of the given complex data.
- fsleyes.plotting.powerspectrumseries.phase(data)[source]
Returns the phase of the given complex data.
- fsleyes.plotting.powerspectrumseries.normalise(data, dmin=None, dmax=None, nmin=-1, nmax=1)[source]
Returns
data
, rescaled to the range [nmin, nmax].If dmin and dmax are provided, the data is normalised with respect to them, rather than being normalised by the data minimum/maximum.
- fsleyes.plotting.powerspectrumseries.phaseCorrection(spectrum, freqs, p0, p1)[source]
Applies phase correction to the given complex power spectrum.
- Parameters:
spectrum – Complex-valued power spectrum
freqs – Spectrum frequency bins
p0 – Zero order phase correction term
p1 – First order phase correction term
- Returns:
The corrected power spectrum.
- class fsleyes.plotting.powerspectrumseries.PowerSpectrumSeries[source]
Bases:
object
The
PowerSpectrumSeries
encapsulates a power spectrum data series from an overlay. ThePowerSpectrumSeries
class is a base mixin class for all other classes in this module.- varNorm
If
True
, the fourier-transformed data is normalised to the range [0, 1] before plotting.Note
The
ComplexPowerSpectrumSeries
applies normalisation differently.
- property sampleTime
Returns the time between time series samples for the overlay data.
- __dict__ = mappingproxy({'__module__': 'fsleyes.plotting.powerspectrumseries', '__doc__': 'The ``PowerSpectrumSeries`` encapsulates a power spectrum data series\n from an overlay. The ``PowerSpectrumSeries`` class is a base mixin class\n for all other classes in this module.\n ', 'varNorm': <fsleyes_props.properties_types.Boolean object>, 'sampleTime': <property object>, '__dict__': <attribute '__dict__' of 'PowerSpectrumSeries' objects>, '__weakref__': <attribute '__weakref__' of 'PowerSpectrumSeries' objects>, '__annotations__': {}})
- __module__ = 'fsleyes.plotting.powerspectrumseries'
- __weakref__
list of weak references to the object
- class fsleyes.plotting.powerspectrumseries.VoxelPowerSpectrumSeries(*args, **kwargs)[source]
Bases:
VoxelDataSeries
,PowerSpectrumSeries
The
VoxelPowerSpectrumSeries
class encapsulates the power spectrum of a single voxel from a 4DImage
overlay. The voxel is dictated by theDisplayContext.location
property.- __init__(*args, **kwargs)[source]
Create a
VoxelPowerSpectrumSeries
. All arguments are passed to theVoxelDataSeries.__init__()
method. AValueError
is raised if the overlay is not a 4DImage
.
- currentVoxelData(location)[source]
Overrides
VoxelDataSeries.currentVoxelData()
. Retrieves the data at the specified location, then performs a fourier transform on it and returnes the result.
- __annotations__ = {}
- __module__ = 'fsleyes.plotting.powerspectrumseries'
- class fsleyes.plotting.powerspectrumseries.ComplexPowerSpectrumSeries(*args, **kwargs)[source]
Bases:
VoxelPowerSpectrumSeries
This class is the frequency-spectrum equivalent of the
ComplexTimeSeries
class - see it for more details.- plotReal
A property which encapsulates a
bool
value.
- plotImaginary
A property which encapsulates a
bool
value.
- plotMagnitude
A property which encapsulates a
bool
value.
- plotPhase
A property which encapsulates a
bool
value.
- zeroOrderPhaseCorrection
Apply zero order phase correction to the power spectrum of the complex data.
- firstOrderPhaseCorrection
Apply first order phase correction to the power spectrum of the complex data.
- __init__(overlay, overlayList, displayCtx, plotCanvas)[source]
Create a
ComplexPowerSpectrumSeries
. All arguments are passed through to theVoxelPowerSpectrumSeries
constructor.
- makeLabelBase()[source]
Returns a string to be used as the label prefix for this
ComplexPowerSpectrumSeries
instance, and for the imaginary, magnitude, and phase child series.
- getData(component='real')[source]
If
plotReal
is true, returns the real component of the power spectrum of the data at the current voxel. Otherwise returns(None, None)
.Every time this method is called, the power spectrum is retrieved (see the
VoxelPowerSpectrumSeries
class), phase correction is applied if set, andthe data is normalised, if set. A tuple containing the(xdata, ydata)
is returned, withydata
containing the requestedcomponent
('real'
,'imaginary'
,'magnitude'
, or'phase'
).This method is called by the
ImaginarySpectrumPowerSeries
,MagnitudeSpectrumPowerSeries
, andPhasePowerSpectrumPowerSeries
instances that are associated with this data series.
- extraSeries()[source]
Returns a list of additional series to be plotted, based on the values of the
plotImaginary
,plotMagnitude
andplotPhase
properties.
- __annotations__ = {}
- __module__ = 'fsleyes.plotting.powerspectrumseries'
- class fsleyes.plotting.powerspectrumseries.ImaginaryPowerSpectrumSeries(*args, **kwargs)[source]
Bases:
DataSeries
An
ImaginaryPowerSpectrumSeries
represents the power spectrum of the imaginary component of a complex-valued image.ImaginaryPowerSpectrumSeries
instances are created byComplexPowerSpectrumSeries
instances.- __init__(parent, *args, **kwargs)[source]
Create an
ImaginaryPowerSpectrumSeries
.- Parameters:
parent – The
ComplexPowerSpectrumSeries
which owns thisImaginaryPowerSpectrumSeries
.
All other arguments are passed through to the
DataSeries
constructor.
- __annotations__ = {}
- __module__ = 'fsleyes.plotting.powerspectrumseries'
- class fsleyes.plotting.powerspectrumseries.MagnitudePowerSpectrumSeries(*args, **kwargs)[source]
Bases:
DataSeries
An
MagnitudePowerSpectrumSeries
represents the magnitude of a complex-valued image.MagnitudePowerSpectrumSeries
instances are created byComplexPowerSpectrumSeries
instances.- __init__(parent, *args, **kwargs)[source]
Create an
ImaginaryPowerSpectrumSeries
.- Parameters:
parent – The
ComplexPowerSpectrumSeries
which owns thisImaginaryPowerSpectrumSeries
.
All other arguments are passed through to the
DataSeries
constructor.
- __annotations__ = {}
- __module__ = 'fsleyes.plotting.powerspectrumseries'
- class fsleyes.plotting.powerspectrumseries.PhasePowerSpectrumSeries(*args, **kwargs)[source]
Bases:
DataSeries
An
PhasePowerSpectrumSeries
represents the phase of a complex-valued image.PhasePowerSpectrumSeries
instances are created byComplexPowerSpectrumSeries
instances.- __init__(parent, *args, **kwargs)[source]
Create an
ImaginaryPowerSpectrumSeries
.- Parameters:
parent – The
ComplexPowerSpectrumSeries
which owns thisImaginaryPowerSpectrumSeries
.
All other arguments are passed through to the
DataSeries
constructor.
- __annotations__ = {}
- __module__ = 'fsleyes.plotting.powerspectrumseries'
- class fsleyes.plotting.powerspectrumseries.MelodicPowerSpectrumSeries(*args, **kwargs)[source]
Bases:
DataSeries
,PowerSpectrumSeries
The
MelodicPowerSpectrumSeries
class encapsulates the power spectrum of the time course for a single component of aMelodicImage
. The component is dictated by theNiftiOpts.volume
property.- __init__(*args, **kwargs)[source]
Create a
MelodicPowerSpectrumSeries
. All arguments are passed through to thePowerSpectrumSeries.__init__()
method.
- getData()[source]
Returns the power spectrum for the current component of the
MelodicImage
, as defined by theNiftiOpts.volume
property.
- __annotations__ = {}
- __module__ = 'fsleyes.plotting.powerspectrumseries'
- class fsleyes.plotting.powerspectrumseries.MeshPowerSpectrumSeries(*args, **kwargs)[source]
Bases:
DataSeries
,PowerSpectrumSeries
A
MeshPowerSpectrumSeries
object encapsulates the power spectrum for the data from aMesh
overlay which has some time series vertex data associated with it. See theMeshOpts.vertexData
property.- __init__(*args, **kwargs)[source]
Create a
MeshPowerSpectrumSeries
instance. All arguments are passed through toDataSeries.__init__()
.
- __annotations__ = {}
- __module__ = 'fsleyes.plotting.powerspectrumseries'
- __haveData()
Returns
True
if there is currently time series data to show for thisMeshPowerSpectrumSeries
,False
otherwise.