public static class IIToRAIOutputII.Subtract<T extends NumericType<T>> extends AbstractBinaryHybridCFI1<IterableInterval<T>,RandomAccessibleInterval<T>,IterableInterval<T>> implements Ops.Math.Subtract, Contingent
SpecialOp.Flavor
ALIASES, NAME
Constructor and Description |
---|
Subtract() |
Modifier and Type | Method and Description |
---|---|
void |
compute(IterableInterval<T> input1,
RandomAccessibleInterval<T> input2,
IterableInterval<T> output)
Computes the output given two inputs.
|
boolean |
conforms()
True if the contingency holds; i.e., the current circumstances conform to
the contingency's requirements.
|
IterableInterval<T> |
createOutput(IterableInterval<T> input1,
RandomAccessibleInterval<T> input2)
Create an output object given two inputs.
|
IIToRAIOutputII.Subtract<T> |
getIndependentInstance()
Gets a reference to an instance of this object which can be used
simultaneously from a second thread while this instance is being used from
"its" thread.
|
void |
initialize()
Initializes the object.
|
void |
mutate1(IterableInterval<T> arg,
RandomAccessibleInterval<T> in)
Mutates the first argument in-place.
|
in1, in2, out, setInput1, setInput2, setOutput
ops, setEnvironment
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
ops, setEnvironment
mutate, run, run
calculate, calculate, createOutput
compute
in, in1
in2, setInput, setInput1, setInput2
run, run
calculate, createOutput
compute
setOutput
candidates, filterArity, op
public void initialize()
Initializable
initialize
in interface Initializable
public boolean conforms()
Contingent
conforms
in interface Contingent
public IterableInterval<T> createOutput(IterableInterval<T> input1, RandomAccessibleInterval<T> input2)
BinaryOutputFactory
createOutput
in interface BinaryOutputFactory<IterableInterval<T extends NumericType<T>>,RandomAccessibleInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
input1
- first input which determines how to create the outputinput2
- second input which determines how to create the outputpublic void compute(IterableInterval<T> input1, RandomAccessibleInterval<T> input2, IterableInterval<T> output)
BinaryComputerOp
compute
in interface BinaryComputerOp<IterableInterval<T extends NumericType<T>>,RandomAccessibleInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
input1
- first argument to the computation, which
must be non-nullinput2
- second argument to the computation, which
must be non-nulloutput
- object where the computation's result will be stored, which
must be non-null and a different object than
input1
and input2
public void mutate1(IterableInterval<T> arg, RandomAccessibleInterval<T> in)
BinaryInplace1Op
mutate1
in interface BinaryInplace1Op<IterableInterval<T extends NumericType<T>>,RandomAccessibleInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
arg
- First argument of the BinaryInplace1Op
, which
will be mutated.in
- Second argument of the BinaryInplace1Op
, which will
not be mutated.public IIToRAIOutputII.Subtract<T> getIndependentInstance()
Threadable
It is expected that subclasses which override this method will narrow the return type appropriately. We do not enforce this at compile time via recursive generics due to their complexity: they introduce a host of typing difficulties.
getIndependentInstance
in interface BinaryOp<IterableInterval<T extends NumericType<T>>,RandomAccessibleInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface BinaryComputerOp<IterableInterval<T extends NumericType<T>>,RandomAccessibleInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface NullaryComputerOp<IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface UnaryComputerOp<IterableInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface BinaryFunctionOp<IterableInterval<T extends NumericType<T>>,RandomAccessibleInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface NullaryFunctionOp<IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface UnaryFunctionOp<IterableInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface BinaryHybridCF<IterableInterval<T extends NumericType<T>>,RandomAccessibleInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface BinaryHybridCFI1<IterableInterval<T extends NumericType<T>>,RandomAccessibleInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface BinaryHybridCI1<IterableInterval<T extends NumericType<T>>,RandomAccessibleInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface NullaryHybridCF<IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface UnaryHybridCF<IterableInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface UnaryHybridCFI<IterableInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface UnaryHybridCI<IterableInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface BinaryInplace1Op<IterableInterval<T extends NumericType<T>>,RandomAccessibleInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface UnaryInplaceOp<IterableInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface NullaryOp<IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface SpecialOp
getIndependentInstance
in interface UnaryOp<IterableInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface Threadable
Copyright © 2014–2022 ImageJ. All rights reserved.