/*
* SettingsFrame.java
*
* Copyright 2008 Peter Vennemann
*
* This file is part of JPIV.
*
* JPIV is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* JPIV is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with JPIV. If not, see <http://www.gnu.org/licenses/>.
*/
package jpiv2;
import javax.swing.tree.*;
import javax.swing.JEditorPane;
import javax.swing.event.HyperlinkEvent;
import javax.swing.text.html.HTMLFrameHyperlinkEvent;
import javax.swing.text.html.HTMLDocument;
import java.io.File;
import java.net.URL;
import java.net.URI;
/**
* An internal frame providing access to all program settings via a tree
* structure.
*
*/
public class SettingsFrame extends javax.swing.JInternalFrame {
/**
* Creates new form SettingsFrame
*
* @param jpiv
* The parent component.
*/
public SettingsFrame(jpiv2.JPiv jpiv) {
initTreeModel();
initComponents();
configTree();
this.jpiv = jpiv;
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed"
// desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
buttonGroupPivCorr = new javax.swing.ButtonGroup();
buttonGroupPivSequence = new javax.swing.ButtonGroup();
buttonGroupPivSubPixelInt = new javax.swing.ButtonGroup();
buttonGroupPivWeightKernel = new javax.swing.ButtonGroup();
buttonGroupSinglePixelSequence = new javax.swing.ButtonGroup();
jSplitPane = new javax.swing.JSplitPane();
jScrollPaneLeft = new javax.swing.JScrollPane();
jTree = new javax.swing.JTree(tnSettings);
jScrollPaneRight = new javax.swing.JScrollPane();
jPanelPreferences = new javax.swing.JPanel();
jPanelLoadSave = new javax.swing.JPanel();
jCheckBoxLoadSaveTecplotHeader = new javax.swing.JCheckBox();
jPanelCmd = new javax.swing.JPanel();
jLabelCmdNumOfLines = new javax.swing.JLabel();
jTextFieldCmdNumOfLines = new javax.swing.JTextField();
jCheckBoxCmdLineWrap = new javax.swing.JCheckBox();
jPanelPaths = new javax.swing.JPanel();
jLabelJpivLibrary = new javax.swing.JLabel();
jTextFieldJpivLibrary = new javax.swing.JTextField();
jButtonJpivLibrary = new javax.swing.JButton();
jPanelVector = new javax.swing.JPanel();
jLabelVectorScale = new javax.swing.JLabel();
jLabelVectorHeadLength = new javax.swing.JLabel();
jLabelVectorAngle = new javax.swing.JLabel();
jTextFieldVectorScale = new javax.swing.JTextField();
jTextFieldVectorHeadLength = new javax.swing.JTextField();
jTextFieldVectorAngle = new javax.swing.JTextField();
jLabelVectorBackground = new javax.swing.JLabel();
jLabelVectorColor = new javax.swing.JLabel();
jButtonVectorBackground = new javax.swing.JButton();
jButtonVectorColor = new javax.swing.JButton();
jLabelVectorZoomFactor = new javax.swing.JLabel();
jTextFieldVectorZoom = new javax.swing.JTextField();
jCheckBoxVectorColorCoding = new javax.swing.JCheckBox();
jTextFieldVectorColorMin = new javax.swing.JTextField();
jLabelVectorColorMax = new javax.swing.JLabel();
jLabelVectorColorMin = new javax.swing.JLabel();
jTextFieldVectorColorMax = new javax.swing.JTextField();
jCheckBoxVectorBackgroundImage = new javax.swing.JCheckBox();
jTextFieldBackgroundImage = new javax.swing.JTextField();
jSeparator1 = new javax.swing.JSeparator();
jSeparator2 = new javax.swing.JSeparator();
jSeparator3 = new javax.swing.JSeparator();
jButtonChooseBackgroundImage = new javax.swing.JButton();
jCheckBoxVectorShowReference = new javax.swing.JCheckBox();
jTextFieldVectorReferenceLength = new javax.swing.JTextField();
jCheckBoxVectorShowColorBar = new javax.swing.JCheckBox();
jLabelVectorReferenceLength = new javax.swing.JLabel();
jLabelVectorAxisTickSpacing = new javax.swing.JLabel();
jTextFieldVectorAxisTickSpacing = new javax.swing.JTextField();
jLabelVectorAxisScalingFactor = new javax.swing.JLabel();
jTextFieldVectorAxisScaling = new javax.swing.JTextField();
jLabelVectorAxisLabel = new javax.swing.JLabel();
jTextFieldVectorAxisLabel = new javax.swing.JTextField();
jSeparator6 = new javax.swing.JSeparator();
jLabelVectorColorBarLabel = new javax.swing.JLabel();
jTextFieldVectorColorBarLabel = new javax.swing.JTextField();
jTextFieldVectorReferenceLabel = new javax.swing.JTextField();
jLabelVectorReferenceLabel = new javax.swing.JLabel();
jLabelVectorColorLevels = new javax.swing.JLabel();
jSpinnerVectorColorLevels = new javax.swing.JSpinner();
jCheckBoxVectorBackgroundColorCoding = new javax.swing.JCheckBox();
jLabelVectorBackgroundColorCodingMin = new javax.swing.JLabel();
jLabelVectorBackgroundColorCodingMax = new javax.swing.JLabel();
jTextFieldVectorBackgroundColorCodingMax = new javax.swing.JTextField();
jTextFieldVectorBackgroundColorCodingMin = new javax.swing.JTextField();
jLabelVectorBackgroundColorCodingColumn = new javax.swing.JLabel();
jTextFieldVectorBackgroundColorCodingColumn = new javax.swing.JTextField();
jSeparator10 = new javax.swing.JSeparator();
jTextFieldVectorReferenceUnitConversion = new javax.swing.JTextField();
jLabelVectorReferenceUnitConversion = new javax.swing.JLabel();
jTextFieldVectorColorBarUnitConversion = new javax.swing.JTextField();
jLabelVectorColorBarUnitConversion = new javax.swing.JLabel();
jSeparator11 = new javax.swing.JSeparator();
jButtonVectorColorInvalid = new javax.swing.JButton();
jCheckBoxLabelInvalidVectors = new javax.swing.JCheckBox();
jSeparator13 = new javax.swing.JSeparator();
jLabelShapeColor = new javax.swing.JLabel();
jButtonShapeColor = new javax.swing.JButton();
jLabelVectorMultyColorTransparancy = new javax.swing.JLabel();
jTextFieldVectorMultiColorTransparancy = new javax.swing.JTextField();
jLabelVectorColorBarFormatString = new javax.swing.JLabel();
jTextFieldVectorColorBarFormatString = new javax.swing.JTextField();
jPanelImg = new javax.swing.JPanel();
jLabelImgZoomFactor = new javax.swing.JLabel();
jCheckBoxImgTwoFrames = new javax.swing.JCheckBox();
jTextFieldImgZoom = new javax.swing.JTextField();
jPanelPiv = new javax.swing.JPanel();
jPanelPivGeneral = new javax.swing.JPanel();
jRadioButtonPivTwoImages = new javax.swing.JRadioButton();
jRadioButtonPivConsecutive = new javax.swing.JRadioButton();
jRadioButtonPivSkip = new javax.swing.JRadioButton();
jTextFieldPivSkip = new javax.swing.JTextField();
jLabelPivSkip = new javax.swing.JLabel();
jRadioButtonPivCascade = new javax.swing.JRadioButton();
jCheckBoxPivSumOfCorr = new javax.swing.JCheckBox();
jRadioButtonPivPairs = new javax.swing.JRadioButton();
jPanelPivWindow = new javax.swing.JPanel();
jLabelPivMultiPass = new javax.swing.JLabel();
jSpinnerPivMultiPass = new javax.swing.JSpinner(
new javax.swing.SpinnerNumberModel(1, 1, 9, 1));
jLabelPivWndWidth = new javax.swing.JLabel();
jLabelPivWndHeight = new javax.swing.JLabel();
jLabelPivHorVecSpacing = new javax.swing.JLabel();
jLabelPivVerVecSpacing = new javax.swing.JLabel();
jLabelPivDomainWidth = new javax.swing.JLabel();
jLabelPivDomainHeight = new javax.swing.JLabel();
jLabelPivHorPreShift = new javax.swing.JLabel();
jTextFieldPivHorPreShift = new javax.swing.JTextField();
jLabelPivVerPreShift = new javax.swing.JLabel();
jTextFieldPivVerPreShift = new javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane();
jTablePivWindow = new javax.swing.JTable();
jTablePivWindow.putClientProperty("terminateEditOnFocusLost",
Boolean.TRUE);
jLabelPivBetweenPasses = new javax.swing.JLabel();
jCheckBoxPivReplace = new javax.swing.JCheckBox();
jCheckBoxPivMedian = new javax.swing.JCheckBox();
jTextFieldPivROIP2y = new javax.swing.JTextField();
jTextFieldPivROIP1y = new javax.swing.JTextField();
jLabelPivROIY1 = new javax.swing.JLabel();
jLabelPivROIX = new javax.swing.JLabel();
jTextFieldPivROIP1x = new javax.swing.JTextField();
jTextFieldPivROIP2x = new javax.swing.JTextField();
jLabelPivROIRight = new javax.swing.JLabel();
jLabelPivROILeft = new javax.swing.JLabel();
jCheckBoxPivROI = new javax.swing.JCheckBox();
jSeparator7 = new javax.swing.JSeparator();
jSeparator8 = new javax.swing.JSeparator();
jSeparator9 = new javax.swing.JSeparator();
jCheckBoxPivNormMedianTest = new javax.swing.JCheckBox();
jCheckBoxPivSmoothing = new javax.swing.JCheckBox();
jSeparator14 = new javax.swing.JSeparator();
jCheckBoxPivShearIntWindows = new javax.swing.JCheckBox();
jSeparator15 = new javax.swing.JSeparator();
jCheckBoxExpCorrFunc = new javax.swing.JCheckBox();
jLabelExpCorrFuncVec = new javax.swing.JLabel();
jLabelExpCorrFuncPass = new javax.swing.JLabel();
jTextFieldExpCorrFuncVec = new javax.swing.JTextField();
jTextFieldExpCorrFuncPass = new javax.swing.JTextField();
jCheckBoxExpCorrFuncSum = new javax.swing.JCheckBox();
jPanelSinglePixel = new javax.swing.JPanel();
jRadioButtonSinglePixelTwoImages = new javax.swing.JRadioButton();
jRadioButtonSinglePixelSingleImages = new javax.swing.JRadioButton();
jLabelSinglePixelROLeft = new javax.swing.JLabel();
jLabelSinglePixelROIRight = new javax.swing.JLabel();
jLabelSinglePixelROIX = new javax.swing.JLabel();
jLabelSinglePixelROIY = new javax.swing.JLabel();
jTextFieldSinglePixelROIP1x = new javax.swing.JTextField();
jTextFieldSinglePixelROIP2x = new javax.swing.JTextField();
jTextFieldSinglePixelROIP1y = new javax.swing.JTextField();
jTextFieldSinglePixelROIP2y = new javax.swing.JTextField();
jSeparator4 = new javax.swing.JSeparator();
jLabelSinglePixelDomainWidth = new javax.swing.JLabel();
jTextFieldSinglePixelDomainWidth = new javax.swing.JTextField();
jLabelSinglePixelDomainHeight = new javax.swing.JLabel();
jTextFieldSinglePixelDomainHeight = new javax.swing.JTextField();
jLabelSinglePixelHorPreShift = new javax.swing.JLabel();
jTextFieldSinglePixelHorPreShift = new javax.swing.JTextField();
jLabelSinglePixelVerPreShift = new javax.swing.JLabel();
jTextFieldSinglePixelVerPreShift = new javax.swing.JTextField();
jSeparator5 = new javax.swing.JSeparator();
jCheckBoxSinglePixelROI = new javax.swing.JCheckBox();
jSeparator12 = new javax.swing.JSeparator();
jCheckBoxSinglePixel3by3 = new javax.swing.JCheckBox();
jCheckBoxSinglePixelSignalOnly = new javax.swing.JCheckBox();
jCheckBoxSinglePixelCreatePreShiftVectorField = new javax.swing.JCheckBox();
jPanelVectorProcessing = new javax.swing.JPanel();
jPanelProfiles = new javax.swing.JPanel();
jCheckBoxProfilePrintStat = new javax.swing.JCheckBox();
jCheckBoxProfilePrintData = new javax.swing.JCheckBox();
jCheckBoxProfileQuadInterp = new javax.swing.JCheckBox();
jCheckBoxProfileAverage = new javax.swing.JCheckBox();
jLabelProfileNumberOf = new javax.swing.JLabel();
jSpinnerProfileNumberOf = new javax.swing.JSpinner();
jLabelProfileDistance = new javax.swing.JLabel();
jSpinnerProfileDistance = new javax.swing.JSpinner();
jCheckBoxProfileFixDataPoints = new javax.swing.JCheckBox();
jTextFieldProfileFixDataPoints = new javax.swing.JTextField();
jPanelNormMedianTest = new javax.swing.JPanel();
jLabelNormMedianTestThreshold = new javax.swing.JLabel();
jTextFieldNormMedianTestThreshold = new javax.swing.JTextField();
jLabelNormMedianNoiseLevel = new javax.swing.JLabel();
jTextFieldNormMedianTestNoiseLevel = new javax.swing.JTextField();
jPanelInvalidateIsolatedVectors = new javax.swing.JPanel();
jLabelInvalidateIsolatedVectorsNumOfNeighbours = new javax.swing.JLabel();
jSpinnerInvalidateIsolatedVectorsNumOfNeighbours = new javax.swing.JSpinner(
new javax.swing.SpinnerNumberModel(3, 0, 8, 1));
jLabelInvalidateIsolatedVectorsNumOfNeighbours1 = new javax.swing.JLabel();
jPanelSubsRefDisp = new javax.swing.JPanel();
jLabelSubsRefDispDx = new javax.swing.JLabel();
jLabelSubsRefDispDy = new javax.swing.JLabel();
jTextFieldSubsRefDispDx = new javax.swing.JTextField();
jTextFieldSubsRefDispDy = new javax.swing.JTextField();
jPanelSettings = new javax.swing.JPanel();
jPanelThirdCompRecon = new javax.swing.JPanel();
jLabelThirdCompReconDz = new javax.swing.JLabel();
jTextFieldThirdCompReconDz = new javax.swing.JTextField();
jEditorPaneBrowser = new javax.swing.JEditorPane();
setMaximizable(true);
setResizable(true);
setTitle("Settings");
jTree.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() {
public void valueChanged(javax.swing.event.TreeSelectionEvent evt) {
jTreeValueChanged(evt);
}
});
jScrollPaneLeft.setViewportView(jTree);
jSplitPane.setLeftComponent(jScrollPaneLeft);
jScrollPaneRight.setViewportView(jPanelPreferences);
jPanelLoadSave.setLayout(null);
jCheckBoxLoadSaveTecplotHeader.setText("write Tecplot header");
jCheckBoxLoadSaveTecplotHeader.setBorder(javax.swing.BorderFactory
.createEmptyBorder(0, 0, 0, 0));
jCheckBoxLoadSaveTecplotHeader
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelLoadSaveInputComponentFocusLost(evt);
}
});
jPanelLoadSave.add(jCheckBoxLoadSaveTecplotHeader);
jCheckBoxLoadSaveTecplotHeader.setBounds(10, 10, 380, 19);
jScrollPaneRight.setViewportView(jPanelLoadSave);
jPanelCmd.setPreferredSize(new java.awt.Dimension(500, 500));
jPanelCmd.setLayout(null);
jLabelCmdNumOfLines.setText("Maximum number of lines");
jPanelCmd.add(jLabelCmdNumOfLines);
jLabelCmdNumOfLines.setBounds(10, 10, 190, 19);
jTextFieldCmdNumOfLines.setText("jTextField1");
jTextFieldCmdNumOfLines.setInputVerifier(new jpiv2.VerifierUInt());
jTextFieldCmdNumOfLines
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelCmdInputComponentFocusLost(evt);
}
});
jPanelCmd.add(jTextFieldCmdNumOfLines);
jTextFieldCmdNumOfLines.setBounds(210, 10, 80, 23);
jCheckBoxCmdLineWrap.setSelected(true);
jCheckBoxCmdLineWrap.setText("Enable line wrap");
jCheckBoxCmdLineWrap
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelCmdInputComponentFocusLost(evt);
}
});
jPanelCmd.add(jCheckBoxCmdLineWrap);
jCheckBoxCmdLineWrap.setBounds(10, 30, 190, 27);
jScrollPaneRight.setViewportView(jPanelCmd);
jPanelPaths.setLayout(null);
jLabelJpivLibrary.setText("JPIV library directory");
jPanelPaths.add(jLabelJpivLibrary);
jLabelJpivLibrary.setBounds(10, 10, 220, 19);
jTextFieldJpivLibrary.setText("/usr/local/piv/jpiv/jpivlib");
jTextFieldJpivLibrary
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPathsInputComponentFocusLost(evt);
}
});
jPanelPaths.add(jTextFieldJpivLibrary);
jTextFieldJpivLibrary.setBounds(230, 10, 190, 23);
jButtonJpivLibrary.setText("Choose");
jButtonJpivLibrary
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonJpivLibraryActionPerformed(evt);
}
});
jPanelPaths.add(jButtonJpivLibrary);
jButtonJpivLibrary.setBounds(420, 10, 72, 20);
jScrollPaneRight.setViewportView(jPanelPaths);
jPanelVector.setPreferredSize(new java.awt.Dimension(500, 800));
jPanelVector.setLayout(null);
jLabelVectorScale.setText("Vector length scale factor");
jPanelVector.add(jLabelVectorScale);
jLabelVectorScale.setBounds(10, 40, 220, 19);
jLabelVectorHeadLength.setText("Arrow head fraction of length");
jPanelVector.add(jLabelVectorHeadLength);
jLabelVectorHeadLength.setBounds(10, 60, 220, 19);
jLabelVectorAngle.setText("Arrow head angle");
jPanelVector.add(jLabelVectorAngle);
jLabelVectorAngle.setBounds(10, 80, 220, 19);
jTextFieldVectorScale.setText("jTextField1");
jTextFieldVectorScale.setInputVerifier(new jpiv2.VerifierUFloat());
jTextFieldVectorScale
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorScale);
jTextFieldVectorScale.setBounds(230, 40, 62, 23);
jTextFieldVectorHeadLength.setText("jTextField2");
jTextFieldVectorHeadLength.setInputVerifier(new jpiv2.VerifierUFloat());
jTextFieldVectorHeadLength
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorHeadLength);
jTextFieldVectorHeadLength.setBounds(230, 60, 62, 23);
jTextFieldVectorAngle.setText("jTextField3");
jTextFieldVectorAngle.setInputVerifier(new jpiv2.VerifierUInt());
jTextFieldVectorAngle
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorAngle);
jTextFieldVectorAngle.setBounds(230, 80, 62, 23);
jLabelVectorBackground.setText("Background color");
jPanelVector.add(jLabelVectorBackground);
jLabelVectorBackground.setBounds(10, 110, 220, 19);
jLabelVectorColor.setText("Vector color");
jPanelVector.add(jLabelVectorColor);
jLabelVectorColor.setBounds(10, 260, 220, 19);
jButtonVectorBackground
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtionVectorPlotActionPerformed(evt);
}
});
jPanelVector.add(jButtonVectorBackground);
jButtonVectorBackground.setBounds(230, 110, 70, 20);
jButtonVectorColor
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtionVectorPlotActionPerformed(evt);
}
});
jPanelVector.add(jButtonVectorColor);
jButtonVectorColor.setBounds(230, 260, 70, 20);
jLabelVectorZoomFactor.setText("Zoom factor");
jPanelVector.add(jLabelVectorZoomFactor);
jLabelVectorZoomFactor.setBounds(10, 10, 63, 19);
jTextFieldVectorZoom.setText("jTextField1");
jTextFieldVectorZoom.setInputVerifier(new jpiv2.VerifierUFloat());
jTextFieldVectorZoom
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorZoom);
jTextFieldVectorZoom.setBounds(230, 10, 62, 23);
jCheckBoxVectorColorCoding.setText("Color-coding");
jCheckBoxVectorColorCoding
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jCheckBoxVectorColorCoding);
jCheckBoxVectorColorCoding.setBounds(10, 300, 170, 27);
jTextFieldVectorColorMin.setText("jTextField1");
jTextFieldVectorColorMin.setInputVerifier(new jpiv2.VerifierUFloat());
jTextFieldVectorColorMin
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorColorMin);
jTextFieldVectorColorMin.setBounds(230, 320, 62, 23);
jLabelVectorColorMax.setText("Max vector length (red)");
jPanelVector.add(jLabelVectorColorMax);
jLabelVectorColorMax.setBounds(30, 340, 200, 19);
jLabelVectorColorMin.setText("Min vector length (blue)");
jPanelVector.add(jLabelVectorColorMin);
jLabelVectorColorMin.setBounds(30, 320, 200, 19);
jTextFieldVectorColorMax.setText("jTextField2");
jTextFieldVectorColorMax.setInputVerifier(new jpiv2.VerifierUFloat());
jTextFieldVectorColorMax
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorColorMax);
jTextFieldVectorColorMax.setBounds(230, 340, 62, 23);
jCheckBoxVectorBackgroundImage.setText("Background image");
jCheckBoxVectorBackgroundImage
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jCheckBoxVectorBackgroundImage);
jCheckBoxVectorBackgroundImage.setBounds(10, 130, 220, 27);
jTextFieldBackgroundImage.setText("jTextField1");
jTextFieldBackgroundImage
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldBackgroundImage);
jTextFieldBackgroundImage.setBounds(230, 130, 190, 20);
jPanelVector.add(jSeparator1);
jSeparator1.setBounds(10, 250, 500, 10);
jPanelVector.add(jSeparator2);
jSeparator2.setBounds(10, 100, 500, 10);
jPanelVector.add(jSeparator3);
jSeparator3.setBounds(10, 560, 500, 10);
jButtonChooseBackgroundImage.setText("Choose");
jButtonChooseBackgroundImage
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonChooseBackgroundImageActionPerformed(evt);
}
});
jButtonChooseBackgroundImage
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jButtonChooseBackgroundImage);
jButtonChooseBackgroundImage.setBounds(420, 130, 72, 20);
jCheckBoxVectorShowReference.setText("Show reference vector");
jCheckBoxVectorShowReference
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jCheckBoxVectorShowReference);
jCheckBoxVectorShowReference.setBounds(10, 480, 220, 20);
jTextFieldVectorReferenceLength.setText("jTextField1");
jTextFieldVectorReferenceLength
.setInputVerifier(new jpiv2.VerifierUFloat());
jTextFieldVectorReferenceLength
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorReferenceLength);
jTextFieldVectorReferenceLength.setBounds(230, 500, 62, 23);
jCheckBoxVectorShowColorBar.setText("Show color legend");
jCheckBoxVectorShowColorBar
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jCheckBoxVectorShowColorBar);
jCheckBoxVectorShowColorBar.setBounds(10, 370, 200, 27);
jLabelVectorReferenceLength.setText("Reference vector length");
jPanelVector.add(jLabelVectorReferenceLength);
jLabelVectorReferenceLength.setBounds(30, 500, 200, 19);
jLabelVectorAxisTickSpacing.setText("Axis tickmark spacing");
jPanelVector.add(jLabelVectorAxisTickSpacing);
jLabelVectorAxisTickSpacing.setBounds(10, 570, 220, 19);
jTextFieldVectorAxisTickSpacing.setText("jTextField1");
jTextFieldVectorAxisTickSpacing
.setInputVerifier(new jpiv2.VerifierUFloat());
jTextFieldVectorAxisTickSpacing
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorAxisTickSpacing);
jTextFieldVectorAxisTickSpacing.setBounds(230, 570, 62, 23);
jLabelVectorAxisScalingFactor.setText("Axis unit conversion factor");
jPanelVector.add(jLabelVectorAxisScalingFactor);
jLabelVectorAxisScalingFactor.setBounds(10, 590, 220, 19);
jTextFieldVectorAxisScaling.setText("jTextField2");
jTextFieldVectorAxisScaling.setInputVerifier(new jpiv2.VerifierFloat());
jTextFieldVectorAxisScaling
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorAxisScaling);
jTextFieldVectorAxisScaling.setBounds(230, 590, 62, 23);
jLabelVectorAxisLabel.setText("Axis unit label");
jPanelVector.add(jLabelVectorAxisLabel);
jLabelVectorAxisLabel.setBounds(10, 610, 220, 19);
jTextFieldVectorAxisLabel.setText("jTextField3");
jTextFieldVectorAxisLabel
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorAxisLabel);
jTextFieldVectorAxisLabel.setBounds(230, 610, 62, 23);
jPanelVector.add(jSeparator6);
jSeparator6.setBounds(10, 630, 500, 10);
jLabelVectorColorBarLabel.setText("Color bar label");
jPanelVector.add(jLabelVectorColorBarLabel);
jLabelVectorColorBarLabel.setBounds(30, 430, 200, 19);
jTextFieldVectorColorBarLabel.setText("jTextField1");
jTextFieldVectorColorBarLabel
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorColorBarLabel);
jTextFieldVectorColorBarLabel.setBounds(230, 430, 62, 23);
jTextFieldVectorReferenceLabel.setText("jTextField2");
jTextFieldVectorReferenceLabel
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorReferenceLabel);
jTextFieldVectorReferenceLabel.setBounds(230, 540, 62, 23);
jLabelVectorReferenceLabel.setText("Reference vector label");
jPanelVector.add(jLabelVectorReferenceLabel);
jLabelVectorReferenceLabel.setBounds(30, 540, 200, 19);
jLabelVectorColorLevels.setText("Color levels");
jPanelVector.add(jLabelVectorColorLevels);
jLabelVectorColorLevels.setBounds(30, 390, 180, 19);
jSpinnerVectorColorLevels
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jSpinnerVectorColorLevels);
jSpinnerVectorColorLevels.setBounds(230, 390, 70, 20);
jCheckBoxVectorBackgroundColorCoding.setText("Color-coding");
jCheckBoxVectorBackgroundColorCoding
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jCheckBoxVectorBackgroundColorCoding);
jCheckBoxVectorBackgroundColorCoding.setBounds(10, 150, 170, 27);
jLabelVectorBackgroundColorCodingMin.setText("Min value (blue)");
jPanelVector.add(jLabelVectorBackgroundColorCodingMin);
jLabelVectorBackgroundColorCodingMin.setBounds(30, 190, 200, 19);
jLabelVectorBackgroundColorCodingMax.setText("Max value (red)");
jPanelVector.add(jLabelVectorBackgroundColorCodingMax);
jLabelVectorBackgroundColorCodingMax.setBounds(30, 210, 200, 19);
jTextFieldVectorBackgroundColorCodingMax.setText("jTextField2");
jTextFieldVectorBackgroundColorCodingMax
.setInputVerifier(new jpiv2.VerifierFloat());
jTextFieldVectorBackgroundColorCodingMax
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorBackgroundColorCodingMax);
jTextFieldVectorBackgroundColorCodingMax.setBounds(230, 210, 62, 23);
jTextFieldVectorBackgroundColorCodingMin.setText("jTextField1");
jTextFieldVectorBackgroundColorCodingMin
.setInputVerifier(new jpiv2.VerifierFloat());
jTextFieldVectorBackgroundColorCodingMin
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorBackgroundColorCodingMin);
jTextFieldVectorBackgroundColorCodingMin.setBounds(230, 190, 62, 23);
jLabelVectorBackgroundColorCodingColumn.setText("Data column");
jPanelVector.add(jLabelVectorBackgroundColorCodingColumn);
jLabelVectorBackgroundColorCodingColumn.setBounds(30, 170, 200, 19);
jTextFieldVectorBackgroundColorCodingColumn.setText("jTextField1");
jTextFieldVectorBackgroundColorCodingColumn
.setInputVerifier(new jpiv2.VerifierUInt());
jTextFieldVectorBackgroundColorCodingColumn
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorBackgroundColorCodingColumn);
jTextFieldVectorBackgroundColorCodingColumn.setBounds(230, 170, 62, 23);
jPanelVector.add(jSeparator10);
jSeparator10.setBounds(10, 360, 500, 10);
jTextFieldVectorReferenceUnitConversion.setText("jTextField1");
jTextFieldVectorReferenceUnitConversion
.setInputVerifier(new jpiv2.VerifierFloat());
jTextFieldVectorReferenceUnitConversion
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorReferenceUnitConversion);
jTextFieldVectorReferenceUnitConversion.setBounds(230, 520, 62, 23);
jLabelVectorReferenceUnitConversion.setText("Unit Conversion factor");
jPanelVector.add(jLabelVectorReferenceUnitConversion);
jLabelVectorReferenceUnitConversion.setBounds(30, 520, 200, 19);
jTextFieldVectorColorBarUnitConversion.setText("jTextField2");
jTextFieldVectorColorBarUnitConversion
.setInputVerifier(new jpiv2.VerifierFloat());
jTextFieldVectorColorBarUnitConversion
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorColorBarUnitConversion);
jTextFieldVectorColorBarUnitConversion.setBounds(230, 410, 62, 23);
jLabelVectorColorBarUnitConversion.setText("Unit conversion factor");
jPanelVector.add(jLabelVectorColorBarUnitConversion);
jLabelVectorColorBarUnitConversion.setBounds(30, 410, 200, 19);
jPanelVector.add(jSeparator11);
jSeparator11.setBounds(10, 470, 500, 10);
jButtonVectorColorInvalid
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtionVectorPlotActionPerformed(evt);
}
});
jPanelVector.add(jButtonVectorColorInvalid);
jButtonVectorColorInvalid.setBounds(230, 280, 70, 20);
jCheckBoxLabelInvalidVectors.setText("Label invalid vectors");
jCheckBoxLabelInvalidVectors
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jCheckBoxLabelInvalidVectors);
jCheckBoxLabelInvalidVectors.setBounds(10, 280, 170, 27);
jPanelVector.add(jSeparator13);
jSeparator13.setBounds(10, 30, 500, 10);
jLabelShapeColor.setText("Color of shapes (e.g. profiles)");
jPanelVector.add(jLabelShapeColor);
jLabelShapeColor.setBounds(10, 640, 220, 19);
jButtonShapeColor
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtionVectorPlotActionPerformed(evt);
}
});
jPanelVector.add(jButtonShapeColor);
jButtonShapeColor.setBounds(230, 640, 70, 20);
jLabelVectorMultyColorTransparancy.setText("Opacity");
jPanelVector.add(jLabelVectorMultyColorTransparancy);
jLabelVectorMultyColorTransparancy.setBounds(30, 230, 200, 19);
jTextFieldVectorMultiColorTransparancy.setText("jTextField2");
jTextFieldVectorMultiColorTransparancy
.setInputVerifier(new jpiv2.VerifierUFloat());
jTextFieldVectorMultiColorTransparancy
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorMultiColorTransparancy);
jTextFieldVectorMultiColorTransparancy.setBounds(230, 230, 62, 23);
jLabelVectorColorBarFormatString.setText("Label format string");
jPanelVector.add(jLabelVectorColorBarFormatString);
jLabelVectorColorBarFormatString.setBounds(30, 450, 200, 19);
jTextFieldVectorColorBarFormatString.setText("jTextField1");
jTextFieldVectorColorBarFormatString
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelVectorInputComponentFocusLost(evt);
}
});
jPanelVector.add(jTextFieldVectorColorBarFormatString);
jTextFieldVectorColorBarFormatString.setBounds(230, 450, 62, 23);
jScrollPaneRight.setViewportView(jPanelVector);
jPanelImg.setPreferredSize(new java.awt.Dimension(500, 500));
jPanelImg.setLayout(null);
jLabelImgZoomFactor.setText("Zoom factor");
jPanelImg.add(jLabelImgZoomFactor);
jLabelImgZoomFactor.setBounds(10, 40, 190, 19);
jCheckBoxImgTwoFrames.setText("Two frames per image");
jCheckBoxImgTwoFrames
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelImgInputComponentFocusLost(evt);
}
});
jPanelImg.add(jCheckBoxImgTwoFrames);
jCheckBoxImgTwoFrames.setBounds(10, 10, 190, 27);
jTextFieldImgZoom.setText("jTextField1");
jTextFieldImgZoom.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelImgInputComponentFocusLost(evt);
}
});
jPanelImg.add(jTextFieldImgZoom);
jTextFieldImgZoom.setBounds(210, 40, 62, 23);
jScrollPaneRight.setViewportView(jPanelImg);
jPanelPiv.setPreferredSize(new java.awt.Dimension(500, 500));
jPanelPiv.setLayout(null);
jScrollPaneRight.setViewportView(jPanelPiv);
jPanelPivGeneral.setPreferredSize(new java.awt.Dimension(500, 500));
jPanelPivGeneral.setLayout(null);
buttonGroupPivSequence.add(jRadioButtonPivTwoImages);
jRadioButtonPivTwoImages.setText("Two images per file");
jRadioButtonPivTwoImages
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivGeneralInputComponentFocusLost(evt);
}
});
jPanelPivGeneral.add(jRadioButtonPivTwoImages);
jRadioButtonPivTwoImages.setBounds(10, 10, 320, 20);
buttonGroupPivSequence.add(jRadioButtonPivConsecutive);
jRadioButtonPivConsecutive.setText("Consecutive (1+2, 2+3, 3+4, ...)");
jRadioButtonPivConsecutive
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivGeneralInputComponentFocusLost(evt);
}
});
jPanelPivGeneral.add(jRadioButtonPivConsecutive);
jRadioButtonPivConsecutive.setBounds(10, 50, 400, 20);
buttonGroupPivSequence.add(jRadioButtonPivSkip);
jRadioButtonPivSkip.setText("Skip");
jRadioButtonPivSkip.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivGeneralInputComponentFocusLost(evt);
}
});
jPanelPivGeneral.add(jRadioButtonPivSkip);
jRadioButtonPivSkip.setBounds(10, 70, 60, 20);
jTextFieldPivSkip.setText("jTextField1");
jTextFieldPivSkip.setInputVerifier(new jpiv2.VerifierUInt());
jTextFieldPivSkip.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivGeneralInputComponentFocusLost(evt);
}
});
jPanelPivGeneral.add(jTextFieldPivSkip);
jTextFieldPivSkip.setBounds(80, 70, 50, 23);
jLabelPivSkip.setText("files (e.g skip=2: 1+4, 2+5, 3+6, ...)");
jPanelPivGeneral.add(jLabelPivSkip);
jLabelPivSkip.setBounds(140, 70, 270, 20);
buttonGroupPivSequence.add(jRadioButtonPivCascade);
jRadioButtonPivCascade.setText("Cascade (1+2, 1+3, 1+4, ...)");
jRadioButtonPivCascade
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivGeneralInputComponentFocusLost(evt);
}
});
jPanelPivGeneral.add(jRadioButtonPivCascade);
jRadioButtonPivCascade.setBounds(10, 90, 400, 20);
jCheckBoxPivSumOfCorr
.setText("Sum up correlation functions (ensemble correlation)");
jCheckBoxPivSumOfCorr
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivGeneralInputComponentFocusLost(evt);
}
});
jPanelPivGeneral.add(jCheckBoxPivSumOfCorr);
jCheckBoxPivSumOfCorr.setBounds(10, 120, 400, 27);
buttonGroupPivSequence.add(jRadioButtonPivPairs);
jRadioButtonPivPairs.setText("Pairs (1+2, 3+4, 5+6, ...)");
jRadioButtonPivPairs
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivGeneralInputComponentFocusLost(evt);
}
});
jPanelPivGeneral.add(jRadioButtonPivPairs);
jRadioButtonPivPairs.setBounds(10, 30, 400, 20);
jScrollPaneRight.setViewportView(jPanelPivGeneral);
jPanelPivWindow.setPreferredSize(new java.awt.Dimension(500, 700));
jPanelPivWindow.setLayout(null);
jLabelPivMultiPass.setText("Multi pass");
jPanelPivWindow.add(jLabelPivMultiPass);
jLabelPivMultiPass.setBounds(10, 10, 220, 19);
jSpinnerPivMultiPass
.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
jSpinnerPivMultiPassStateChanged(evt);
}
});
jPanelPivWindow.add(jSpinnerPivMultiPass);
jSpinnerPivMultiPass.setBounds(240, 10, 40, 24);
jLabelPivWndWidth.setText("Interrogation window width");
jPanelPivWindow.add(jLabelPivWndWidth);
jLabelPivWndWidth.setBounds(10, 55, 220, 19);
jLabelPivWndHeight.setText("Interrogation window height");
jPanelPivWindow.add(jLabelPivWndHeight);
jLabelPivWndHeight.setBounds(10, 71, 220, 19);
jLabelPivHorVecSpacing.setText("Horizontal vector spacing");
jPanelPivWindow.add(jLabelPivHorVecSpacing);
jLabelPivHorVecSpacing.setBounds(10, 119, 220, 19);
jLabelPivVerVecSpacing.setText("Vertical vector spacing");
jPanelPivWindow.add(jLabelPivVerVecSpacing);
jLabelPivVerVecSpacing.setBounds(10, 135, 220, 19);
jLabelPivDomainWidth.setText("Search domain width");
jPanelPivWindow.add(jLabelPivDomainWidth);
jLabelPivDomainWidth.setBounds(10, 87, 220, 19);
jLabelPivDomainHeight.setText("Search domain height");
jPanelPivWindow.add(jLabelPivDomainHeight);
jLabelPivDomainHeight.setBounds(10, 103, 220, 19);
jLabelPivHorPreShift.setText("Horizontal pre-shift (fist pass)");
jPanelPivWindow.add(jLabelPivHorPreShift);
jLabelPivHorPreShift.setBounds(10, 280, 220, 19);
jTextFieldPivHorPreShift.setText("jTextField1");
jTextFieldPivHorPreShift.setInputVerifier(new jpiv2.VerifierInt());
jTextFieldPivHorPreShift
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jPanelPivWindow.add(jTextFieldPivHorPreShift);
jTextFieldPivHorPreShift.setBounds(240, 280, 80, 23);
jLabelPivVerPreShift.setText("Vertical pre-shift (first pass)");
jPanelPivWindow.add(jLabelPivVerPreShift);
jLabelPivVerPreShift.setBounds(10, 300, 220, 19);
jTextFieldPivVerPreShift.setText("jTextField2");
jTextFieldPivVerPreShift.setInputVerifier(new jpiv2.VerifierInt());
jTextFieldPivVerPreShift
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jPanelPivWindow.add(jTextFieldPivVerPreShift);
jTextFieldPivVerPreShift.setBounds(240, 300, 80, 23);
jTablePivWindow.setModel(new javax.swing.table.DefaultTableModel(
new Object[][] { { null, null, null, null },
{ null, null, null, null }, { null, null, null, null },
{ null, null, null, null }, { null, null, null, null },
{ null, null, null, null } }, new String[] { "Title 1",
"Title 2", "Title 3", "Title 4" }));
jTablePivWindow.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jScrollPane1.setViewportView(jTablePivWindow);
jPanelPivWindow.add(jScrollPane1);
jScrollPane1.setBounds(240, 40, 240, 114);
jLabelPivBetweenPasses.setText("Between passes:");
jPanelPivWindow.add(jLabelPivBetweenPasses);
jLabelPivBetweenPasses.setBounds(10, 340, 220, 19);
jCheckBoxPivReplace.setText("Replace invalid vecors by median");
jCheckBoxPivReplace.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jPanelPivWindow.add(jCheckBoxPivReplace);
jCheckBoxPivReplace.setBounds(240, 360, 240, 27);
jCheckBoxPivMedian.setText("3x3 median filter");
jCheckBoxPivMedian.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jPanelPivWindow.add(jCheckBoxPivMedian);
jCheckBoxPivMedian.setBounds(240, 380, 240, 27);
jTextFieldPivROIP2y.setText("jTextField4");
jTextFieldPivROIP2y.setInputVerifier(new jpiv2.VerifierUInt());
jTextFieldPivROIP2y.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jPanelPivWindow.add(jTextFieldPivROIP2y);
jTextFieldPivROIP2y.setBounds(190, 240, 62, 23);
jTextFieldPivROIP1y.setText("jTextField3");
jTextFieldPivROIP1y.setInputVerifier(new jpiv2.VerifierUInt());
jTextFieldPivROIP1y.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jPanelPivWindow.add(jTextFieldPivROIP1y);
jTextFieldPivROIP1y.setBounds(110, 240, 62, 23);
jLabelPivROIY1.setText("y [pixel]");
jPanelPivWindow.add(jLabelPivROIY1);
jLabelPivROIY1.setBounds(30, 240, 70, 19);
jLabelPivROIX.setText("x [pixel]");
jPanelPivWindow.add(jLabelPivROIX);
jLabelPivROIX.setBounds(30, 220, 70, 19);
jTextFieldPivROIP1x.setText("jTextField1");
jTextFieldPivROIP1x.setInputVerifier(new jpiv2.VerifierUInt());
jTextFieldPivROIP1x.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jPanelPivWindow.add(jTextFieldPivROIP1x);
jTextFieldPivROIP1x.setBounds(110, 220, 62, 23);
jTextFieldPivROIP2x.setText("jTextField2");
jTextFieldPivROIP2x.setInputVerifier(new jpiv2.VerifierUInt());
jTextFieldPivROIP2x.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jPanelPivWindow.add(jTextFieldPivROIP2x);
jTextFieldPivROIP2x.setBounds(190, 220, 62, 23);
jLabelPivROIRight.setText("bottom right");
jPanelPivWindow.add(jLabelPivROIRight);
jLabelPivROIRight.setBounds(190, 200, 90, 19);
jLabelPivROILeft.setText("top left");
jPanelPivWindow.add(jLabelPivROILeft);
jLabelPivROILeft.setBounds(110, 200, 70, 19);
jCheckBoxPivROI.setText("Region of interest (ROI)");
jCheckBoxPivROI.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jPanelPivWindow.add(jCheckBoxPivROI);
jCheckBoxPivROI.setBounds(10, 170, 250, 27);
jPanelPivWindow.add(jSeparator7);
jSeparator7.setBounds(10, 160, 500, 10);
jPanelPivWindow.add(jSeparator8);
jSeparator8.setBounds(10, 330, 500, 10);
jPanelPivWindow.add(jSeparator9);
jSeparator9.setBounds(10, 270, 500, 10);
jCheckBoxPivNormMedianTest.setText("Normalized median test");
jCheckBoxPivNormMedianTest
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jPanelPivWindow.add(jCheckBoxPivNormMedianTest);
jCheckBoxPivNormMedianTest.setBounds(240, 340, 240, 27);
jCheckBoxPivSmoothing.setText("3x3 smoothing");
jCheckBoxPivSmoothing
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jPanelPivWindow.add(jCheckBoxPivSmoothing);
jCheckBoxPivSmoothing.setBounds(240, 400, 240, 27);
jPanelPivWindow.add(jSeparator14);
jSeparator14.setBounds(10, 430, 500, 10);
jCheckBoxPivShearIntWindows
.setText("Deform (shear) interrogation windows");
jCheckBoxPivShearIntWindows
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jPanelPivWindow.add(jCheckBoxPivShearIntWindows);
jCheckBoxPivShearIntWindows.setBounds(10, 440, 500, 27);
jPanelPivWindow.add(jSeparator15);
jSeparator15.setBounds(10, 470, 500, 10);
jCheckBoxExpCorrFunc.setText("Export correlation functions");
jCheckBoxExpCorrFunc
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jPanelPivWindow.add(jCheckBoxExpCorrFunc);
jCheckBoxExpCorrFunc.setBounds(10, 480, 230, 27);
jLabelExpCorrFuncVec
.setText("Vector (zero from upper left corner, -1 for all)");
jPanelPivWindow.add(jLabelExpCorrFuncVec);
jLabelExpCorrFuncVec.setBounds(10, 510, 310, 19);
jLabelExpCorrFuncPass.setText("Pass (starting with zero, -1 for all)");
jPanelPivWindow.add(jLabelExpCorrFuncPass);
jLabelExpCorrFuncPass.setBounds(10, 530, 310, 19);
jTextFieldExpCorrFuncVec.setText("0");
jTextFieldExpCorrFuncVec.setInputVerifier(new jpiv2.VerifierInt());
jTextFieldExpCorrFuncVec
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jPanelPivWindow.add(jTextFieldExpCorrFuncVec);
jTextFieldExpCorrFuncVec.setBounds(320, 500, 80, 23);
jTextFieldExpCorrFuncPass.setText("0");
jTextFieldExpCorrFuncPass.setInputVerifier(new jpiv2.VerifierInt());
jTextFieldExpCorrFuncPass
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jPanelPivWindow.add(jTextFieldExpCorrFuncPass);
jTextFieldExpCorrFuncPass.setBounds(320, 520, 80, 23);
jCheckBoxExpCorrFuncSum.setText("Only Sum Of Correlation");
jCheckBoxExpCorrFuncSum
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelPivWindowInputComponentFocusLost(evt);
}
});
jPanelPivWindow.add(jCheckBoxExpCorrFuncSum);
jCheckBoxExpCorrFuncSum.setBounds(10, 550, 230, 27);
jScrollPaneRight.setViewportView(jPanelPivWindow);
jPanelSinglePixel.setPreferredSize(new java.awt.Dimension(500, 500));
jPanelSinglePixel.setLayout(null);
buttonGroupSinglePixelSequence.add(jRadioButtonSinglePixelTwoImages);
jRadioButtonSinglePixelTwoImages.setText("Two images per file");
jRadioButtonSinglePixelTwoImages
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelSinglePixelInputComponentFocusLost(evt);
}
});
jPanelSinglePixel.add(jRadioButtonSinglePixelTwoImages);
jRadioButtonSinglePixelTwoImages.setBounds(10, 10, 250, 27);
buttonGroupSinglePixelSequence.add(jRadioButtonSinglePixelSingleImages);
jRadioButtonSinglePixelSingleImages.setText("Single image files");
jRadioButtonSinglePixelSingleImages
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelSinglePixelInputComponentFocusLost(evt);
}
});
jPanelSinglePixel.add(jRadioButtonSinglePixelSingleImages);
jRadioButtonSinglePixelSingleImages.setBounds(10, 30, 250, 27);
jLabelSinglePixelROLeft.setText("top left");
jPanelSinglePixel.add(jLabelSinglePixelROLeft);
jLabelSinglePixelROLeft.setBounds(110, 90, 70, 19);
jLabelSinglePixelROIRight.setText("bottom right");
jPanelSinglePixel.add(jLabelSinglePixelROIRight);
jLabelSinglePixelROIRight.setBounds(190, 90, 90, 19);
jLabelSinglePixelROIX.setText("x [pixel]");
jPanelSinglePixel.add(jLabelSinglePixelROIX);
jLabelSinglePixelROIX.setBounds(30, 110, 70, 19);
jLabelSinglePixelROIY.setText("y [pixel]");
jPanelSinglePixel.add(jLabelSinglePixelROIY);
jLabelSinglePixelROIY.setBounds(30, 130, 70, 19);
jTextFieldSinglePixelROIP1x.setText("jTextField1");
jTextFieldSinglePixelROIP1x.setInputVerifier(new jpiv2.VerifierUInt());
jTextFieldSinglePixelROIP1x
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelSinglePixelInputComponentFocusLost(evt);
}
});
jPanelSinglePixel.add(jTextFieldSinglePixelROIP1x);
jTextFieldSinglePixelROIP1x.setBounds(110, 110, 62, 23);
jTextFieldSinglePixelROIP2x.setText("jTextField2");
jTextFieldSinglePixelROIP2x.setInputVerifier(new jpiv2.VerifierUInt());
jTextFieldSinglePixelROIP2x
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelSinglePixelInputComponentFocusLost(evt);
}
});
jPanelSinglePixel.add(jTextFieldSinglePixelROIP2x);
jTextFieldSinglePixelROIP2x.setBounds(190, 110, 62, 23);
jTextFieldSinglePixelROIP1y.setText("jTextField3");
jTextFieldSinglePixelROIP1y.setInputVerifier(new jpiv2.VerifierUInt());
jTextFieldSinglePixelROIP1y
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelSinglePixelInputComponentFocusLost(evt);
}
});
jPanelSinglePixel.add(jTextFieldSinglePixelROIP1y);
jTextFieldSinglePixelROIP1y.setBounds(110, 130, 62, 23);
jTextFieldSinglePixelROIP2y.setText("jTextField4");
jTextFieldSinglePixelROIP2y.setInputVerifier(new jpiv2.VerifierUInt());
jTextFieldSinglePixelROIP2y
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelSinglePixelInputComponentFocusLost(evt);
}
});
jPanelSinglePixel.add(jTextFieldSinglePixelROIP2y);
jTextFieldSinglePixelROIP2y.setBounds(190, 130, 62, 23);
jSeparator4.setVerifyInputWhenFocusTarget(false);
jPanelSinglePixel.add(jSeparator4);
jSeparator4.setBounds(10, 160, 500, 10);
jLabelSinglePixelDomainWidth.setText("Search domain width");
jPanelSinglePixel.add(jLabelSinglePixelDomainWidth);
jLabelSinglePixelDomainWidth.setBounds(10, 170, 150, 19);
jTextFieldSinglePixelDomainWidth.setText("jTextField1");
jTextFieldSinglePixelDomainWidth
.setInputVerifier(new jpiv2.VerifierUInt());
jTextFieldSinglePixelDomainWidth
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelSinglePixelInputComponentFocusLost(evt);
}
});
jPanelSinglePixel.add(jTextFieldSinglePixelDomainWidth);
jTextFieldSinglePixelDomainWidth.setBounds(170, 170, 62, 23);
jLabelSinglePixelDomainHeight.setText("Search domain height");
jPanelSinglePixel.add(jLabelSinglePixelDomainHeight);
jLabelSinglePixelDomainHeight.setBounds(10, 190, 150, 19);
jTextFieldSinglePixelDomainHeight.setText("jTextField2");
jTextFieldSinglePixelDomainHeight
.setInputVerifier(new jpiv2.VerifierUInt());
jTextFieldSinglePixelDomainHeight
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelSinglePixelInputComponentFocusLost(evt);
}
});
jPanelSinglePixel.add(jTextFieldSinglePixelDomainHeight);
jTextFieldSinglePixelDomainHeight.setBounds(170, 190, 62, 23);
jLabelSinglePixelHorPreShift.setText("Horizontal pre-shift");
jPanelSinglePixel.add(jLabelSinglePixelHorPreShift);
jLabelSinglePixelHorPreShift.setBounds(10, 220, 150, 19);
jTextFieldSinglePixelHorPreShift.setText("jTextField3");
jTextFieldSinglePixelHorPreShift
.setInputVerifier(new jpiv2.VerifierInt());
jTextFieldSinglePixelHorPreShift
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelSinglePixelInputComponentFocusLost(evt);
}
});
jPanelSinglePixel.add(jTextFieldSinglePixelHorPreShift);
jTextFieldSinglePixelHorPreShift.setBounds(170, 220, 62, 23);
jLabelSinglePixelVerPreShift.setText("Vertical pre-shift");
jPanelSinglePixel.add(jLabelSinglePixelVerPreShift);
jLabelSinglePixelVerPreShift.setBounds(10, 240, 150, 19);
jTextFieldSinglePixelVerPreShift.setText("jTextField4");
jTextFieldSinglePixelVerPreShift
.setInputVerifier(new jpiv2.VerifierInt());
jTextFieldSinglePixelVerPreShift
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelSinglePixelInputComponentFocusLost(evt);
}
});
jPanelSinglePixel.add(jTextFieldSinglePixelVerPreShift);
jTextFieldSinglePixelVerPreShift.setBounds(170, 240, 62, 23);
jPanelSinglePixel.add(jSeparator5);
jSeparator5.setBounds(10, 60, 500, 10);
jCheckBoxSinglePixelROI.setText("Region of interest (ROI)");
jCheckBoxSinglePixelROI
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelSinglePixelInputComponentFocusLost(evt);
}
});
jPanelSinglePixel.add(jCheckBoxSinglePixelROI);
jCheckBoxSinglePixelROI.setBounds(10, 70, 250, 27);
jPanelSinglePixel.add(jSeparator12);
jSeparator12.setBounds(10, 290, 500, 10);
jCheckBoxSinglePixel3by3.setText("Use 3x3 pixel instead of one");
jCheckBoxSinglePixel3by3
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelSinglePixelInputComponentFocusLost(evt);
}
});
jPanelSinglePixel.add(jCheckBoxSinglePixel3by3);
jCheckBoxSinglePixel3by3.setBounds(10, 300, 380, 27);
jCheckBoxSinglePixelSignalOnly
.setText("Skip correlation when I(x,y) < I(mean)");
jCheckBoxSinglePixelSignalOnly
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelSinglePixelInputComponentFocusLost(evt);
}
});
jPanelSinglePixel.add(jCheckBoxSinglePixelSignalOnly);
jCheckBoxSinglePixelSignalOnly.setBounds(10, 320, 380, 27);
jCheckBoxSinglePixelCreatePreShiftVectorField
.setText("First do a standard PIV-evaluation to create a pre-shift vector field.");
jCheckBoxSinglePixelCreatePreShiftVectorField
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelSinglePixelInputComponentFocusLost(evt);
}
});
jPanelSinglePixel.add(jCheckBoxSinglePixelCreatePreShiftVectorField);
jCheckBoxSinglePixelCreatePreShiftVectorField.setBounds(10, 260, 500,
27);
jScrollPaneRight.setViewportView(jPanelSinglePixel);
jPanelVectorProcessing
.setPreferredSize(new java.awt.Dimension(500, 500));
jPanelVectorProcessing.setLayout(null);
jScrollPaneRight.setViewportView(jPanelVectorProcessing);
jPanelProfiles.setPreferredSize(new java.awt.Dimension(500, 500));
jPanelProfiles.setLayout(null);
jCheckBoxProfilePrintStat.setText("Print profile statistics");
jCheckBoxProfilePrintStat
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelProfilesInputComponentFocusLost(evt);
}
});
jPanelProfiles.add(jCheckBoxProfilePrintStat);
jCheckBoxProfilePrintStat.setBounds(10, 10, 380, 27);
jCheckBoxProfilePrintData.setText("Print profile data");
jCheckBoxProfilePrintData
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelProfilesInputComponentFocusLost(evt);
}
});
jPanelProfiles.add(jCheckBoxProfilePrintData);
jCheckBoxProfilePrintData.setBounds(10, 30, 380, 27);
jCheckBoxProfileQuadInterp
.setText("Smooth profile display (quadratic Bezier spline)");
jCheckBoxProfileQuadInterp
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelProfilesInputComponentFocusLost(evt);
}
});
jPanelProfiles.add(jCheckBoxProfileQuadInterp);
jCheckBoxProfileQuadInterp.setBounds(10, 70, 380, 27);
jCheckBoxProfileAverage
.setText("Average over a number of parallel profiles");
jCheckBoxProfileAverage
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelProfilesInputComponentFocusLost(evt);
}
});
jPanelProfiles.add(jCheckBoxProfileAverage);
jCheckBoxProfileAverage.setBounds(10, 110, 380, 27);
jLabelProfileNumberOf.setText("Number of profiles");
jPanelProfiles.add(jLabelProfileNumberOf);
jLabelProfileNumberOf.setBounds(50, 140, 200, 20);
jSpinnerProfileNumberOf.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N
jSpinnerProfileNumberOf.setModel(new javax.swing.SpinnerNumberModel(3,
1, 9999, 2));
jSpinnerProfileNumberOf
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelProfilesInputComponentFocusLost(evt);
}
});
jPanelProfiles.add(jSpinnerProfileNumberOf);
jSpinnerProfileNumberOf.setBounds(260, 140, 70, 24);
jLabelProfileDistance.setText("Distance of profiles [pixel]");
jPanelProfiles.add(jLabelProfileDistance);
jLabelProfileDistance.setBounds(50, 160, 200, 20);
jSpinnerProfileDistance.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N
jSpinnerProfileDistance.setModel(new javax.swing.SpinnerNumberModel(16,
1, 9999, 1));
jSpinnerProfileDistance
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelProfilesInputComponentFocusLost(evt);
}
});
jPanelProfiles.add(jSpinnerProfileDistance);
jSpinnerProfileDistance.setBounds(260, 160, 70, 24);
jCheckBoxProfileFixDataPoints.setText("Fixed number of data points");
jCheckBoxProfileFixDataPoints
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelProfilesInputComponentFocusLost(evt);
}
});
jPanelProfiles.add(jCheckBoxProfileFixDataPoints);
jCheckBoxProfileFixDataPoints.setBounds(10, 200, 240, 27);
jTextFieldProfileFixDataPoints.setText("jTextField1");
jTextFieldProfileFixDataPoints
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelProfilesInputComponentFocusLost(evt);
}
});
jPanelProfiles.add(jTextFieldProfileFixDataPoints);
jTextFieldProfileFixDataPoints.setBounds(260, 200, 62, 23);
jScrollPaneRight.setViewportView(jPanelProfiles);
jPanelNormMedianTest.setPreferredSize(new java.awt.Dimension(500, 500));
jPanelNormMedianTest.setLayout(null);
jLabelNormMedianTestThreshold
.setText("Threshold for normalized residual [-]");
jPanelNormMedianTest.add(jLabelNormMedianTestThreshold);
jLabelNormMedianTestThreshold.setBounds(10, 10, 250, 19);
jTextFieldNormMedianTestThreshold.setText("jTextField1");
jTextFieldNormMedianTestThreshold
.setInputVerifier(new jpiv2.VerifierUFloat());
jTextFieldNormMedianTestThreshold
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jTextFieldNormMedianTestInputComponentFocusLost(evt);
}
});
jPanelNormMedianTest.add(jTextFieldNormMedianTestThreshold);
jTextFieldNormMedianTestThreshold.setBounds(270, 10, 62, 23);
jLabelNormMedianNoiseLevel.setText("Velocity data noise level [pixel]");
jPanelNormMedianTest.add(jLabelNormMedianNoiseLevel);
jLabelNormMedianNoiseLevel.setBounds(10, 30, 250, 19);
jTextFieldNormMedianTestNoiseLevel.setText("jTextField2");
jTextFieldNormMedianTestNoiseLevel
.setInputVerifier(new jpiv2.VerifierUFloat());
jTextFieldNormMedianTestNoiseLevel
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jTextFieldNormMedianTestInputComponentFocusLost(evt);
}
});
jPanelNormMedianTest.add(jTextFieldNormMedianTestNoiseLevel);
jTextFieldNormMedianTestNoiseLevel.setBounds(270, 30, 62, 23);
jScrollPaneRight.setViewportView(jPanelNormMedianTest);
jPanelInvalidateIsolatedVectors
.setPreferredSize(new java.awt.Dimension(500, 500));
jPanelInvalidateIsolatedVectors.setLayout(null);
jLabelInvalidateIsolatedVectorsNumOfNeighbours
.setText("Invalidate vectors with less than");
jPanelInvalidateIsolatedVectors
.add(jLabelInvalidateIsolatedVectorsNumOfNeighbours);
jLabelInvalidateIsolatedVectorsNumOfNeighbours.setBounds(10, 10, 250,
20);
jSpinnerInvalidateIsolatedVectorsNumOfNeighbours
.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
jSpinnerInvalidateIsolatedVectorsNumOfNeighboursStateChanged(evt);
}
});
jPanelInvalidateIsolatedVectors
.add(jSpinnerInvalidateIsolatedVectorsNumOfNeighbours);
jSpinnerInvalidateIsolatedVectorsNumOfNeighbours.setBounds(270, 10, 40,
24);
jLabelInvalidateIsolatedVectorsNumOfNeighbours1
.setText("valid neighbours");
jPanelInvalidateIsolatedVectors
.add(jLabelInvalidateIsolatedVectorsNumOfNeighbours1);
jLabelInvalidateIsolatedVectorsNumOfNeighbours1.setBounds(10, 30, 250,
20);
jScrollPaneRight.setViewportView(jPanelInvalidateIsolatedVectors);
jPanelSubsRefDisp.setLayout(null);
jLabelSubsRefDispDx.setText("Horizontal reference displacement");
jPanelSubsRefDisp.add(jLabelSubsRefDispDx);
jLabelSubsRefDispDx.setBounds(10, 10, 250, 19);
jLabelSubsRefDispDy.setText("Vertical reference displacement");
jPanelSubsRefDisp.add(jLabelSubsRefDispDy);
jLabelSubsRefDispDy.setBounds(10, 30, 250, 19);
jTextFieldSubsRefDispDx.setText("jTextField1");
jTextFieldSubsRefDispDx
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelSubsRefDispInputComponentFocusLost(evt);
}
});
jPanelSubsRefDisp.add(jTextFieldSubsRefDispDx);
jTextFieldSubsRefDispDx.setBounds(270, 10, 62, 23);
jTextFieldSubsRefDispDy.setText("jTextField2");
jTextFieldSubsRefDispDy
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelSubsRefDispInputComponentFocusLost(evt);
}
});
jPanelSubsRefDisp.add(jTextFieldSubsRefDispDy);
jTextFieldSubsRefDispDy.setBounds(270, 30, 62, 23);
jScrollPaneRight.setViewportView(jPanelSubsRefDisp);
jPanelSettings.setPreferredSize(new java.awt.Dimension(500, 500));
jPanelSettings.setLayout(null);
jScrollPaneRight.setViewportView(jPanelSettings);
jPanelThirdCompRecon.setLayout(null);
jLabelThirdCompReconDz.setText("Distance between scan planes");
jPanelThirdCompRecon.add(jLabelThirdCompReconDz);
jLabelThirdCompReconDz.setBounds(10, 10, 250, 19);
jTextFieldThirdCompReconDz.setText("jTextField1");
jTextFieldThirdCompReconDz
.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jPanelThirdCompReconFocusLost(evt);
}
});
jPanelThirdCompRecon.add(jTextFieldThirdCompReconDz);
jTextFieldThirdCompReconDz.setBounds(270, 10, 62, 23);
jScrollPaneRight.setViewportView(jPanelThirdCompRecon);
jEditorPaneBrowser.setEditable(false);
jEditorPaneBrowser.setOpaque(false);
jEditorPaneBrowser
.addHyperlinkListener(new javax.swing.event.HyperlinkListener() {
public void hyperlinkUpdate(
javax.swing.event.HyperlinkEvent evt) {
jEditorPaneBrowserHyperlinkUpdate(evt);
}
});
jScrollPaneRight.setViewportView(jEditorPaneBrowser);
jSplitPane.setRightComponent(jScrollPaneRight);
getContentPane().add(jSplitPane, java.awt.BorderLayout.CENTER);
pack();
}// </editor-fold>//GEN-END:initComponents
private void jButtonJpivLibraryActionPerformed(
java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButtonJpivLibraryActionPerformed
chooseLibraryPath();
getPaths(jpiv.getSettings());
}// GEN-LAST:event_jButtonJpivLibraryActionPerformed
private void jPanelPathsInputComponentFocusLost(
java.awt.event.FocusEvent evt) {// GEN-FIRST:event_jPanelPathsInputComponentFocusLost
getPaths(jpiv.getSettings());
}// GEN-LAST:event_jPanelPathsInputComponentFocusLost
private void jPanelThirdCompReconFocusLost(java.awt.event.FocusEvent evt) {// GEN-FIRST:event_jPanelThirdCompReconFocusLost
getThirdCompReconSettings(jpiv.getSettings());
}// GEN-LAST:event_jPanelThirdCompReconFocusLost
private void jPanelLoadSaveInputComponentFocusLost(
java.awt.event.FocusEvent evt) {// GEN-FIRST:event_jPanelLoadSaveInputComponentFocusLost
getLoadSaveSettings(jpiv.getSettings());
}// GEN-LAST:event_jPanelLoadSaveInputComponentFocusLost
private void jPanelCmdInputComponentFocusLost(java.awt.event.FocusEvent evt) {// GEN-FIRST:event_jPanelCmdInputComponentFocusLost
getCmdSettings(jpiv.getSettings());
jpiv.updateCmdFrame();
}// GEN-LAST:event_jPanelCmdInputComponentFocusLost
private void jButtonChooseBackgroundImageActionPerformed(
java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButtonChooseBackgroundImageActionPerformed
chooseBackgroundImage();
getVectorSettings(jpiv.getSettings());
}// GEN-LAST:event_jButtonChooseBackgroundImageActionPerformed
private void jPanelVectorInputComponentFocusLost(
java.awt.event.FocusEvent evt) {// GEN-FIRST:event_jPanelVectorInputComponentFocusLost
getVectorSettings(jpiv.getSettings());
}// GEN-LAST:event_jPanelVectorInputComponentFocusLost
private void jButtionVectorPlotActionPerformed(
java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButtionVectorPlotActionPerformed
jpiv2.Settings settings = jpiv.getSettings();
if (evt.getSource().equals(jButtonVectorBackground)) {
settings.vectorBackground = new jpiv2.ColorChooserDlg(jpiv, true)
.showDialog("Choose Background Color",
settings.vectorBackground);
}
if (evt.getSource().equals(jButtonVectorColor)) {
settings.vectorColor = new jpiv2.ColorChooserDlg(jpiv, true)
.showDialog("Choose Vector Color", settings.vectorColor);
}
if (evt.getSource().equals(jButtonVectorColorInvalid)) {
settings.vectorColorInvalid = new jpiv2.ColorChooserDlg(jpiv, true)
.showDialog("Choose Color for Invalid Vectors",
settings.vectorColorInvalid);
}
if (evt.getSource().equals(jButtonShapeColor)) {
settings.shapeColor = new jpiv2.ColorChooserDlg(jpiv, true)
.showDialog("Choose Color for Shapes", settings.shapeColor);
}
setVectorSettings(settings);
}// GEN-LAST:event_jButtionVectorPlotActionPerformed
private void jPanelImgInputComponentFocusLost(java.awt.event.FocusEvent evt) {// GEN-FIRST:event_jPanelImgInputComponentFocusLost
getImgSettings(jpiv.getSettings());
}// GEN-LAST:event_jPanelImgInputComponentFocusLost
private void jPanelPivGeneralInputComponentFocusLost(
java.awt.event.FocusEvent evt) {// GEN-FIRST:event_jPanelPivGeneralInputComponentFocusLost
getPivGeneralSettings(jpiv.getSettings());
}// GEN-LAST:event_jPanelPivGeneralInputComponentFocusLost
private void jSpinnerPivMultiPassStateChanged(
javax.swing.event.ChangeEvent evt) {// GEN-FIRST:event_jSpinnerPivMultiPassStateChanged
updateJTablePivWindow(jpiv.getSettings());
getPivWindowSettings(jpiv.getSettings());
}// GEN-LAST:event_jSpinnerPivMultiPassStateChanged
private void jPanelPivWindowInputComponentFocusLost(
java.awt.event.FocusEvent evt) {// GEN-FIRST:event_jPanelPivWindowInputComponentFocusLost
if (jTablePivWindow.isEditing()) {
jTablePivWindow.getCellEditor().stopCellEditing();
}
getPivWindowSettings(jpiv.getSettings());
}// GEN-LAST:event_jPanelPivWindowInputComponentFocusLost
private void jPanelSinglePixelInputComponentFocusLost(
java.awt.event.FocusEvent evt) {// GEN-FIRST:event_jPanelSinglePixelInputComponentFocusLost
getSinglePixelSettings(jpiv.getSettings());
}// GEN-LAST:event_jPanelSinglePixelInputComponentFocusLost
private void jPanelProfilesInputComponentFocusLost(
java.awt.event.FocusEvent evt) {// GEN-FIRST:event_jPanelProfilesInputComponentFocusLost
getProfilesSettings(jpiv.getSettings());
}// GEN-LAST:event_jPanelProfilesInputComponentFocusLost
private void jTextFieldNormMedianTestInputComponentFocusLost(
java.awt.event.FocusEvent evt) {// GEN-FIRST:event_jTextFieldNormMedianTestInputComponentFocusLost
getNormMedianTestSettings(jpiv.getSettings());
}// GEN-LAST:event_jTextFieldNormMedianTestInputComponentFocusLost
private void jSpinnerInvalidateIsolatedVectorsNumOfNeighboursStateChanged(
javax.swing.event.ChangeEvent evt) {// GEN-FIRST:event_jSpinnerInvalidateIsolatedVectorsNumOfNeighboursStateChanged
getinvalidateIsolatedVectorsSettings(jpiv.getSettings());
}// GEN-LAST:event_jSpinnerInvalidateIsolatedVectorsNumOfNeighboursStateChanged
private void jPanelSubsRefDispInputComponentFocusLost(
java.awt.event.FocusEvent evt) {// GEN-FIRST:event_jPanelSubsRefDispInputComponentFocusLost
getSubsRefDispSettings(jpiv.getSettings());
}// GEN-LAST:event_jPanelSubsRefDispInputComponentFocusLost
private void jEditorPaneBrowserHyperlinkUpdate(
javax.swing.event.HyperlinkEvent evt) {// GEN-FIRST:event_jEditorPaneBrowserHyperlinkUpdate
hyperlinkUpdate(evt);
}// GEN-LAST:event_jEditorPaneBrowserHyperlinkUpdate
private void jTreeValueChanged(javax.swing.event.TreeSelectionEvent evt) {// GEN-FIRST:event_jTreeValueChanged
TreePath tp = evt.getNewLeadSelectionPath();
updatePanelView(tp);
}// GEN-LAST:event_jTreeValueChanged
/** Creates a tree-model. */
private void initTreeModel() {
tnSettings = new DefaultMutableTreeNode("JPIV");
tnPreferences = new DefaultMutableTreeNode("Preferences");
tnLoadSave = new DefaultMutableTreeNode("Load/Save");
tnCmd = new DefaultMutableTreeNode("Cmd");
tnPaths = new DefaultMutableTreeNode("Paths");
tnVector = new DefaultMutableTreeNode("Vector Plot");
tnImg = new DefaultMutableTreeNode("Image Display");
tnPiv = new DefaultMutableTreeNode("PIV");
tnPivGeneral = new DefaultMutableTreeNode("General");
tnPivWindow = new DefaultMutableTreeNode("Interrogation Window");
tnSinglePixel = new DefaultMutableTreeNode("Single Pixel Correlation");
tnVectorProcessing = new DefaultMutableTreeNode("Vector Processing");
tnProfiles = new DefaultMutableTreeNode("Profile Extraction");
tnNormMedianTest = new DefaultMutableTreeNode("Normalized Median Test");
tninvalidateIsolatedVectors = new DefaultMutableTreeNode(
"Remove Isolated Vectors");
tnSubsRefDisp = new DefaultMutableTreeNode(
"Substract Reference Displacement");
tnThirdCompRecon = new DefaultMutableTreeNode("3C Reconstruction");
tnBrowser = new DefaultMutableTreeNode("Documentation");
tnSettings.add(tnPreferences);
tnPreferences.add(tnLoadSave);
tnPreferences.add(tnCmd);
tnPreferences.add(tnPaths);
tnPreferences.add(tnVector);
tnPreferences.add(tnImg);
tnSettings.add(tnPiv);
tnPiv.add(tnPivGeneral);
tnPiv.add(tnPivWindow);
tnPiv.add(tnSinglePixel);
tnSettings.add(tnVectorProcessing);
tnVectorProcessing.add(tnProfiles);
tnVectorProcessing.add(tnNormMedianTest);
tnVectorProcessing.add(tninvalidateIsolatedVectors);
tnVectorProcessing.add(tnSubsRefDisp);
tnVectorProcessing.add(tnThirdCompRecon);
tnSettings.add(tnBrowser);
}
/** Creates a single selection tree selection model. */
private void configTree() {
TreeSelectionModel tsm = new DefaultTreeSelectionModel();
tsm.setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
jTree.setSelectionModel(tsm);
}
/** Shows a specific panel in dependence of the selected tree node. */
private void updatePanelView(TreePath tp) {
if (tp != null) {
Object o = tp.getLastPathComponent();
if (o == tnSettings) {
jScrollPaneRight.setViewportView(jPanelSettings);
} else if (o == tnPreferences) {
jScrollPaneRight.setViewportView(jPanelPreferences);
} else if (o == tnLoadSave) {
jScrollPaneRight.setViewportView(jPanelLoadSave);
} else if (o == tnCmd) {
jScrollPaneRight.setViewportView(jPanelCmd);
} else if (o == tnPaths) {
jScrollPaneRight.setViewportView(jPanelPaths);
} else if (o == tnVector) {
jScrollPaneRight.setViewportView(jPanelVector);
} else if (o == tnImg) {
jScrollPaneRight.setViewportView(jPanelImg);
} else if (o == tnPiv) {
jScrollPaneRight.setViewportView(jPanelPiv);
} else if (o == tnPiv) {
jScrollPaneRight.setViewportView(jPanelPiv);
} else if (o == tnPivGeneral) {
jScrollPaneRight.setViewportView(jPanelPivGeneral);
} else if (o == tnPivWindow) {
jScrollPaneRight.setViewportView(jPanelPivWindow);
} else if (o == tnSinglePixel) {
jScrollPaneRight.setViewportView(jPanelSinglePixel);
} else if (o == tnVectorProcessing) {
jScrollPaneRight.setViewportView(jPanelVectorProcessing);
} else if (o == tnProfiles) {
jScrollPaneRight.setViewportView(jPanelProfiles);
} else if (o == tnNormMedianTest) {
jScrollPaneRight.setViewportView(jPanelNormMedianTest);
} else if (o == tninvalidateIsolatedVectors) {
jScrollPaneRight
.setViewportView(jPanelInvalidateIsolatedVectors);
} else if (o == tnSubsRefDisp) {
jScrollPaneRight.setViewportView(jPanelSubsRefDisp);
} else if (o == tnThirdCompRecon) {
jScrollPaneRight.setViewportView(jPanelThirdCompRecon);
} else if (o == tnBrowser) {
jScrollPaneRight.setViewportView(jEditorPaneBrowser);
}
}
}
private void updateJTablePivWindow(jpiv2.Settings settings) {
int columns = ((Integer) jSpinnerPivMultiPass.getValue()).intValue();
tableContent = new String[6][columns];
for (int i = 0; i < 6; ++i) {
for (int j = 0; j < columns; ++j) {
if (j < settings.pivWindow[i].length) {
tableContent[i][j] = String
.valueOf(settings.pivWindow[i][j]);
} else {
tableContent[i][j] = "0";
}
}
}
colHeads = new String[columns];
for (int j = 0; j < columns; ++j) {
colHeads[j] = "pass " + (j + 1);
}
tableModel = new javax.swing.table.DefaultTableModel(tableContent,
colHeads);
jTablePivWindow.setModel(tableModel);
}
/**
* Modify settings related to file loading and saving. Copies all settings
* related to file loading and saving into its graphical components.
*
* @param settings
* The jpiv2.Settings object.
*/
public void setLoadSaveSettings(jpiv2.Settings settings) {
jCheckBoxLoadSaveTecplotHeader
.setSelected(settings.loadSaveTecplotHeader);
}
/**
* Set jpiv2.CmdFrame related settings. Copies all jpiv2.CmdFrame related
* settings from a settings object into its graphical components.
*
* @param settings
* The jpiv2.Settings object.
*/
public void setCmdSettings(jpiv2.Settings settings) {
jTextFieldCmdNumOfLines.setText(String.valueOf(settings.cmdNumOfLines));
jCheckBoxCmdLineWrap.setSelected(settings.cmdLineWrap);
}
/**
* Set path information. Copies all paths from a settings object into the
* related gui components.
*
* @param settings
* The jpiv2.Settings object.
*/
public void setPaths(jpiv2.Settings settings) {
jTextFieldJpivLibrary.setText(settings.jpivLibPath);
}
/**
* Set jpiv2.DisplayVectorFrame related settings. Copies all
* jpiv2.DisplayVectorFrame related settings from a settings object into its
* graphical components.
*
* @param settings
* The jpiv2.Settings object.
*/
public void setVectorSettings(jpiv2.Settings settings) {
jTextFieldVectorScale.setText(String.valueOf(settings.vectorScale));
jTextFieldVectorHeadLength.setText(String
.valueOf(settings.vectorHeadLength));
jTextFieldVectorAngle.setText(String.valueOf(settings.vectorAngle));
jButtonVectorBackground.setBackground(settings.vectorBackground);
jCheckBoxVectorBackgroundImage
.setSelected(settings.vectorBackgroundImage);
jTextFieldBackgroundImage.setText(settings.vectorBackgroundImagePath);
jButtonVectorColor.setBackground(settings.vectorColor);
jCheckBoxLabelInvalidVectors.setSelected(settings.labelInvalidVectors);
jButtonVectorColorInvalid.setBackground(settings.vectorColorInvalid);
jCheckBoxVectorBackgroundColorCoding
.setSelected(settings.vectorBackgroundColorCoding);
jButtonShapeColor.setBackground(settings.shapeColor);
jTextFieldVectorBackgroundColorCodingColumn.setText(String
.valueOf(settings.vectorBackgroundColorCodingColumn));
jTextFieldVectorBackgroundColorCodingMin.setText(String
.valueOf(settings.vectorBackgroundColorCodingMin));
jTextFieldVectorBackgroundColorCodingMax.setText(String
.valueOf(settings.vectorBackgroundColorCodingMax));
jTextFieldVectorZoom.setText(String.valueOf(settings.vectorZoom));
jCheckBoxVectorColorCoding.setSelected(settings.vectorMultiColor);
jTextFieldVectorColorMin.setText(String
.valueOf(settings.vectorMultiColorMin));
jTextFieldVectorColorMax.setText(String
.valueOf(settings.vectorMultiColorMax));
jTextFieldVectorMultiColorTransparancy.setText(String
.valueOf(settings.vectorMultiColorTransparancy));
jCheckBoxVectorShowReference.setSelected(settings.vectorShowReference);
jTextFieldVectorReferenceUnitConversion.setText(String
.valueOf(settings.vectorReferenceUnitConversion));
jTextFieldVectorReferenceLength.setText(String
.valueOf(settings.vectorReferenceLength));
jTextFieldVectorReferenceLabel.setText(settings.vectorReferenceLabel);
jCheckBoxVectorShowColorBar.setSelected(settings.vectorShowColorBar);
jTextFieldVectorColorBarUnitConversion.setText(String
.valueOf(settings.vectorColorBarUnitConversion));
jTextFieldVectorColorBarLabel.setText(settings.vectorColorBarLabel);
jTextFieldVectorColorBarFormatString
.setText(settings.vectorColorBarFormatString);
jTextFieldVectorAxisTickSpacing.setText(String
.valueOf(settings.vectorTickSpacing));
jTextFieldVectorAxisScaling.setText(String
.valueOf(settings.vectorAxisScaling));
jTextFieldVectorAxisLabel.setText(settings.vectorAxisLabel);
jSpinnerVectorColorLevels.setValue(new Integer(
settings.vectorColorLevels));
}
/**
* Set jpiv2.DisplayImgFrame related settings. Copies all
* jpiv2.DisplayImgFrame related settings from a settings object into its
* graphical components.
*
* @param settings
* The jpiv2.Settings object.
*/
public void setImgSettings(jpiv2.Settings settings) {
jCheckBoxImgTwoFrames.setSelected(settings.imgTwoFrames);
jTextFieldImgZoom.setText(String.valueOf(settings.imgZoom));
}
/**
* Set jpiv2.pivEvaluation related settings. Copies all jpiv2.pivEvaluation
* (general) related settings from a settings object into its graphical
* components.
*
* @param settings
* The jpiv2.Settings object.
*/
public void setPivGeneralSettings(jpiv2.Settings settings) {
switch (settings.pivSequence) {
case 1: {
jRadioButtonPivTwoImages.setSelected(true);
break;
}
case 2: {
jRadioButtonPivConsecutive.setSelected(true);
break;
}
case 3: {
jRadioButtonPivSkip.setSelected(true);
break;
}
case 4: {
jRadioButtonPivCascade.setSelected(true);
break;
}
case 5: {
jRadioButtonPivPairs.setSelected(true);
break;
}
}
jTextFieldPivSkip.setText(String.valueOf(settings.pivSkip));
jCheckBoxPivSumOfCorr.setSelected(settings.pivSumOfCorr);
jCheckBoxPivShearIntWindows.setSelected(settings.pivShearIntWindows);
}
/**
* Set jpiv2.pivEvaluation related settings. Copies all jpiv2.pivEvaluation
* (window) related settings from a settings object into its graphical
* components.
*
* @param settings
* The jpiv2.Settings object.
*/
public void setPivWindowSettings(jpiv2.Settings settings) {
jCheckBoxPivNormMedianTest.setSelected(settings.pivNormMedianTest);
jCheckBoxPivReplace.setSelected(settings.pivReplace);
jCheckBoxPivMedian.setSelected(settings.pivMedian);
jCheckBoxPivSmoothing.setSelected(settings.pivSmoothing);
jTextFieldPivHorPreShift.setText(String
.valueOf(settings.pivHorPreShift));
jTextFieldPivVerPreShift.setText(String
.valueOf(settings.pivVerPreShift));
jCheckBoxPivROI.setSelected(settings.pivROI);
jTextFieldPivROIP1x.setText(String.valueOf(settings.pivROIP1x));
jTextFieldPivROIP1y.setText(String.valueOf(settings.pivROIP1y));
jTextFieldPivROIP2x.setText(String.valueOf(settings.pivROIP2x));
jTextFieldPivROIP2y.setText(String.valueOf(settings.pivROIP2y));
jCheckBoxPivShearIntWindows.setSelected(settings.pivShearIntWindows);
jCheckBoxExpCorrFunc.setSelected(settings.exportCorrFunction);
jTextFieldExpCorrFuncVec.setText(String
.valueOf(settings.exportCorrFunctionNum));
jTextFieldExpCorrFuncPass.setText(String
.valueOf(settings.exportCorrFunctionPass));
jCheckBoxExpCorrFuncSum
.setSelected(settings.exportCorrFunctionOnlySumOfCorr);
jSpinnerPivMultiPass.setValue(new Integer(settings.pivMultiPass));
updateJTablePivWindow(settings);
}
/**
* Set single pixel correlation related settings. Copies all single pixel
* correlation related settings from a settings object into its graphical
* components.
*
* @param settings
* The jpiv2.Settings object.
*/
public void setSinglePixelSettings(jpiv2.Settings settings) {
if (settings.singlePixelTwoImg == true) {
jRadioButtonSinglePixelTwoImages.setSelected(true);
jRadioButtonSinglePixelSingleImages.setSelected(false);
} else {
jRadioButtonSinglePixelTwoImages.setSelected(false);
jRadioButtonSinglePixelSingleImages.setSelected(true);
}
jCheckBoxSinglePixelROI.setSelected(settings.singlePixelROI);
jTextFieldSinglePixelROIP1x.setText(String
.valueOf(settings.singlePixelROIP1x));
jTextFieldSinglePixelROIP1y.setText(String
.valueOf(settings.singlePixelROIP1y));
jTextFieldSinglePixelROIP2x.setText(String
.valueOf(settings.singlePixelROIP2x));
jTextFieldSinglePixelROIP2y.setText(String
.valueOf(settings.singlePixelROIP2y));
jTextFieldSinglePixelDomainWidth.setText(String
.valueOf(settings.singlePixelDomainWidth));
jTextFieldSinglePixelDomainHeight.setText(String
.valueOf(settings.singlePixelDomainHeight));
jTextFieldSinglePixelHorPreShift.setText(String
.valueOf(settings.singlePixelHorPreShift));
jTextFieldSinglePixelVerPreShift.setText(String
.valueOf(settings.singlePixelVerPreShift));
jCheckBoxSinglePixelCreatePreShiftVectorField
.setSelected(settings.singlePixelCreatePreShiftVectorField);
jCheckBoxSinglePixel3by3.setSelected(settings.singlePixel3by3);
jCheckBoxSinglePixelSignalOnly
.setSelected(settings.singlePixelSignalOnly);
}
/**
* Set profile extraction related settings. Copies all profile extraction
* settings from a settings object into its graphical components.
*
* @param settings
* The jpiv2.Settings object.
*/
public void setProfilesSettings(jpiv2.Settings settings) {
jCheckBoxProfilePrintStat.setSelected(settings.profilePrintStat);
jCheckBoxProfilePrintData.setSelected(settings.profilePrintData);
jCheckBoxProfileQuadInterp.setSelected(settings.profileQuadInterp);
jCheckBoxProfileAverage.setSelected(settings.profileAverage);
jSpinnerProfileNumberOf.setValue(new Integer(settings.profileNumberOf));
jSpinnerProfileDistance.setValue(new Integer(settings.profileDistance));
jCheckBoxProfileFixDataPoints
.setSelected(settings.profileFixDataPoints);
jTextFieldProfileFixDataPoints.setText(String
.valueOf(settings.profileNumOfFixDataPoints));
}
/**
* Sets the settings related to the normalized median test.
*
* @param settings
* The jpiv2.Settings object.
*/
public void setNormMedianTestSettings(jpiv2.Settings settings) {
jTextFieldNormMedianTestThreshold.setText(String
.valueOf(settings.normMedianTestThreshold));
jTextFieldNormMedianTestNoiseLevel.setText(String
.valueOf(settings.normMedianTestNoiseLevel));
}
/**
* Sets the settings relevant for removing isolated vectors.
*
* @param settings
* The jpiv2.Settings object.
*/
public void setinvalidateIsolatedVectorsSettings(jpiv2.Settings settings) {
jSpinnerInvalidateIsolatedVectorsNumOfNeighbours.setValue(new Integer(
settings.invalidateIsolatedVectorsNumOfNeighbours));
}
/**
* Sets the settings related to the reference displacement substraction.
*
* @param settings
* The jpiv2.Settings object.
*/
public void setSubsRefDispSettings(jpiv2.Settings settings) {
jTextFieldSubsRefDispDx.setText(String.valueOf(settings.subsRefDispDx));
jTextFieldSubsRefDispDy.setText(String.valueOf(settings.subsRefDispDy));
}
/**
* Sets the settings related to the third velocity component reconstruction.
*
* @param settings
* The jpiv2.Settings object.
*/
public void setThirdCompReconSettings(jpiv2.Settings settings) {
jTextFieldThirdCompReconDz.setText(String
.valueOf(settings.thirdCompReconDz));
}
/**
* Fills the user-dialogs with values of a jpiv2.Settings object. Call this
* method to initilize the dialogs.
*
* @param settings
* The jpiv2.Settings object that contains the values for
* initilization.
*/
public void setAllSettings(jpiv2.Settings settings) {
setLoadSaveSettings(settings);
setCmdSettings(settings);
setPaths(settings);
setVectorSettings(settings);
setImgSettings(settings);
setPivGeneralSettings(settings);
setPivWindowSettings(settings);
setSinglePixelSettings(settings);
setProfilesSettings(settings);
setNormMedianTestSettings(settings);
setinvalidateIsolatedVectorsSettings(settings);
setSubsRefDispSettings(settings);
setThirdCompReconSettings(settings);
}
/**
* Get all settings related to file loading and saving. Copies all settings
* related to file loading and saving from the user input components into a
* jpiv2.Settings object.
*
* @param settings
* The jpiv2.Settings object.
*/
public void getLoadSaveSettings(jpiv2.Settings settings) {
settings.loadSaveTecplotHeader = jCheckBoxLoadSaveTecplotHeader
.isSelected();
}
/**
* Get jpiv2.CmdFrame related settings. Copies all jpiv2.CmdFrame related
* settings from the graphical components into a jpiv2.Settings object.
*
* @param settings
* The jpiv2.Settings object.
*/
public void getCmdSettings(jpiv2.Settings settings) {
settings.cmdNumOfLines = Integer.parseInt(jTextFieldCmdNumOfLines
.getText());
settings.cmdLineWrap = jCheckBoxCmdLineWrap.isSelected();
}
/**
* Get path information. Copies the path information from the graphical
* components into a jpiv2.Settings object.
*
* @param settings
* The jpiv2.Settings object.
*/
public void getPaths(jpiv2.Settings settings) {
settings.jpivLibPath = jTextFieldJpivLibrary.getText();
}
/**
* Get jpiv2.DisplayVecFrame related settings. Copies all
* jpiv2.DisplayVecFrame related settings from the graphical components into
* a jpiv2.Settings object.
*
* @param settings
* The jpiv2.Settings object.
*/
public void getVectorSettings(jpiv2.Settings settings) {
settings.vectorScale = Float
.parseFloat(jTextFieldVectorScale.getText());
settings.vectorHeadLength = Double
.parseDouble(jTextFieldVectorHeadLength.getText());
settings.vectorAngle = Integer
.parseInt(jTextFieldVectorAngle.getText());
settings.vectorZoom = Float.parseFloat(jTextFieldVectorZoom.getText());
settings.vectorBackgroundImage = jCheckBoxVectorBackgroundImage
.isSelected();
settings.vectorBackgroundImagePath = jTextFieldBackgroundImage
.getText();
settings.vectorBackgroundColorCoding = jCheckBoxVectorBackgroundColorCoding
.isSelected();
settings.vectorBackgroundColorCodingColumn = Integer
.parseInt(jTextFieldVectorBackgroundColorCodingColumn.getText());
settings.vectorBackgroundColorCodingMin = Float
.parseFloat(jTextFieldVectorBackgroundColorCodingMin.getText());
settings.vectorBackgroundColorCodingMax = Float
.parseFloat(jTextFieldVectorBackgroundColorCodingMax.getText());
settings.vectorMultiColorTransparancy = Float
.parseFloat(jTextFieldVectorMultiColorTransparancy.getText());
settings.labelInvalidVectors = jCheckBoxLabelInvalidVectors
.isSelected();
settings.vectorMultiColor = jCheckBoxVectorColorCoding.isSelected();
settings.vectorMultiColorMin = Float
.parseFloat(jTextFieldVectorColorMin.getText());
settings.vectorMultiColorMax = Float
.parseFloat(jTextFieldVectorColorMax.getText());
settings.vectorShowReference = jCheckBoxVectorShowReference
.isSelected();
settings.vectorReferenceUnitConversion = Float
.parseFloat(jTextFieldVectorReferenceUnitConversion.getText());
settings.vectorReferenceLength = Float
.parseFloat(jTextFieldVectorReferenceLength.getText());
settings.vectorReferenceLabel = jTextFieldVectorReferenceLabel
.getText();
settings.vectorShowColorBar = jCheckBoxVectorShowColorBar.isSelected();
settings.vectorColorBarUnitConversion = Float
.parseFloat(jTextFieldVectorColorBarUnitConversion.getText());
settings.vectorColorBarLabel = jTextFieldVectorColorBarLabel.getText();
settings.vectorColorBarFormatString = jTextFieldVectorColorBarFormatString
.getText();
settings.vectorTickSpacing = Float
.parseFloat(jTextFieldVectorAxisTickSpacing.getText());
settings.vectorAxisScaling = Float
.parseFloat(jTextFieldVectorAxisScaling.getText());
settings.vectorAxisLabel = jTextFieldVectorAxisLabel.getText();
settings.vectorColorLevels = ((Integer) jSpinnerVectorColorLevels
.getValue()).intValue();
}
/**
* Get jpiv2.DisplayImgFrame related settings. Copies all
* jpiv2.DisplayImgFrame related settings from the graphical components into
* a jpiv2.Settings object.
*
* @param settings
* The jpiv2.Settings object.
*/
public void getImgSettings(jpiv2.Settings settings) {
settings.imgTwoFrames = jCheckBoxImgTwoFrames.isSelected();
settings.imgZoom = Float.parseFloat(jTextFieldImgZoom.getText());
}
/**
* Get jpiv2.pivEvaulation related settings. Copies all jpiv2.pivEvaluation
* (general) related settings from the graphical components into a
* jpiv2.Settings object.
*
* @param settings
* The jpiv2.Settings object.
*/
public void getPivGeneralSettings(jpiv2.Settings settings) {
if (jRadioButtonPivTwoImages.isSelected()) {
settings.pivSequence = settings.PIV_TWO_IMG;
} else if (jRadioButtonPivConsecutive.isSelected()) {
settings.pivSequence = settings.PIV_CONSECUTIVE;
} else if (jRadioButtonPivSkip.isSelected()) {
settings.pivSequence = settings.PIV_SKIP;
} else if (jRadioButtonPivCascade.isSelected()) {
settings.pivSequence = settings.PIV_CASCADE;
} else if (jRadioButtonPivPairs.isSelected()) {
settings.pivSequence = settings.PIV_PAIRS;
}
settings.pivSkip = Integer.parseInt(jTextFieldPivSkip.getText());
settings.pivSumOfCorr = jCheckBoxPivSumOfCorr.isSelected();
settings.pivShearIntWindows = jCheckBoxPivShearIntWindows.isSelected();
}
/**
* Get jpiv2.pivEvaluation related settings. Copies all jpiv2.pivEvaluation
* (window) related settings from the graphical components into a
* jpiv2.Settings object.
*
* @param settings
* The jpiv2.Settings object.
*/
public void getPivWindowSettings(jpiv2.Settings settings) {
settings.pivMultiPass = ((Integer) jSpinnerPivMultiPass.getValue())
.intValue();
int columns = settings.pivMultiPass;
settings.pivWindow = new int[6][columns];
for (int i = 0; i < 6; ++i) {
for (int j = 0; j < columns; ++j) {
try {
settings.pivWindow[i][j] = Integer
.parseInt((String) jTablePivWindow.getModel()
.getValueAt(i, j));
} catch (NumberFormatException e) {
System.err
.println("Invalid input. Please enter a positive integer number.");
jTablePivWindow.editCellAt(i, j);
}
}
}
settings.pivROI = jCheckBoxPivROI.isSelected();
settings.pivROIP1x = Integer.parseInt(jTextFieldPivROIP1x.getText());
settings.pivROIP1y = Integer.parseInt(jTextFieldPivROIP1y.getText());
settings.pivROIP2x = Integer.parseInt(jTextFieldPivROIP2x.getText());
settings.pivROIP2y = Integer.parseInt(jTextFieldPivROIP2y.getText());
settings.pivHorPreShift = Integer.parseInt(jTextFieldPivHorPreShift
.getText());
settings.pivVerPreShift = Integer.parseInt(jTextFieldPivVerPreShift
.getText());
settings.pivNormMedianTest = jCheckBoxPivNormMedianTest.isSelected();
settings.pivReplace = jCheckBoxPivReplace.isSelected();
settings.pivMedian = jCheckBoxPivMedian.isSelected();
settings.pivSmoothing = jCheckBoxPivSmoothing.isSelected();
settings.pivShearIntWindows = jCheckBoxPivShearIntWindows.isSelected();
settings.exportCorrFunction = jCheckBoxExpCorrFunc.isSelected();
settings.exportCorrFunctionNum = Integer
.parseInt(jTextFieldExpCorrFuncVec.getText());
settings.exportCorrFunctionPass = Integer
.parseInt(jTextFieldExpCorrFuncPass.getText());
settings.exportCorrFunctionOnlySumOfCorr = jCheckBoxExpCorrFuncSum
.isSelected();
}
/**
* Get single pixel correlation related settings. Copies all single pixel
* correlation related settings from the graphical components into a
* jpiv2.Settings object.
*
* @param settings
* The jpiv2.Settings object.
*/
public void getSinglePixelSettings(jpiv2.Settings settings) {
settings.singlePixelTwoImg = jRadioButtonSinglePixelTwoImages
.isSelected();
settings.singlePixelROI = jCheckBoxSinglePixelROI.isSelected();
settings.singlePixelROIP1x = Integer
.parseInt(jTextFieldSinglePixelROIP1x.getText());
settings.singlePixelROIP1y = Integer
.parseInt(jTextFieldSinglePixelROIP1y.getText());
settings.singlePixelROIP2x = Integer
.parseInt(jTextFieldSinglePixelROIP2x.getText());
settings.singlePixelROIP2y = Integer
.parseInt(jTextFieldSinglePixelROIP2y.getText());
settings.singlePixelDomainWidth = Integer
.parseInt(jTextFieldSinglePixelDomainWidth.getText());
// check if value is uneven
if ((settings.singlePixelDomainWidth % 2) == 0) {
settings.singlePixelDomainWidth += 1;
setSinglePixelSettings(settings);
}
settings.singlePixelDomainHeight = Integer
.parseInt(jTextFieldSinglePixelDomainHeight.getText());
// check if value is uneven
if ((settings.singlePixelDomainHeight % 2) == 0) {
settings.singlePixelDomainHeight += 1;
setSinglePixelSettings(settings);
}
settings.singlePixelHorPreShift = Integer
.parseInt(jTextFieldSinglePixelHorPreShift.getText());
settings.singlePixelVerPreShift = Integer
.parseInt(jTextFieldSinglePixelVerPreShift.getText());
settings.singlePixelCreatePreShiftVectorField = jCheckBoxSinglePixelCreatePreShiftVectorField
.isSelected();
settings.singlePixel3by3 = jCheckBoxSinglePixel3by3.isSelected();
settings.singlePixelSignalOnly = jCheckBoxSinglePixelSignalOnly
.isSelected();
}
/**
* Get profile extraction related settings. Copies all profile extraction
* related settings from the graphical components into a jpiv2.Settings
* object.
*
* @param settings
* The jpiv2.Settings object.
*/
public void getProfilesSettings(jpiv2.Settings settings) {
settings.profilePrintStat = jCheckBoxProfilePrintStat.isSelected();
settings.profilePrintData = jCheckBoxProfilePrintData.isSelected();
settings.profileQuadInterp = jCheckBoxProfileQuadInterp.isSelected();
settings.profileAverage = jCheckBoxProfileAverage.isSelected();
settings.profileNumberOf = ((Integer) jSpinnerProfileNumberOf
.getValue()).intValue();
settings.profileDistance = ((Integer) jSpinnerProfileDistance
.getValue()).intValue();
settings.profileFixDataPoints = jCheckBoxProfileFixDataPoints
.isSelected();
settings.profileNumOfFixDataPoints = Integer
.parseInt(jTextFieldProfileFixDataPoints.getText());
}
/**
* Retrieves the settings that are related to the normalized median test.
*
* @param settings
* The jpiv2.Settings object.
*/
public void getNormMedianTestSettings(jpiv2.Settings settings) {
settings.normMedianTestThreshold = Double
.parseDouble(jTextFieldNormMedianTestThreshold.getText());
settings.normMedianTestNoiseLevel = Double
.parseDouble(jTextFieldNormMedianTestNoiseLevel.getText());
}
/**
* Retrieves the settings that are relevant vor removing isolated vectors.
*
* @param settings
* The jpiv2.Settings object.
*/
public void getinvalidateIsolatedVectorsSettings(jpiv2.Settings settings) {
settings.invalidateIsolatedVectorsNumOfNeighbours = ((Integer) jSpinnerInvalidateIsolatedVectorsNumOfNeighbours
.getValue()).intValue();
}
/**
* Retrieves the settings that are related to the normalized median test.
*
* @param settings
* The jpiv2.Settings object.
*/
public void getSubsRefDispSettings(jpiv2.Settings settings) {
settings.subsRefDispDx = Double.parseDouble(jTextFieldSubsRefDispDx
.getText());
settings.subsRefDispDy = Double.parseDouble(jTextFieldSubsRefDispDy
.getText());
}
/**
* Retrieves the settings that are related to the normalized median test.
*
* @param settings
* The jpiv2.Settings object.
*/
public void getThirdCompReconSettings(jpiv2.Settings settings) {
settings.thirdCompReconDz = Double
.parseDouble(jTextFieldThirdCompReconDz.getText());
}
/**
* Get all settings. Copies all settings from the graphical components into
* a jpiv2.Settings object.
*
* @param settings
* The jpiv2.Settings object.
*/
public void getAllSettings(jpiv2.Settings settings) {
getLoadSaveSettings(settings);
getCmdSettings(settings);
getPaths(settings);
getVectorSettings(settings);
getImgSettings(settings);
getPivGeneralSettings(settings);
getPivWindowSettings(settings);
getSinglePixelSettings(settings);
getProfilesSettings(settings);
getNormMedianTestSettings(settings);
getinvalidateIsolatedVectorsSettings(settings);
getSubsRefDispSettings(settings);
getThirdCompReconSettings(settings);
}
/**
* Displays a jpiv2.FlexFileChooser. This dialog supports the user in
* choosing a background image for vector images.
*/
private void chooseBackgroundImage() {
jpiv2.FlexFileChooser flexFileChooser = jpiv.getFlexFileChooser();
flexFileChooser.setFiletype(flexFileChooser.IMG_READ, false);
int approve = flexFileChooser.showOpenDialog(this);
if (approve == javax.swing.JFileChooser.APPROVE_OPTION) {
java.io.File file = flexFileChooser.getSelectedFile();
jTextFieldBackgroundImage.setText(file.toString());
}
}
/**
* Displays a jpiv2.FlexFileChooser. This dialog supports the user in
* choosing a library directory.
*/
private void chooseLibraryPath() {
jpiv2.FlexFileChooser flexFileChooser = jpiv.getFlexFileChooser();
flexFileChooser.setFiletype(flexFileChooser.DIR, false);
int approve = flexFileChooser.showOpenDialog(this);
if (approve == javax.swing.JFileChooser.APPROVE_OPTION) {
java.io.File file = flexFileChooser.getSelectedFile();
jTextFieldJpivLibrary.setText(file.toString());
}
}
/**
* Displays the online documentation.
*/
public void showDocumentation() {
String docPath = jpiv.getSettings().jpivLibPath + jpiv.fileSeparator
+ "doc" + jpiv.fileSeparator + "index.html";
File docFile = new java.io.File(docPath);
try {
URI docUri = docFile.toURI();
URL docUrl = docUri.toURL();
try {
jEditorPaneBrowser.setPage(docUrl);
} catch (java.io.IOException e1) {
try {
jEditorPaneBrowser.setPage(new URL(
"http://www.jpiv.vennemann-online.de/index.html"));
} catch (java.io.IOException e2) {
jEditorPaneBrowser.setText("Can not find URL: \n" + docUrl);
}
}
} catch (java.net.MalformedURLException e) {
jEditorPaneBrowser.setText("Can not create an URL from: \n"
+ docPath);
}
jScrollPaneRight.setViewportView(jEditorPaneBrowser);
}
/**
* Displays the url.
*
* @param urlString
* the url to display.
*/
public void showURL(String urlString) {
try {
URL url = new URL(urlString);
try {
jEditorPaneBrowser.setPage(url);
} catch (java.io.IOException e) {
jEditorPaneBrowser.setText("Can not find URL: \n" + url);
}
} catch (java.net.MalformedURLException e) {
jEditorPaneBrowser.setText("Can not create an URL from: \n"
+ urlString);
}
jScrollPaneRight.setViewportView(jEditorPaneBrowser);
}
/**
* Updates the documentation pane.
*
* @param evt
* A hyperlink event.
*/
private void hyperlinkUpdate(HyperlinkEvent evt) {
if (evt.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
JEditorPane pane = (JEditorPane) evt.getSource();
if (evt instanceof HTMLFrameHyperlinkEvent) {
HTMLFrameHyperlinkEvent e = (HTMLFrameHyperlinkEvent) evt;
HTMLDocument doc = (HTMLDocument) pane.getDocument();
doc.processHTMLFrameHyperlinkEvent(e);
} else {
try {
pane.setPage(evt.getURL());
} catch (Throwable t) {
t.printStackTrace();
}
}
}
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.ButtonGroup buttonGroupPivCorr;
private javax.swing.ButtonGroup buttonGroupPivSequence;
private javax.swing.ButtonGroup buttonGroupPivSubPixelInt;
private javax.swing.ButtonGroup buttonGroupPivWeightKernel;
private javax.swing.ButtonGroup buttonGroupSinglePixelSequence;
private javax.swing.JButton jButtonChooseBackgroundImage;
private javax.swing.JButton jButtonJpivLibrary;
private javax.swing.JButton jButtonShapeColor;
private javax.swing.JButton jButtonVectorBackground;
private javax.swing.JButton jButtonVectorColor;
private javax.swing.JButton jButtonVectorColorInvalid;
private javax.swing.JCheckBox jCheckBoxCmdLineWrap;
private javax.swing.JCheckBox jCheckBoxExpCorrFunc;
private javax.swing.JCheckBox jCheckBoxExpCorrFuncSum;
private javax.swing.JCheckBox jCheckBoxImgTwoFrames;
private javax.swing.JCheckBox jCheckBoxLabelInvalidVectors;
private javax.swing.JCheckBox jCheckBoxLoadSaveTecplotHeader;
private javax.swing.JCheckBox jCheckBoxPivMedian;
private javax.swing.JCheckBox jCheckBoxPivNormMedianTest;
private javax.swing.JCheckBox jCheckBoxPivROI;
private javax.swing.JCheckBox jCheckBoxPivReplace;
private javax.swing.JCheckBox jCheckBoxPivShearIntWindows;
private javax.swing.JCheckBox jCheckBoxPivSmoothing;
private javax.swing.JCheckBox jCheckBoxPivSumOfCorr;
private javax.swing.JCheckBox jCheckBoxProfileAverage;
private javax.swing.JCheckBox jCheckBoxProfileFixDataPoints;
private javax.swing.JCheckBox jCheckBoxProfilePrintData;
private javax.swing.JCheckBox jCheckBoxProfilePrintStat;
private javax.swing.JCheckBox jCheckBoxProfileQuadInterp;
private javax.swing.JCheckBox jCheckBoxSinglePixel3by3;
private javax.swing.JCheckBox jCheckBoxSinglePixelCreatePreShiftVectorField;
private javax.swing.JCheckBox jCheckBoxSinglePixelROI;
private javax.swing.JCheckBox jCheckBoxSinglePixelSignalOnly;
private javax.swing.JCheckBox jCheckBoxVectorBackgroundColorCoding;
private javax.swing.JCheckBox jCheckBoxVectorBackgroundImage;
private javax.swing.JCheckBox jCheckBoxVectorColorCoding;
private javax.swing.JCheckBox jCheckBoxVectorShowColorBar;
private javax.swing.JCheckBox jCheckBoxVectorShowReference;
private javax.swing.JEditorPane jEditorPaneBrowser;
private javax.swing.JLabel jLabelCmdNumOfLines;
private javax.swing.JLabel jLabelExpCorrFuncPass;
private javax.swing.JLabel jLabelExpCorrFuncVec;
private javax.swing.JLabel jLabelImgZoomFactor;
private javax.swing.JLabel jLabelInvalidateIsolatedVectorsNumOfNeighbours;
private javax.swing.JLabel jLabelInvalidateIsolatedVectorsNumOfNeighbours1;
private javax.swing.JLabel jLabelJpivLibrary;
private javax.swing.JLabel jLabelNormMedianNoiseLevel;
private javax.swing.JLabel jLabelNormMedianTestThreshold;
private javax.swing.JLabel jLabelPivBetweenPasses;
private javax.swing.JLabel jLabelPivDomainHeight;
private javax.swing.JLabel jLabelPivDomainWidth;
private javax.swing.JLabel jLabelPivHorPreShift;
private javax.swing.JLabel jLabelPivHorVecSpacing;
private javax.swing.JLabel jLabelPivMultiPass;
private javax.swing.JLabel jLabelPivROILeft;
private javax.swing.JLabel jLabelPivROIRight;
private javax.swing.JLabel jLabelPivROIX;
private javax.swing.JLabel jLabelPivROIY1;
private javax.swing.JLabel jLabelPivSkip;
private javax.swing.JLabel jLabelPivVerPreShift;
private javax.swing.JLabel jLabelPivVerVecSpacing;
private javax.swing.JLabel jLabelPivWndHeight;
private javax.swing.JLabel jLabelPivWndWidth;
private javax.swing.JLabel jLabelProfileDistance;
private javax.swing.JLabel jLabelProfileNumberOf;
private javax.swing.JLabel jLabelShapeColor;
private javax.swing.JLabel jLabelSinglePixelDomainHeight;
private javax.swing.JLabel jLabelSinglePixelDomainWidth;
private javax.swing.JLabel jLabelSinglePixelHorPreShift;
private javax.swing.JLabel jLabelSinglePixelROIRight;
private javax.swing.JLabel jLabelSinglePixelROIX;
private javax.swing.JLabel jLabelSinglePixelROIY;
private javax.swing.JLabel jLabelSinglePixelROLeft;
private javax.swing.JLabel jLabelSinglePixelVerPreShift;
private javax.swing.JLabel jLabelSubsRefDispDx;
private javax.swing.JLabel jLabelSubsRefDispDy;
private javax.swing.JLabel jLabelThirdCompReconDz;
private javax.swing.JLabel jLabelVectorAngle;
private javax.swing.JLabel jLabelVectorAxisLabel;
private javax.swing.JLabel jLabelVectorAxisScalingFactor;
private javax.swing.JLabel jLabelVectorAxisTickSpacing;
private javax.swing.JLabel jLabelVectorBackground;
private javax.swing.JLabel jLabelVectorBackgroundColorCodingColumn;
private javax.swing.JLabel jLabelVectorBackgroundColorCodingMax;
private javax.swing.JLabel jLabelVectorBackgroundColorCodingMin;
private javax.swing.JLabel jLabelVectorColor;
private javax.swing.JLabel jLabelVectorColorBarFormatString;
private javax.swing.JLabel jLabelVectorColorBarLabel;
private javax.swing.JLabel jLabelVectorColorBarUnitConversion;
private javax.swing.JLabel jLabelVectorColorLevels;
private javax.swing.JLabel jLabelVectorColorMax;
private javax.swing.JLabel jLabelVectorColorMin;
private javax.swing.JLabel jLabelVectorHeadLength;
private javax.swing.JLabel jLabelVectorMultyColorTransparancy;
private javax.swing.JLabel jLabelVectorReferenceLabel;
private javax.swing.JLabel jLabelVectorReferenceLength;
private javax.swing.JLabel jLabelVectorReferenceUnitConversion;
private javax.swing.JLabel jLabelVectorScale;
private javax.swing.JLabel jLabelVectorZoomFactor;
private javax.swing.JPanel jPanelCmd;
private javax.swing.JPanel jPanelImg;
private javax.swing.JPanel jPanelInvalidateIsolatedVectors;
private javax.swing.JPanel jPanelLoadSave;
private javax.swing.JPanel jPanelNormMedianTest;
private javax.swing.JPanel jPanelPaths;
private javax.swing.JPanel jPanelPiv;
private javax.swing.JPanel jPanelPivGeneral;
private javax.swing.JPanel jPanelPivWindow;
private javax.swing.JPanel jPanelPreferences;
private javax.swing.JPanel jPanelProfiles;
private javax.swing.JPanel jPanelSettings;
private javax.swing.JPanel jPanelSinglePixel;
private javax.swing.JPanel jPanelSubsRefDisp;
private javax.swing.JPanel jPanelThirdCompRecon;
private javax.swing.JPanel jPanelVector;
private javax.swing.JPanel jPanelVectorProcessing;
private javax.swing.JRadioButton jRadioButtonPivCascade;
private javax.swing.JRadioButton jRadioButtonPivConsecutive;
private javax.swing.JRadioButton jRadioButtonPivPairs;
private javax.swing.JRadioButton jRadioButtonPivSkip;
private javax.swing.JRadioButton jRadioButtonPivTwoImages;
private javax.swing.JRadioButton jRadioButtonSinglePixelSingleImages;
private javax.swing.JRadioButton jRadioButtonSinglePixelTwoImages;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPaneLeft;
private javax.swing.JScrollPane jScrollPaneRight;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JSeparator jSeparator10;
private javax.swing.JSeparator jSeparator11;
private javax.swing.JSeparator jSeparator12;
private javax.swing.JSeparator jSeparator13;
private javax.swing.JSeparator jSeparator14;
private javax.swing.JSeparator jSeparator15;
private javax.swing.JSeparator jSeparator2;
private javax.swing.JSeparator jSeparator3;
private javax.swing.JSeparator jSeparator4;
private javax.swing.JSeparator jSeparator5;
private javax.swing.JSeparator jSeparator6;
private javax.swing.JSeparator jSeparator7;
private javax.swing.JSeparator jSeparator8;
private javax.swing.JSeparator jSeparator9;
private javax.swing.JSpinner jSpinnerInvalidateIsolatedVectorsNumOfNeighbours;
private javax.swing.JSpinner jSpinnerPivMultiPass;
private javax.swing.JSpinner jSpinnerProfileDistance;
private javax.swing.JSpinner jSpinnerProfileNumberOf;
private javax.swing.JSpinner jSpinnerVectorColorLevels;
private javax.swing.JSplitPane jSplitPane;
private javax.swing.JTable jTablePivWindow;
private javax.swing.JTextField jTextFieldBackgroundImage;
private javax.swing.JTextField jTextFieldCmdNumOfLines;
private javax.swing.JTextField jTextFieldExpCorrFuncPass;
private javax.swing.JTextField jTextFieldExpCorrFuncVec;
private javax.swing.JTextField jTextFieldImgZoom;
private javax.swing.JTextField jTextFieldJpivLibrary;
private javax.swing.JTextField jTextFieldNormMedianTestNoiseLevel;
private javax.swing.JTextField jTextFieldNormMedianTestThreshold;
private javax.swing.JTextField jTextFieldPivHorPreShift;
private javax.swing.JTextField jTextFieldPivROIP1x;
private javax.swing.JTextField jTextFieldPivROIP1y;
private javax.swing.JTextField jTextFieldPivROIP2x;
private javax.swing.JTextField jTextFieldPivROIP2y;
private javax.swing.JTextField jTextFieldPivSkip;
private javax.swing.JTextField jTextFieldPivVerPreShift;
private javax.swing.JTextField jTextFieldProfileFixDataPoints;
private javax.swing.JTextField jTextFieldSinglePixelDomainHeight;
private javax.swing.JTextField jTextFieldSinglePixelDomainWidth;
private javax.swing.JTextField jTextFieldSinglePixelHorPreShift;
private javax.swing.JTextField jTextFieldSinglePixelROIP1x;
private javax.swing.JTextField jTextFieldSinglePixelROIP1y;
private javax.swing.JTextField jTextFieldSinglePixelROIP2x;
private javax.swing.JTextField jTextFieldSinglePixelROIP2y;
private javax.swing.JTextField jTextFieldSinglePixelVerPreShift;
private javax.swing.JTextField jTextFieldSubsRefDispDx;
private javax.swing.JTextField jTextFieldSubsRefDispDy;
private javax.swing.JTextField jTextFieldThirdCompReconDz;
private javax.swing.JTextField jTextFieldVectorAngle;
private javax.swing.JTextField jTextFieldVectorAxisLabel;
private javax.swing.JTextField jTextFieldVectorAxisScaling;
private javax.swing.JTextField jTextFieldVectorAxisTickSpacing;
private javax.swing.JTextField jTextFieldVectorBackgroundColorCodingColumn;
private javax.swing.JTextField jTextFieldVectorBackgroundColorCodingMax;
private javax.swing.JTextField jTextFieldVectorBackgroundColorCodingMin;
private javax.swing.JTextField jTextFieldVectorColorBarFormatString;
private javax.swing.JTextField jTextFieldVectorColorBarLabel;
private javax.swing.JTextField jTextFieldVectorColorBarUnitConversion;
private javax.swing.JTextField jTextFieldVectorColorMax;
private javax.swing.JTextField jTextFieldVectorColorMin;
private javax.swing.JTextField jTextFieldVectorHeadLength;
private javax.swing.JTextField jTextFieldVectorMultiColorTransparancy;
private javax.swing.JTextField jTextFieldVectorReferenceLabel;
private javax.swing.JTextField jTextFieldVectorReferenceLength;
private javax.swing.JTextField jTextFieldVectorReferenceUnitConversion;
private javax.swing.JTextField jTextFieldVectorScale;
private javax.swing.JTextField jTextFieldVectorZoom;
private javax.swing.JTree jTree;
// End of variables declaration//GEN-END:variables
private jpiv2.JPiv jpiv;
private DefaultMutableTreeNode tnSettings, tnPreferences, tnLoadSave,
tnCmd, tnPaths, tnVector, tnImg, tnPiv, tnPivGeneral, tnPivWindow,
tnSinglePixel, tnVectorProcessing, tnProfiles, tnNormMedianTest,
tninvalidateIsolatedVectors, tnSubsRefDisp, tnThirdCompRecon,
tnBrowser;
private String[] colHeads;
private String[][] tableContent;
private javax.swing.table.DefaultTableModel tableModel;
}