Package beamformer.algorithms
Class BeamAlgoParamsPane
- Direct Known Subclasses:
BasicFreqDomParamsPane2
,MVDRParamsPane2
- Author:
- mo55
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
class
Inner class, containing beam information for each beam in the spreadsheet -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected javafx.scene.control.TextField
protected javafx.scene.layout.HBox
protected javafx.scene.control.Button
protected javafx.scene.control.TextField
Secondary angle text boxprotected final javafx.collections.ObservableList
<BeamAlgoParamsPane.BeamInfo> List of beams in this groupprotected javafx.scene.control.TableView
<BeamAlgoParamsPane.BeamInfo> The TableView object containing the beam informationprotected BeamAlgorithmParams
The parameters to display in the dialogprotected PamVector[]
The hydrophone element locationsprotected double[]
The full frequency range, calculated as the min and max frequency of the current FFTprotected javafx.scene.layout.GridPane
The line chart showing the beam patternprotected int
maximum allowable primary angleprotected int
maximum allowable secondary angleprotected int
minimum allowable primary angleprotected int
minimum allowable secondary angleprotected int
The next beam number to use in the spreadsheetprotected BeamAlgoParamsPane.BeamInfo
The beam that is currently selected in the spreadsheet -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionTest whether the beamogram data is valid.javafx.scene.Node
Create the pane holding the list of beamsprotected javafx.scene.Node
javafx.scene.Node
void
Create a list of default beams, evenly spread between 0 and 180 degrees.protected void
protected void
freqChanged
(int newFreq) javafx.scene.Node
Get node for GUI change of settings.getName()
Get the name of the pane.Take settings from the pane and save them into the parameters objectvoid
Called when settings pane is first initialised.void
Get the current hydrophone locations, and set the field vector elementLocsvoid
Sets the valid angle range, based on the array shapevoid
void
Fills in the data on the beamogram tab, or clears itvoid
setDataSource
(AcousticDataBlock fftSource) void
setParams
(BeamAlgorithmParams newParams) Take settings from the parameters object and load them into the panevoid
Adds/Removes the beam and beamogram tabs, based on the current parametersMethods inherited from class PamController.SettingsPane
getAWTWindow, getFXWindow, getHelpPoint, getOwnerWindow, notifyChange, repackContents, setDefaults, setOwnerWindow
-
Field Details
-
curParams
The parameters to display in the dialog -
beamList
List of beams in this group -
selectedBeam
The beam that is currently selected in the spreadsheet -
nextBeamNum
protected int nextBeamNumThe next beam number to use in the spreadsheet -
beamTable
The TableView object containing the beam information -
addButton
protected javafx.scene.control.Button addButton -
lineChart
The line chart showing the beam pattern -
elementLocs
The hydrophone element locations -
fullFreqRange
protected double[] fullFreqRangeThe full frequency range, calculated as the min and max frequency of the current FFT -
minPrime
protected int minPrimeminimum allowable primary angle -
maxPrime
protected int maxPrimemaximum allowable primary angle -
minSec
protected int minSecminimum allowable secondary angle -
maxSec
protected int maxSecmaximum allowable secondary angle -
addSecAngle
protected javafx.scene.control.TextField addSecAngleSecondary angle text box -
addAngle
protected javafx.scene.control.TextField addAngle -
addBox
protected javafx.scene.layout.HBox addBox -
grid
protected javafx.scene.layout.GridPane grid
-
-
Constructor Details
-
Method Details
-
createBeamListPane
public javafx.scene.Node createBeamListPane()Create the pane holding the list of beams- Returns:
-
createDefaults
public void createDefaults()Create a list of default beams, evenly spread between 0 and 180 degrees. For these, the elevation is 0 deg -
createBeamPatternPane
public javafx.scene.Node createBeamPatternPane()- Returns:
-
freqChanged
protected void freqChanged(int newFreq) - Parameters:
newFreq
-
-
createBeamogramPane
protected javafx.scene.Node createBeamogramPane()- Returns:
-
prepareConstants
public void prepareConstants()Get the current hydrophone locations, and set the field vector elementLocs -
getParams
Take settings from the pane and save them into the parameters object- Specified by:
getParams
in classSettingsPane<BeamAlgorithmParams>
- Parameters:
p
- settings passed into this object by PamDialogFX2AWT - ignored- Returns:
- settings class
-
checkBeamogramStatus
Test whether the beamogram data is valid. This should only be called if the beamogram check box is checked- Returns:
-
setParams
Take settings from the parameters object and load them into the pane- Specified by:
setParams
in classSettingsPane<BeamAlgorithmParams>
- Parameters:
newParams
- - current settings class.
-
setBeamogramData
public void setBeamogramData()Fills in the data on the beamogram tab, or clears it -
setTabVisibility
public void setTabVisibility()Adds/Removes the beam and beamogram tabs, based on the current parameters -
setAngleRange
public void setAngleRange()Sets the valid angle range, based on the array shape -
setArrayTypeLables
public void setArrayTypeLables() -
disableAll
protected void disableAll() -
getDataSource
- Returns:
- the fftSource
-
setDataSource
- Parameters:
fftSource
- the fftSource to set
-
getName
Description copied from class:SettingsPane
Get the name of the pane.- Specified by:
getName
in classSettingsPane<BeamAlgorithmParams>
- Returns:
- name of the pane
-
getContentNode
public javafx.scene.Node getContentNode()Description copied from class:SettingsPane
Get node for GUI change of settings.- Specified by:
getContentNode
in classSettingsPane<BeamAlgorithmParams>
-
paneInitialized
public void paneInitialized()Description copied from class:SettingsPane
Called when settings pane is first initialised. This can be used if for example, a the size of a pane is needed for a param. (Sizes are only initialised when Nodes are shown);- Specified by:
paneInitialized
in classSettingsPane<BeamAlgorithmParams>
-