private double getSample(Band band, int pixelX, int pixelY, int level) { return ProductUtils.getGeophysicalSampleDouble(band, pixelX, pixelY, level); }
private double readEnergy(Placemark pin, Band spectralBand) { final MultiLevelModel multiLevelModel = ImageManager.getMultiLevelModel(spectralBand); final AffineTransform i2mTransform = multiLevelModel.getImageToModelTransform(0); final AffineTransform m2iTransform = multiLevelModel.getModelToImageTransform(level); final Point2D modelPixel = i2mTransform.transform(pin.getPixelPos(), null); final Point2D imagePixel = m2iTransform.transform(modelPixel, null); int pinPixelX = (int) Math.floor(imagePixel.getX()); int pinPixelY = (int) Math.floor(imagePixel.getY()); return ProductUtils.getGeophysicalSampleDouble(spectralBand, pinPixelX, pinPixelY, level); }
private String getPixelString(Band band) { if (!_pixelPosValid) { return RasterDataNode.INVALID_POS_TEXT; } if (isPixelValid(band, _pixelX, _pixelY, _level)) { if (band.isFloatingPointType()) { return String.valueOf((float) ProductUtils.getGeophysicalSampleDouble(band, _pixelX, _pixelY, _level)); } else { return String.valueOf(ProductUtils.getGeophysicalSampleLong(band, _pixelX, _pixelY, _level)); } } else { return RasterDataNode.NO_DATA_TEXT; } }
private static double getValue(Band band, int pixelX, int pixelY, int currentLevel) { final Rectangle pixelRect = new Rectangle(pixelX, pixelY, 1, 1); if (band.getValidMaskImage() != null) { final RenderedImage validMask = band.getValidMaskImage().getImage(currentLevel); final Raster validMaskData = validMask.getData(pixelRect); if (validMaskData.getSample(pixelX, pixelY, 0) > 0) { return ProductUtils.getGeophysicalSampleDouble(band, pixelX, pixelY, currentLevel); } else { return band.getNoDataValue(); } } else { return ProductUtils.getGeophysicalSampleDouble(band, pixelX, pixelY, currentLevel); } }
@Override public Double getValueAt(int rowIndex, int columnIndex) { if (unableToFetchValues()) { return null; } final int centerOffset = MathUtils.floorInt(size / 2.0); int pixelX = centerPixelX - centerOffset + columnIndex; int pixelY = centerPixelY - centerOffset + rowIndex; if (band.isPixelValid(pixelX, pixelY)) { return ProductUtils.getGeophysicalSampleDouble(band, pixelX, pixelY, 0); } else { final Rectangle imageRectangle = new Rectangle(band.getSceneRasterWidth(), band.getSceneRasterHeight()); if (imageRectangle.contains(pixelX, pixelY)) { return Double.NaN; } return null; } }
private void fillDatasetWithCursorSeries(List<DisplayableSpectrum> spectra, XYSeriesCollection dataset, JFreeChart chart) { if (isShowingCursorSpectrum() && getCurrentView().isCurrentPixelPosValid()) { for (DisplayableSpectrum spectrum : spectra) { XYSeries series = new XYSeries(spectrum.getName()); final Band[] spectralBands = spectrum.getSelectedBands(); for (Band spectralBand : spectralBands) { final float wavelength = spectralBand.getSpectralWavelength(); final double energy = ProductUtils.getGeophysicalSampleDouble(spectralBand, pixelX, pixelY, level); if (energy != spectralBand.getGeophysicalNoDataValue()) { series.add(wavelength, energy); } } updateRenderer(dataset.getSeriesCount(), Color.BLACK, spectrum, chart); dataset.addSeries(series); } } }