private String createToolTip(final Band band) { StringBuilder tooltip = new StringBuilder(); append(tooltip, band.getDescription()); if (band.getSpectralWavelength() > 0.0) { append(tooltip, String.format("%s nm", band.getSpectralWavelength())); if (band.getSpectralBandwidth() > 0.0) { append(tooltip, String.format("+/-%s nm", 0.5 * band.getSpectralBandwidth())); } } append(tooltip, String.format("%d x %d pixels", band.getRasterWidth(), band.getRasterHeight())); if (band instanceof VirtualBand) { append(tooltip, String.format("Expr.: %s", ((VirtualBand) band).getExpression())); } if (band.getUnit() != null) { append(tooltip, String.format(" (%s)", band.getUnit())); } return tooltip.toString(); }
private float[][] getSpectralWvl(String[] bandNames) { float[][] wvl = new float[2][bandNames.length]; for (int i = 0; i < bandNames.length; i++) { wvl[0][i] = sourceProduct.getBand(bandNames[i]).getSpectralWavelength(); wvl[1][i] = sourceProduct.getBand(bandNames[i]).getSpectralBandwidth(); } return wvl; }
@Override protected boolean verifyUserInput() { final SpectralUnmixingFormModel formModel = form.getFormModel(); if (formModel.getSourceProduct() == null) { showErrorDialog("No source product selected."); return false; } final Map<String, Object> parameterMap = parameterSupport.getParameterMap(); updateParameterMap(parameterMap); final Endmember[] endmembers = (Endmember[]) parameterMap.get("endmembers"); final String[] sourceBandNames = (String[]) parameterMap.get("sourceBandNames"); final double minBandwidth = (Double) parameterMap.get("minBandwidth"); double[] sourceWavelengths = new double[sourceBandNames.length]; double[] sourceBandwidths = new double[sourceBandNames.length]; for (int i = 0; i < sourceBandNames.length; i++) { final Band sourceBand = formModel.getSourceProduct().getBand(sourceBandNames[i]); sourceWavelengths[i] = sourceBand.getSpectralWavelength(); sourceBandwidths[i] = sourceBand.getSpectralBandwidth(); } if (!matchingWavelength(endmembers, sourceWavelengths, sourceBandwidths, minBandwidth)) { showErrorDialog("One or more source wavelengths do not fit\n" + "to one or more endmember spectra.\n\n" + "Consider increasing the maximum wavelength deviation."); return false; } return true; }
spectrumData[i][band_description_index] = spectralBand.getDescription(); spectrumData[i][band_wavelength_index] = spectralBand.getSpectralWavelength(); spectrumData[i][band_bandwidth_ndex] = spectralBand.getSpectralBandwidth(); spectrumData[i][band_unit_index] = spectralBand.getUnit();
targetBand.setNoDataValueUsed((componentMetadata.getNoDataValue() > -1)); targetBand.setSpectralWavelength(componentMetadata.getWavelength(idx) > 0 ? componentMetadata.getWavelength(idx) : srcBand.getSpectralWavelength()); targetBand.setSpectralBandwidth(componentMetadata.getBandwidth(idx) > 0 ? componentMetadata.getBandwidth(idx) : srcBand.getSpectralBandwidth()); targetBand.setScalingFactor(srcBand.getScalingFactor()); targetBand.setScalingOffset(srcBand.getScalingOffset());
targetBand.setNoDataValueUsed(false); targetBand.setSpectralWavelength(srcBand.getSpectralWavelength()); targetBand.setSpectralBandwidth(srcBand.getSpectralBandwidth()); targetBand.setScalingFactor(srcBand.getScalingFactor()); targetBand.setScalingOffset(srcBand.getScalingOffset());
addEntry("Spectral band index:", String.valueOf(band.getSpectralBandIndex()), ""); addEntry("Wavelength:", String.valueOf(band.getSpectralWavelength()), "nm"); addEntry("Bandwidth:", String.valueOf(band.getSpectralBandwidth()), "nm"); addEntry("Solar flux:", String.valueOf(band.getSolarFlux()), "mW/(m^2*nm)"); } else if (getRaster() instanceof TiePointGrid) {
targetBand.setSpectralBandIndex(band.getSpectralBandIndex()); targetBand.setSpectralWavelength(band.getSpectralWavelength()); targetBand.setSpectralBandwidth(band.getSpectralBandwidth()); targetBand.setSolarFlux(band.getSolarFlux()); targetBand.setUnit(Kompsat2Constants.KOMPSAT2_UNIT);
targetBand.setNoDataValueUsed(srcBand.isNoDataValueUsed()); targetBand.setSpectralWavelength(srcBand.getSpectralWavelength()); targetBand.setSpectralBandwidth(srcBand.getSpectralBandwidth()); targetBand.setScalingFactor(srcBand.getScalingFactor()); targetBand.setScalingOffset(srcBand.getScalingOffset());
targetBand.setNoDataValueUsed((componentMetadata.getNoDataValue() > -1)); targetBand.setSpectralWavelength(componentMetadata.getWavelength(idx) > 0 ? componentMetadata.getWavelength(idx) : srcBand.getSpectralWavelength()); targetBand.setSpectralBandwidth(componentMetadata.getBandwidth(idx) > 0 ? componentMetadata.getBandwidth(idx) : srcBand.getSpectralBandwidth()); targetBand.setScalingFactor(srcBand.getScalingFactor()); targetBand.setScalingOffset(srcBand.getScalingOffset());
private void setBandProperties(Band targetBand, Band band) { targetBand.setSpectralBandIndex(band.getSpectralBandIndex()); targetBand.setSpectralWavelength(band.getSpectralWavelength()); targetBand.setSpectralBandwidth(band.getSpectralBandwidth()); targetBand.setSolarFlux(band.getSolarFlux()); targetBand.setUnit(band.getUnit()); targetBand.setNoDataValue(band.getNoDataValue()); targetBand.setNoDataValueUsed(true); targetBand.setScalingFactor(band.getScalingFactor()); targetBand.setScalingOffset(band.getScalingOffset()); targetBand.setUnit(band.getUnit()); targetBand.setDescription(band.getDescription()); }
targetBand.setGeophysicalNoDataValue(srcBand.getGeophysicalNoDataValue()); targetBand.setSpectralWavelength(srcBand.getSpectralWavelength()); targetBand.setSpectralBandwidth(srcBand.getSpectralBandwidth()); targetBand.setScalingFactor(srcBand.getScalingFactor()); targetBand.setScalingOffset(srcBand.getScalingOffset());
targetBand.setValidPixelExpression(firstSourceBand.getValidPixelExpression()); targetBand.setSpectralWavelength(firstSourceBand.getSpectralWavelength()); targetBand.setSpectralBandwidth(firstSourceBand.getSpectralBandwidth());