Package beamformer.algorithms
Class BeamAlgoParamsPane
- Direct Known Subclasses:
 BasicFreqDomParamsPane2,MVDRParamsPane2
- Author:
 - mo55
 
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumclassInner class, containing beam information for each beam in the spreadsheet - 
Field Summary
FieldsModifier and TypeFieldDescriptionprotected javafx.scene.control.TextFieldprotected javafx.scene.layout.HBoxprotected javafx.scene.control.Buttonprotected javafx.scene.control.TextFieldSecondary 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 BeamAlgorithmParamsThe 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.GridPaneThe line chart showing the beam patternprotected intmaximum allowable primary angleprotected intmaximum allowable secondary angleprotected intminimum allowable primary angleprotected intminimum allowable secondary angleprotected intThe next beam number to use in the spreadsheetprotected BeamAlgoParamsPane.BeamInfoThe beam that is currently selected in the spreadsheet - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionTest whether the beamogram data is valid.javafx.scene.NodeCreate the pane holding the list of beamsprotected javafx.scene.Nodejavafx.scene.NodevoidCreate a list of default beams, evenly spread between 0 and 180 degrees.protected voidprotected voidfreqChanged(int newFreq) javafx.scene.NodeGet node for GUI change of settings.getName()Get the name of the pane.Take settings from the pane and save them into the parameters objectvoidCalled when settings pane is first initialised.voidGet the current hydrophone locations, and set the field vector elementLocsvoidSets the valid angle range, based on the array shapevoidvoidFills in the data on the beamogram tab, or clears itvoidsetDataSource(AcousticDataBlock fftSource) voidsetParams(BeamAlgorithmParams newParams) Take settings from the parameters object and load them into the panevoidAdds/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
- 
BeamAlgoParamsPane
- Parameters:
 basicFreqDomBeamProvider-
 
 - 
 - 
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:
 getParamsin 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:
 setParamsin 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:SettingsPaneGet the name of the pane.- Specified by:
 getNamein classSettingsPane<BeamAlgorithmParams>- Returns:
 - name of the pane
 
 - 
getContentNode
public javafx.scene.Node getContentNode()Description copied from class:SettingsPaneGet node for GUI change of settings.- Specified by:
 getContentNodein classSettingsPane<BeamAlgorithmParams>
 - 
paneInitialized
public void paneInitialized()Description copied from class:SettingsPaneCalled 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:
 paneInitializedin classSettingsPane<BeamAlgorithmParams>
 
 -