You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The SciJava Ops project is not built on those technologies,
although SciJava Ops Image did evolve from ImageJ Ops, and the
scijava-ops-legacy component enables backwards compatibility with
ImageJ and ImageJ2.
Copy file name to clipboardExpand all lines: ScriptingInFiji.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
-
# Scripting in ImageJ2
1
+
# Scripting in Fiji
2
2
3
-
Using SciJava Ops and ImageJ Ops2 within scripts provide the most powerful aspects of Ops. The following page will explain how you can write a script in ImageJ2's Script Editor that utilizes Ops for image processing.
3
+
Using SciJava Ops within scripts unlocks the most powerful aspects of Ops. The following page will explain how you can write a script in Fiji's Script Editor that utilizes Ops for image processing.
Copy file name to clipboardExpand all lines: docs/ops/doc/Installation.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,13 +2,13 @@
2
2
3
3
## Fiji
4
4
5
-
One easy way to use SciJava Ops is within ImageJ2/Fiji, using SciJava's Script Editor. **Note that to use ImageJ2/Fiji, you must use Java 11+. Instructions on using Java 11+ for ImageJ2/Fiji can be found [here](https://imagej.net/learn/faq#how-do-i-launch-imagej-with-a-different-version-of-java)**.
5
+
One easy way to use SciJava Ops is within [Fiji](https://fiji.sc), using SciJava's Script Editor. **Note that to use Fiji, you must use Java 11+. Instructions on using Java 11+ for Fiji can be found [here](https://imagej.net/learn/faq#how-do-i-launch-imagej-with-a-different-version-of-java)**.
6
6
7
-
### Installing the SciJava Ops update site
7
+
### Installing SciJava Ops
8
8
9
-
You can install the SciJava Ops update site (containing ImageJ Ops2, SciJava Ops, and all other required components) by following the [Update site tutorial](https://imagej.net/update-sites/following#add-update-sites).
9
+
You can install SciJava Ops into Fiji by enabling the SciJava Ops update site, as described in the [Update site tutorial](https://imagej.net/update-sites/following#add-update-sites).
10
10
11
-
1. With Fiji open, navigate to `Help --> Update...`
11
+
1. With Fiji open, navigate to `Help → Update...`
12
12
2. Click `Manage Update Sites`
13
13
3. In the `Search` bar at the top of the popup, search `SciJava Ops`
14
14
4. Find the `SciJava Ops` row, and check the checkbox in the `Active` column.
Copy file name to clipboardExpand all lines: docs/ops/doc/MigratingFromImageJOps.md
+9-6Lines changed: 9 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,12 +4,14 @@ The [ImageJ Ops](https://imagej.net/libs/imagej-ops/index) framework is the pred
4
4
5
5
## Upgrading pom-scijava
6
6
7
-
Before doing anything else, you should ensure that your version of pom-scijava is new enough to make use of SciJava 3 goodness.
7
+
Before doing anything else, you should ensure that your version of pom-scijava is new enough to make use of SciJava Ops goodness.
8
8
9
9
TODO: Replace with the pom-scijava version needed to grab this annotation processor.
10
10
11
-
Until the SciJava 3 annotation processor is added to pom-scijava, developers must add the following block of code to the `build` section of your POM:
11
+
Until the SciJava Ops annotation processor is integrated into [pom-scijava](https://github.com/scijava/pom-scijava), developers must add the following block of code to the `build` section of their project POM:
12
12
13
+
TODO: Replace with the pom-scijava version needed to grab this annotation processor.
14
+
TODO: Replace the SciJava Ops Indexer version with the correct initial version
13
15
```xml
14
16
<build>
15
17
<plugins>
@@ -19,14 +21,15 @@ Until the SciJava 3 annotation processor is added to pom-scijava, developers mus
@@ -54,7 +57,7 @@ SciJava Ops uses a separate annotation processor to record plugins at compile ti
54
57
55
58
Additional options include:
56
59
* Providing multiple names by replacing `names='name1'` with `names='name1,name2,...'` to allow your Op to be discoverable under multiple names
57
-
* Providing the Op's priority by appending `priority=<the priority>`. SciJava Ops uses the same priority values as ImageJ Ops2, and relative priorities can be retained by using the new SciJava Priority library.
60
+
* Providing the Op's priority by appending `priority=<the priority>`. SciJava Ops uses the same priority values as ImageJ Ops, and relative priorities can be retained by using the new SciJava Priority library.
58
61
59
62
The following diff shows the changes needed to replace the `@Plugin` annotation:
To access SciJava Ops's and ImageJ Ops2's installation, initialization, tutorial, troubleshooting and API reference documentation please visit the [SciJava Ops ReadTheDocs](https://ops.scijava.org/en/latest/index.html) website or build the documentation locally (see [building the reference documentation](https://pyimagej.readthedocs.io/en/latest/Development.html#building-the-reference-documentation) for more details).
3
+
To access SciJava Ops's installation, initialization, tutorial, troubleshooting and API reference documentation please visit the [SciJava Ops ReadTheDocs](https://ops.scijava.org/en/latest/index.html) website or build the documentation locally (see [building the reference documentation](https://pyimagej.readthedocs.io/en/latest/Development.html#building-the-reference-documentation) for more details).
Copy file name to clipboardExpand all lines: docs/ops/doc/WhyOps.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ SciJava Ops takes strides to ease these burdens by separating the *what* ("I wan
10
10
## What are the driving values of SciJava Ops?
11
11
12
12
1.**Consistency**: All Ops are called in the same way, regardless of the mechanisms used by the underlying framework. This means that you don't have to learn Python to call Ops written in Python, but it also means that you could pass the output from an Op written in Python to an Op written in Java, all with the same syntax!
13
-
2.**Reusability**: Ops extends Java's mantra of "write once, run anywhere" to image processing algorithms. Algorithms written for the SciJava Ops framework are usable as-is from any SciJava-compatible software project including ImageJ2/Fiji or from Python using PyImageJ.
13
+
2.**Reusability**: Ops extends Java's mantra of "write once, run anywhere" to image processing algorithms. Algorithms written for the SciJava Ops framework are usable as-is from any SciJava-compatible software project including Fiji, or from Python using PyImageJ.
14
14
3.**Reproducibility**: Ops are deterministic: calling the same op twice with the same arguments yields the same result, always. Ops are also versioned, meaning that if you use the same Op environment with the same library versions, you will always have reproducible workflows.
15
15
4.**Flexibility**: Through adaptation and simplification pathways, Ops can be applied to all kinds of inputs, relaxing considerations for data structures. For example, binary numerical Ops are automatically looped and parallelized to operate on images. New data types extending core interfaces can be supported immediately, without rewriting existing algorithms.
16
16
5.**Safety**: An op may consist of any number of strongly typed inputs, and calls to access those ops can be as specific as desired. This allows analyst users to use ops without regard for data structure, while developers can rely on the type safety guarantees needed for optimization.
Copy file name to clipboardExpand all lines: docs/ops/doc/WritingYourOwnOpPackage.md
+14-16Lines changed: 14 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,19 +4,16 @@ Right now, there are two ways to write and expose your own Ops.
4
4
5
5
## Ops Through Javadoc
6
6
7
-
Ops can be declared directly through Javadoc - this yields a couple of benefits, namely:
8
-
* No additional runtime dependencies needed for simple Ops
7
+
The recommended way to declare your Ops is through Javadoc. This approach requires no additional runtime dependencies—only a correctly formatted `@implNote` tag in the javadoc block of each routine you wish to make available as an Op, plus the scijava-ops-indexer annotation processor component present on your annotation processor path at compile time.
9
8
10
-
This mechanism of Op declaration is used by the ImageJ Ops2 project
9
+
### Adding the SciJava Ops Indexer to your POM
11
10
12
-
### Adding the SciJava Javadoc Parser to your POM
11
+
Ops written through Javadoc are discovered by the SciJava Ops Indexer, which creates a file `op.yaml` containing all of the data needed to import each Op you declare.
13
12
14
-
Ops written through Javadoc are discovered by the SciJava Javadoc Parser, which creates a file `op.yaml` containing all of the data needed to import each Op you declare.
15
-
16
-
Until the SciJava 3 annotation processor is added to pom-scijava, developers must add the following block of code to the `build` section of your POM:
13
+
Until the SciJava Ops annotation processor is integrated into [pom-scijava](https://github.com/scijava/pom-scijava), developers must add the following block of code to the `build` section of their project POM:
17
14
18
15
TODO: Replace with the pom-scijava version needed to grab this annotation processor.
19
-
TODO: Replace the SciJava Javadoc Parser version with the correct initial version
16
+
TODO: Replace the SciJava Ops Indexer version with the correct initial version
20
17
```xml
21
18
<build>
22
19
<plugins>
@@ -26,14 +23,15 @@ TODO: Replace the SciJava Javadoc Parser version with the correct initial versio
26
23
<annotationProcessorPaths>
27
24
<path>
28
25
<groupId>org.scijava</groupId>
29
-
<artifactId>scijava-javadoc-parser</artifactId>
30
-
<version>${project.version}</version>
26
+
<artifactId>scijava-ops-indexer</artifactId>
27
+
<version>1.0.0</version>
31
28
</path>
32
29
</annotationProcessorPaths>
33
30
<fork>true</fork>
34
31
<showWarnings>true</showWarnings>
35
32
<compilerArgs>
36
-
<arg>-Ajavadoc.packages="-"</arg>
33
+
<arg>-Aparse.ops=true</arg>
34
+
<arg>-Aop.version="${project.version}"</arg>
37
35
</compilerArgs>
38
36
</configuration>
39
37
</plugin>
@@ -141,9 +139,9 @@ Note again that the only supported functional interfaces that can be used withou
141
139
142
140
## Ops using JPMS
143
141
144
-
The other way to expose Ops is by using the [Java Platform Module System](https://www.oracle.com/corporate/features/understanding-java-9-modules.html). This mechanism is used to expose the Ops declared within SciJava Ops Engine, and may be preferred for its usage of plain Java mechanisms:
142
+
The other way to expose Ops is by using the [Java Platform Module System](https://www.oracle.com/corporate/features/understanding-java-9-modules.html). This mechanism is used to expose the Ops declared within SciJava Ops Engine, and may be preferred for its usage of plain Java mechanisms and strong type safety:
145
143
146
-
In opposition to the Javadoc mechanism, all projects wishing to declare Ops using JPMS must add a dependency on the SciJava Ops SPI library:
144
+
In contrast to the Javadoc mechanism, all projects wishing to declare Ops using JPMS must add a dependency on the SciJava Ops SPI library:
147
145
148
146
```xml
149
147
<dependencies>
@@ -280,7 +278,7 @@ class DoubleSizeOp implements Function<double[], Double> {
280
278
281
279
### Element-wise Ops
282
280
283
-
Simple pixel-wise operations like addition, inversion, and more can be written on a single pixel (i.e. `RealType`) - therefore, ImageJ Ops2 takes care to automagically adapt pixel-wise Ops across a wide variety of image types. If you would like to write a pixel-wise Op, we recommend the following structure.
281
+
Simple pixel-wise operations like addition, inversion, and more can be written on a single pixel (i.e. `RealType`) - therefore, SciJava Ops Image takes care to automagically adapt pixel-wise Ops across a wide variety of image types. If you would like to write a pixel-wise Op, we recommend the following structure.
Copy file name to clipboardExpand all lines: docs/ops/doc/index.rst
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@
5
5
6
6
Welcome to the Ops documentation!
7
7
====================================
8
-
SciJava Ops is a library for extensible algorithm retrieval and execution. ImageJ Ops2 is a library for scientific image processing, built atop SciJava Ops and deriving from `ImageJ Ops <https://imagej.net/libs/imagej-ops/>`_.
8
+
SciJava Ops is a library for extensible algorithm retrieval and execution. SciJava Ops Image is a collection of Ops for scientific image processing, built on SciJava Ops.
9
9
10
10
The combination of these libraries allows declarative image analysis workflows, allowing users to think more about the *what* than the *how*.
11
11
@@ -22,7 +22,7 @@ The combination of these libraries allows declarative image analysis workflows,
0 commit comments