@Override public void propertyChanged(String key) { // Auto-generate an output name from the input grid. if (key.equals(_inputGrid.getKey())) { updateOutputName(); } else if (key.equals(_filterMethodProp.getKey())) { _kernelString.set(getKernel()); updateOutputName(); } else if (key.equals(_size.getKey())) { if (_filterMethodProp.get().getFilter().validateSize(_size.get())) { _kernelString.set(getKernel()); updateOutputName(); } } }
public void updateOutputName() { String nameSuffix = "_" + _filterMethodProp.get().getAbbrev() + _size.get(); String outputName = _inputGrid.isNull() ? "" : _inputGrid .get() .getMapper() .createOutputDisplayName(_inputGrid.get().getDisplayName(), nameSuffix); _outputGridName.set(outputName); }
/** @throws CoreException */ @Override public void run(IProgressMonitor monitor, ILogger logger, IRepository repository) throws CoreException { Grid3d property = _inputGrid.get(); int size = _size.get(); String propertyName = _outputGridName.get(); String outputComments = _outputComments.get(); float[][] kernel = _filterMethodProp.get().getFilter().getDefaultKernel(_size.get()); // apply the filter on the horizon float[][] result = _filterMethodProp.get().getFilter().execute(property, size, kernel, monitor); // Create the new property Grid3d newProperty = Grid3dFactory.create(repository, property, result, propertyName); newProperty.setComment(outputComments); try { newProperty.update(); } catch (IOException ex) { throw new RuntimeException(ex.getMessage()); } }
@Override public void validate(IValidation results) { // Validate the input grid is non-null and of the correct type. if (_inputGrid.isNull()) { results.error(_inputGrid, "No input grid specified."); } // Validate the output name is non-zero length. if (_outputGridName.isEmpty()) { results.error(_outputGridName, "No output grid name specified."); } // Validate the filter size if (!_filterMethodProp.get().getFilter().validateSize(_size.get())) { results.error(_size, _filterMethodProp.get().getFilter().getMessage()); } // Check if an entry already exists in the datastore. if (!_inputGrid.isNull() && !_outputGridName.isEmpty()) { if (Grid3dFactory.existsInStore(_inputGrid.get(), _outputGridName.get())) { results.warning(_outputGridName, "Exists in datastore and will be overwritten."); } } }
/** * Set the Y axis range of the viewable bounds * * @param yrange The Y axis range */ public void setYAxisRange(final AxisRange yrange) { _yAxisRange = yrange; _yaxisRange.set(yrange.toString()); }
/** * Set the X axis range of the viewable bounds * * @param xrange The X axis range */ public void setXAxisRange(final AxisRange xrange) { _xAxisRange = xrange; _xaxisRange.set(xrange.toString()); }