public static class IIToIIOutputII.Subtract<T extends NumericType<T>> extends AbstractBinaryHybridCFI<IterableInterval<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,
IterableInterval<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,
IterableInterval<T> input2)
Create an output object given two inputs.
|
IIToIIOutputII.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,
IterableInterval<T> in)
Mutates the first argument in-place.
|
void |
mutate2(IterableInterval<T> in,
IterableInterval<T> arg)
Mutates the second argument in-place.
|
in1, in2, out, setInput1, setInput2, setOutput
ops, setEnvironment
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
ops, setEnvironment
run, run
mutate
calculate, calculate, createOutput
run, run
calculate, createOutput
compute
compute
setOutput
in, in1
in2, setInput, setInput1, setInput2
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, IterableInterval<T> input2)
BinaryOutputFactory
createOutput
in interface BinaryOutputFactory<IterableInterval<T extends NumericType<T>>,IterableInterval<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, IterableInterval<T> input2, IterableInterval<T> output)
BinaryComputerOp
compute
in interface BinaryComputerOp<IterableInterval<T extends NumericType<T>>,IterableInterval<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, IterableInterval<T> in)
BinaryInplace1Op
mutate1
in interface BinaryInplace1Op<IterableInterval<T extends NumericType<T>>,IterableInterval<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 void mutate2(IterableInterval<T> in, IterableInterval<T> arg)
BinaryInplaceOp
mutate2
in interface BinaryInplaceOp<IterableInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
in
- First argument of the BinaryInplaceOp
, which will
not be mutated.arg
- Second argument of the BinaryInplaceOp
, which
will be mutated.public IIToIIOutputII.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>>,IterableInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface BinaryComputerOp<IterableInterval<T extends NumericType<T>>,IterableInterval<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>>,IterableInterval<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>>,IterableInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface BinaryHybridCFI<IterableInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface BinaryHybridCFI1<IterableInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface BinaryHybridCI<IterableInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface BinaryHybridCI1<IterableInterval<T extends NumericType<T>>,IterableInterval<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>>,IterableInterval<T extends NumericType<T>>,IterableInterval<T extends NumericType<T>>>
getIndependentInstance
in interface BinaryInplaceOp<IterableInterval<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.