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
datacontains real values, the magnitude of the power spectrum is returned. Ifdatacontains 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
numpyarray 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:
objectThe
PowerSpectrumSeriesencapsulates a power spectrum data series from an overlay. ThePowerSpectrumSeriesclass 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
ComplexPowerSpectrumSeriesapplies 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,PowerSpectrumSeriesThe
VoxelPowerSpectrumSeriesclass encapsulates the power spectrum of a single voxel from a 4DImageoverlay. The voxel is dictated by theDisplayContext.locationproperty.- __init__(*args, **kwargs)[source]
Create a
VoxelPowerSpectrumSeries. All arguments are passed to theVoxelDataSeries.__init__()method. AValueErroris 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:
VoxelPowerSpectrumSeriesThis class is the frequency-spectrum equivalent of the
ComplexTimeSeriesclass - see it for more details.- plotReal
A property which encapsulates a
boolvalue.
- plotImaginary
A property which encapsulates a
boolvalue.
- plotMagnitude
A property which encapsulates a
boolvalue.
- plotPhase
A property which encapsulates a
boolvalue.
- 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 theVoxelPowerSpectrumSeriesconstructor.
- makeLabelBase()[source]
Returns a string to be used as the label prefix for this
ComplexPowerSpectrumSeriesinstance, and for the imaginary, magnitude, and phase child series.
- getData(component='real')[source]
If
plotRealis 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
VoxelPowerSpectrumSeriesclass), phase correction is applied if set, andthe data is normalised, if set. A tuple containing the(xdata, ydata)is returned, withydatacontaining the requestedcomponent('real','imaginary','magnitude', or'phase').This method is called by the
ImaginarySpectrumPowerSeries,MagnitudeSpectrumPowerSeries, andPhasePowerSpectrumPowerSeriesinstances 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,plotMagnitudeandplotPhaseproperties.
- __annotations__ = {}
- __module__ = 'fsleyes.plotting.powerspectrumseries'
- class fsleyes.plotting.powerspectrumseries.ImaginaryPowerSpectrumSeries(*args, **kwargs)[source]
Bases:
DataSeriesAn
ImaginaryPowerSpectrumSeriesrepresents the power spectrum of the imaginary component of a complex-valued image.ImaginaryPowerSpectrumSeriesinstances are created byComplexPowerSpectrumSeriesinstances.- __init__(parent, *args, **kwargs)[source]
Create an
ImaginaryPowerSpectrumSeries.- Parameters:
parent – The
ComplexPowerSpectrumSerieswhich owns thisImaginaryPowerSpectrumSeries.
All other arguments are passed through to the
DataSeriesconstructor.
- __annotations__ = {}
- __module__ = 'fsleyes.plotting.powerspectrumseries'
- class fsleyes.plotting.powerspectrumseries.MagnitudePowerSpectrumSeries(*args, **kwargs)[source]
Bases:
DataSeriesAn
MagnitudePowerSpectrumSeriesrepresents the magnitude of a complex-valued image.MagnitudePowerSpectrumSeriesinstances are created byComplexPowerSpectrumSeriesinstances.- __init__(parent, *args, **kwargs)[source]
Create an
ImaginaryPowerSpectrumSeries.- Parameters:
parent – The
ComplexPowerSpectrumSerieswhich owns thisImaginaryPowerSpectrumSeries.
All other arguments are passed through to the
DataSeriesconstructor.
- __annotations__ = {}
- __module__ = 'fsleyes.plotting.powerspectrumseries'
- class fsleyes.plotting.powerspectrumseries.PhasePowerSpectrumSeries(*args, **kwargs)[source]
Bases:
DataSeriesAn
PhasePowerSpectrumSeriesrepresents the phase of a complex-valued image.PhasePowerSpectrumSeriesinstances are created byComplexPowerSpectrumSeriesinstances.- __init__(parent, *args, **kwargs)[source]
Create an
ImaginaryPowerSpectrumSeries.- Parameters:
parent – The
ComplexPowerSpectrumSerieswhich owns thisImaginaryPowerSpectrumSeries.
All other arguments are passed through to the
DataSeriesconstructor.
- __annotations__ = {}
- __module__ = 'fsleyes.plotting.powerspectrumseries'
- class fsleyes.plotting.powerspectrumseries.MelodicPowerSpectrumSeries(*args, **kwargs)[source]
Bases:
DataSeries,PowerSpectrumSeriesThe
MelodicPowerSpectrumSeriesclass encapsulates the power spectrum of the time course for a single component of aMelodicImage. The component is dictated by theNiftiOpts.volumeproperty.- __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.volumeproperty.
- __annotations__ = {}
- __module__ = 'fsleyes.plotting.powerspectrumseries'
- class fsleyes.plotting.powerspectrumseries.MeshPowerSpectrumSeries(*args, **kwargs)[source]
Bases:
DataSeries,PowerSpectrumSeriesA
MeshPowerSpectrumSeriesobject encapsulates the power spectrum for the data from aMeshoverlay which has some time series vertex data associated with it. See theMeshOpts.vertexDataproperty.- __init__(*args, **kwargs)[source]
Create a
MeshPowerSpectrumSeriesinstance. All arguments are passed through toDataSeries.__init__().
- __annotations__ = {}
- __module__ = 'fsleyes.plotting.powerspectrumseries'
- __haveData()
Returns
Trueif there is currently time series data to show for thisMeshPowerSpectrumSeries,Falseotherwise.