public DelayedPositionEvent(final ImageDisplay display, final AxisType axis) { super(display); if (display.dimensionIndex(axis) < 0) { throw new IllegalArgumentException("Invalid axis: " + axis); } this.axis = axis; }
public AxisEvent(final ImageDisplay display, final AxisType axis) { super(display); if (display.dimensionIndex(axis) < 0) { throw new IllegalArgumentException("Invalid axis: " + axis); } this.axis = axis; }
private void fillIndex(ImageDisplay disp, AxisType axis, long[] workspace) { final int index = disp.dimensionIndex(axis); if (index != -1) workspace[index] = disp.getLongPosition(index); } }
/** * Returns the calibration values that will be present in the output data. * This method assumes all calibrations are linear and should be avoided. Use * getOutputCalibratedAxes() for access to calibration information. * * @deprecated */ @Deprecated public double[] getOutputCalibration(final AxisType[] outputAxes) { final double[] cal = new double[outputAxes.length]; int a = 0; for (int i = 0; i < outputAxes.length; i++) { final int axisIndex = display.dimensionIndex(outputAxes[i]); if (axisIndex >= 0) cal[a++] = display.axis(axisIndex).averageScale(0, 1); } return cal; }
/** Creates an animation for the given {@link ImageDisplay}. */ public Animation(final ImageDisplay display) { this.display = display; display.getContext().inject(this); // assign default animation options if (display.numDimensions() > 2) { if (display.dimensionIndex(Axes.TIME) >= 0) { // animation over time is preferred by default axis = Axes.TIME; } else if (display.dimensionIndex(Axes.Z) >= 0) { // failing that, animation over Z is OK axis = Axes.Z; } else { // no preferred animation axes; use first non-spatial axis axis = display.axis(2).type(); } final int axisIndex = display.dimensionIndex(axis); last = display.dimension(axisIndex) - 1; } }
final int axisIndex = display.dimensionIndex(axis); long min, max; if (originOne) {
private void createSliders() { if (display.dimensionIndex(axis) >= 0) continue; // axis still active sliderPanel.remove(axisSliders.get(axis)); sliderPanel.remove(axisLabels.get(axis));
final DatasetView outView = imgDispService.getActiveDatasetView(output); final List<ColorTable> inputColorTables = inView.getColorTables(); final int inputChanAxis = input.dimensionIndex(Axes.CHANNEL); final List<List<Long>> inputRanges = def.getInputRanges(); for (int i = 0; i < inputColorTables.size(); i++) {
private void setDisplayRanges(SamplingDefinition def, ImageDisplay output) { final ImageDisplay input = def.getDisplay(); final DatasetView inView = imgDispService.getActiveDatasetView(input); final DatasetView outView = imgDispService.getActiveDatasetView(output); final int inputChanAxis = input.dimensionIndex(Axes.CHANNEL); final List<List<Long>> inputRanges = def.getInputRanges(); for (int i = 0; i < inView.getChannelCount(); i++) { int outIndex = outputColorTableNumber(inputRanges, i, inputChanAxis); if (outIndex >= 0) { double min = inView.getChannelMin(i); double max = inView.getChannelMax(i); outView.setChannelRange(outIndex, min, max); } } } }
(axisType == Axes.CHANNEL)) final int axisIndex = display.dimensionIndex(axisType); final long size = display.dimension(axisIndex); final AxisSubrange subrange = new AxisSubrange(0, size - 1);
/** * A convenience method for defining a SamplingDefinition that returns a * single UV plane of an ImageDisplay. U and V are defined by the user. * * @param display The ImageDisplay to sample * @param uAxis The U axis of the sample space * @param vAxis The V axis of the sample space * @return The specified SamplingDefinition */ public static SamplingDefinition sampleUVPlane(final ImageDisplay display, final AxisType uAxis, final AxisType vAxis) { final SamplingDefinition definition = new SamplingDefinition(display); final Data data = display.getActiveView().getData(); for (int i = 0; i < data.numDimensions(); i++) { AxisType axisType = data.axis(i).type(); if ((axisType == uAxis) || (axisType == vAxis)) { final int axisIndex = display.dimensionIndex(axisType); final long size = display.dimension(axisIndex); final AxisSubrange subrange = new AxisSubrange(0, size - 1); definition.constrain(axisType, subrange); } else { // other axis final long pos = display.getLongPosition(axisType); final AxisSubrange subrange = new AxisSubrange(pos); definition.constrain(axisType, subrange); } } return definition; }