mirror of
https://github.com/PAMGuard/PAMGuard.git
synced 2024-11-25 08:32:32 +00:00
Data selectors for deep learning models now working with FX
Still have to be implemented in Swing
This commit is contained in:
parent
53d6b7bd88
commit
93d12c81ba
@ -230,7 +230,16 @@ public class ClickControlPane2 extends PamBorderPane implements TDSettingsPane {
|
||||
dataSelectPane.addSettingsListener(()->{
|
||||
//dynamic settings pane so have to repaint whenever a control is selected.
|
||||
getParams();
|
||||
clickPlotInfo.getTDGraph().repaint(0);
|
||||
|
||||
/**
|
||||
* If there are raw amplitude or frequency panes that have a buffer of painted units then
|
||||
* these have to be cleared for the data selector
|
||||
*/
|
||||
clickPlotInfo.getClickRawPlotManager().clear();
|
||||
clickPlotInfo.getClickFFTPlotManager().clear();
|
||||
|
||||
|
||||
clickPlotInfo.getTDGraph().repaint(50);
|
||||
});
|
||||
|
||||
this.setCenter(tabPane);
|
||||
@ -519,7 +528,7 @@ public class ClickControlPane2 extends PamBorderPane implements TDSettingsPane {
|
||||
getParams();
|
||||
|
||||
//on a parameter change must clear the FFT plot.
|
||||
clickPlotInfo.getClickFFTplotManager().clear();
|
||||
clickPlotInfo.getClickFFTPlotManager().clear();
|
||||
clickPlotInfo.getClickRawPlotManager().clear();
|
||||
|
||||
clickPlotInfo.getTDGraph().repaint(milliswait);
|
||||
@ -773,7 +782,7 @@ public class ClickControlPane2 extends PamBorderPane implements TDSettingsPane {
|
||||
clickPlotInfo.getClickDisplayParams().fftHop = this.fftSpinnerHop.getValue().intValue();
|
||||
clickPlotInfo.getClickDisplayParams().fftLength = this.fftSpinnerLength.getValue().intValue();
|
||||
clickPlotInfo.getClickDisplayParams().colourMap = this.spectroControlPane.getColourArrayType();
|
||||
clickPlotInfo.getClickFFTplotManager().update();
|
||||
clickPlotInfo.getClickFFTPlotManager().update();
|
||||
/*** Data select pane****/
|
||||
|
||||
//dynamic settings pane so have to repaint whenever a control is selected.
|
||||
|
@ -238,7 +238,7 @@ public class ClickPlotInfoFX extends TDDataInfoFX {
|
||||
|
||||
ClickDetection click = (ClickDetection) pamDataUnit;
|
||||
//first check we can generally plot the click
|
||||
if (!shouldPlot(click)) return null;
|
||||
// if (!shouldPlot(click)) return null;
|
||||
//click has passed the first test! Now get the correct data value;
|
||||
Double val = null;
|
||||
switch (getCurrentScaleInfo().getDataType()) {
|
||||
@ -599,21 +599,21 @@ public class ClickPlotInfoFX extends TDDataInfoFX {
|
||||
// }
|
||||
|
||||
|
||||
/***
|
||||
* Used to determine which clicks should be plotted on the display by using the click data selector.
|
||||
* @param click - the click to check.
|
||||
* @return true to plot the click.
|
||||
*/
|
||||
private synchronized boolean shouldPlot(ClickDetection click) {
|
||||
|
||||
if (click == null) return false;
|
||||
|
||||
dataSelector.scoreData(click);
|
||||
|
||||
if (clickDisplayParams.displayChannels > 0 && (clickDisplayParams.displayChannels & click.getChannelBitmap()) == 0) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
// /***
|
||||
// * Used to determine which clicks should be plotted on the display by using the click data selector.
|
||||
// * @param click - the click to check.
|
||||
// * @return true to plot the click.
|
||||
// */
|
||||
// private synchronized boolean shouldPlot(ClickDetection click) {
|
||||
//
|
||||
// if (click == null) return false;
|
||||
//
|
||||
// if (dataSelector.scoreData(click)<=0) return false;
|
||||
//
|
||||
// if (clickDisplayParams.displayChannels > 0 && (clickDisplayParams.displayChannels & click.getChannelBitmap()) == 0) return false;
|
||||
//
|
||||
// return true;
|
||||
// }
|
||||
|
||||
@Override
|
||||
public TDSymbolChooserFX getSymbolChooser() {
|
||||
@ -931,7 +931,7 @@ public class ClickPlotInfoFX extends TDDataInfoFX {
|
||||
* time/frequency displays...
|
||||
* @return The FFT plot manager.
|
||||
*/
|
||||
public ClickFFTPlotManager2 getClickFFTplotManager() {
|
||||
public ClickFFTPlotManager2 getClickFFTPlotManager() {
|
||||
return clickFFTplotManager;
|
||||
}
|
||||
|
||||
|
@ -318,7 +318,6 @@ public abstract class RawWavePlotManager {
|
||||
//check if we can plot click on this plot pane.
|
||||
if (!rawClipInfo.shouldDraw(plotNumber, pamDataUnit)) {
|
||||
//System.out.println("Shoudl not draw!");
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package rawDeepLearningClassifier.dataSelector;
|
||||
|
||||
import PamView.dialog.PamDialogPanel;
|
||||
import PamguardMVC.PamDataUnit;
|
||||
import PamguardMVC.dataSelector.DataSelectParams;
|
||||
import pamViewFX.fxSettingsPanes.DynamicSettingsPane;
|
||||
@ -33,10 +34,16 @@ public interface DLDataFilter {
|
||||
public void setParams(DataSelectParams params);
|
||||
|
||||
/**
|
||||
* Settings controls for this filter.
|
||||
* @return the cotnrols for this filter.
|
||||
* Settings controls for the deep learning filter.
|
||||
* @return the controls for this filter.
|
||||
*/
|
||||
public DynamicSettingsPane<DataSelectParams> getSettingsPane();
|
||||
|
||||
/**
|
||||
* Swing settings controls for the data deep learning filter.
|
||||
* @return Swing dialog for the settings
|
||||
*/
|
||||
public PamDialogPanel getSettingsPanel();
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package rawDeepLearningClassifier.dataSelector;
|
||||
|
||||
|
||||
import PamView.dialog.PamDialogPanel;
|
||||
import PamguardMVC.PamDataUnit;
|
||||
import PamguardMVC.dataSelector.DataSelectParams;
|
||||
import pamViewFX.fxSettingsPanes.DynamicSettingsPane;
|
||||
@ -29,6 +30,8 @@ public class DLPredictionFilter implements DLDataFilter {
|
||||
|
||||
private DLPredictonPane dlPredictonPane;
|
||||
|
||||
private DLPredictionPanel dlPredictonPanel;
|
||||
|
||||
public DLPredictionFilter(DLControl dlcontrol) {
|
||||
this.dlcontrol = dlcontrol;
|
||||
checkParamsClass() ;
|
||||
@ -97,6 +100,14 @@ public class DLPredictionFilter implements DLDataFilter {
|
||||
return dlPredictonPane;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PamDialogPanel getSettingsPanel() {
|
||||
if (dlPredictonPanel ==null) {
|
||||
dlPredictonPanel = new DLPredictionPanel(this);
|
||||
}
|
||||
return dlPredictonPanel;
|
||||
}
|
||||
|
||||
|
||||
public DLControl getDLControl() {
|
||||
return this.dlcontrol;
|
||||
|
@ -0,0 +1,34 @@
|
||||
package rawDeepLearningClassifier.dataSelector;
|
||||
|
||||
import javax.swing.JComponent;
|
||||
|
||||
import PamView.dialog.PamDialogPanel;
|
||||
|
||||
/**
|
||||
* Swing panel for Deep learning predicitons.
|
||||
*/
|
||||
public class DLPredictionPanel implements PamDialogPanel {
|
||||
|
||||
public DLPredictionPanel(DLPredictionFilter dlPredictionFilter) {
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
public JComponent getDialogComponent() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setParams() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getParams() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 58 KiB |
Binary file not shown.
After Width: | Height: | Size: 111 KiB |
Loading…
Reference in New Issue
Block a user