Open mdoube opened 3 years ago
grep -ir 'imagej.net' *
provides
CONTRIBUTING.md:* [Maven](https://imagej.net/Maven)
CONTRIBUTING.md:* [Git](https://imagej.net/Git)
CONTRIBUTING.md:1) Create a [fork](https://imagej.net/How_to_contribute_to_an_existing_plugin_or_library)
Legacy/util/pom.xml: <url>https://imagej.net/BoneJ_experimental</url>
Legacy/util/pom.xml: <url>https://imagej.net/User:Rdom</url>
Legacy/util/pom.xml: <url>https://imagej.net/User:Rueden</url>
Legacy/util/pom.xml: <url>https://imagej.net/User:Hinerm</url>
Legacy/bonej/pom.xml: <url>https://imagej.net/BoneJ_experimental</url>
Legacy/bonej/pom.xml: <url>https://imagej.net/User:Rdom</url>
Legacy/bonej/pom.xml: <url>https://imagej.net/User:Rueden</url>
Legacy/bonej/pom.xml: <url>https://imagej.net/User:Hinerm</url>
Legacy/bonej/src/main/java/org/bonej/DebugLauncher.java: final ImagePlus image = IJ.openImage("https://imagej.net/images/bat-cochlea-volume.zip");
Legacy/bonej/src/main/java/org/bonej/plugins/SliceGeometry.java: gd.addHelp("https://imagej.net/BoneJ2#Slice_geometry");
Legacy/bonej/src/main/java/org/bonej/plugins/Connectivity.java: * Skeletonize3D_ plugin: <a href="https://imagej.net/Skeletonize3D">
Legacy/bonej/src/main/java/org/bonej/plugins/ReporterOptions.java: dialog.addHelp("https://imagej.net/BoneJ2#Usage_reporting");
Legacy/bonej/src/main/java/org/bonej/plugins/ParticleCounter.java: gd.addHelp("https://imagej.net/BoneJ#Particle_Analyser");
Modern/wrapperPlugins/pom.xml: <url>https://imagej.net/BoneJ_experimental</url>
Modern/wrapperPlugins/pom.xml: <url>https://imagej.net/User:Rdom</url>
Modern/wrapperPlugins/pom.xml: <url>https://imagej.net/User:Rueden</url>
Modern/wrapperPlugins/pom.xml: <url>https://imagej.net/User:Hinerm</url>
Modern/wrapperPlugins/src/main/java/org/bonej/wrapperPlugins/wrapperUtils/UsageReporterOptions.java: platformService.open(new URL("https://imagej.net/BoneJ2#Usage_reporting"));
Modern/ops/pom.xml: <url>https://imagej.net/BoneJ_experimental</url>
Modern/ops/pom.xml: <url>https://imagej.net/User:Rdom</url>
Modern/ops/pom.xml: <url>https://imagej.net/User:Rueden</url>
Modern/ops/pom.xml: <url>https://imagej.net/User:Hinerm</url>
Modern/utilities/pom.xml: <url>https://imagej.net/BoneJ_experimental</url>
Modern/utilities/pom.xml: <url>https://imagej.net/User:Rdom</url>
Modern/utilities/pom.xml: <url>https://imagej.net/User:Rueden</url>
pom.xml: <url>https://imagej.net/BoneJ2</url>
pom.xml: <url>https://imagej.net/User:Rdom</url>
pom.xml: <url>https://imagej.net/User:Rueden</url>
pom.xml: <url>https://imagej.net/User:Hinerm</url>
README.md:The code is in two main modules:
Legacyand
Modern. The code in
Legacyis originally from [BoneJ1](https://bonej.org/legacy), but it has been refactored to manage its dependencies via Maven. Unlike BoneJ1, the plug-ins in
Legacywork with Java 8 and the latest version of [Fiji](https://imagej.net/Fiji). However some of them still depend on [3D_Viewer](https://github.com/fiji/3D_Viewer), which is known to have issues with the latest versions of MacOS (see the [forum](https://forum.image.sc)).
README.md:The main development happens in the
Modernmodule. It hosts the modernized versions of BoneJ plug-ins, which fully comply with the current ImageJ API. Our goal is that as code matures,
Modernhosts only "thin" wrapper plug-ins. They should be responsible only for interacting with the user, and collecting and displaying results. The wrappers call algorithms from the [Ops framework](https://imagej.net/ImageJ_Ops), specialised algorithms from BoneJ's own
Ops, and utility code from
imagej-common,
scifioand other such core libraries.
@mdoube I might be able to help a little with this.
I might be able to help a little with this.
Thanks! In priority order:
GenericDialog.addHelp()
callsREADME.md
pom.xml
entriesCONTRIBUTING.md
Roughly in order of the likelihood of being clicked & followed and the expectation of technical skill of the clicker, and only when the document has actually been migrated to imagej.github.io.@rgaiacs is it possible also to grep over the user docs themselves and the developer Wiki?
@mdoube I can run greg
over https://github.com/bonej-org/BoneJ2/wiki. What do you mean by "user docs"? https://imagej.net/BoneJ2 ?
What do you mean by "user docs"?
I don't remember!
someone just moved the BoneJ user docs from https://imagej.github.io/BoneJ to https://imagej.github.io/plugins/bonej
Updated bonej.org to use imagej.github.io/plugins/bonej
bonej.org could do with a grep for imagej.net
too.
Output of grep -ir 'imagej.net' * for https://github.com/bonej-org/BoneJ2/wiki
Analyse-skeleton-wrapper.md:This page documents the BoneJ2 wrapper plug-in of the [AnalyzeSkeleton](http://imagej.net/AnalyzeSkeleton) plugin written by Ignacio Arganda-Carreras. We wanted to create wrapper instead of just using the plug-in directly for the following reasons:
Analyse-skeleton-wrapper.md:
AnalyzeSkeletonanalyses binary skeleton images. It counts the skeletons' junctions, triple and quadruple points and branches. It also measures the average and maximum length of the branches. Furthermore it creates an array of graphs which describe the structure of each skeleton in the image. See the [wiki page](http://imagej.net/AnalyzeSkeleton) of
AnalyzeSkeletonor [Intertrabecular angles](https://github.com/bonej-org/BoneJ2/wiki/Intertrabecular-angle) for more details.
Analyse-skeleton-wrapper.md: - See the [wiki page](http://imagej.net/AnalyzeSkeleton#Table_of_results)
Analyse-skeleton-wrapper.md: - See the [wiki page](http://imagej.net/AnalyzeSkeleton#Detailed_information)
Architecture-and-project-description.md: - For example,
AnalyzeSkeleton_fetched from ImageJ [Maven repository](http://maven.imagej.net/) instead of included in the
org.bonej.*packages
Backlog.md:* When messages for [contingency checks](http://javadoc.imagej.net/ImageJ/net/imagej/ops/Contingent.html) become possible, add explanations to Ops why matchings fail
Backlog.md: - Can http://imagej.net/Report_a_Bug be used for this?
BoneJ-Ops.md:One of the most important goals of the project is to make the algorithms in BoneJ reusable. Rewriting them as [ImageJ ops](http://imagej.net/ImageJ_Ops) is the best way to achieve this - the mantra of the framework is _"write once, run anywhere"_. This page discusses first what kind of code makes for a good op, and then goes into more detail explaining special ops, and op matching. Finally it discusses how to first add an op to BoneJ, and then move it to
imagej-ops. BoneJ-Ops.md:Ops are low level operations, and shouldn't deal with higher level concerns. For example, an op may check that its input image has a certain number of dimensions, but it shouldn't worry if those dimensions are spatial or not. Furthermore, ops often handle such abstract types, e.g. [
RandomAccessibleInterval](https://javadoc.scijava.org/ImgLib2/net/imglib2/RandomAccessibleInterval.html) that they don't have the necessary metadata available. Thus if necessary, the types of the image dimensions (available e.g. in the [
ImgPlus](https://javadoc.scijava.org/ImageJ/net/imagej/ImgPlus.html) class) should be checked higher up before the op is called. In fact, in order to be reusable, ops should use as generic input types and as specific output types as possible.
BoneJ-Ops.md:Special ops allow pre-matching ops that can improve performance. This is handy especially if you want to repeatedly call the same op. You pre-match this by calling one of the convenience methods in the [
Functions](https://javadoc.scijava.org/ImageJ/net/imagej/ops/special/function/Functions.html) class. For example, if you want to match 'EulerCharacteristic26NFloating', you call 'Hybrids.unaryCF(opService, EulerCharacteristic26NFloating.class, DoubleType.class, interval);' and store the result to a variable of the type
UnaryHybridCF<RandomAccessibleInterval. In this case the
intervalargument has to be a concrete instance of a class that implements
RandomAccessibleInterval. It cannot be
RandomAccessibleInterval.class, because the op implements
Contingent, and the particular implementation would throw a
NullPointerExceptionif the first input wasn't concrete.
BoneJ-Ops.md:With special ops you can also "lock" certain inputs. For example, after matching you can call the [
Rotate3d](https://javadoc.scijava.org/ImageJ/net/imagej/ops/linalg/rotate/Rotate3d.html) either via
calculate(Vector3d)``BoneJ-Ops.md:When reimplementing the _Fractal dimension_ plug-in I first created a single op, which took in a binary image, and returned a collection of points that could have a linear curve fitted into them. However in the process I realized that there's an independent pre-step to the method: first it hollows objects in the input image. Thus, I created a separate op called [
Outline](https://javadoc.scijava.org/ImageJ/net/imagej/ops/morphology/outline/Outline.html) which works on any n-dimensional image. First _Fractal dimension_ calls the
Outlineop, and then feeds the result to
BoxCountop, which calculates the collection of points mentioned earlier. This refined design shows the value of first keeping the implementation within the BoneJ project.
Code-style.md:Formatting should be consistent across files. This is somewhat difficult to achieve if developers use different IDEs, because of their differing auto formatting settings. One can export and import these settings between the different installations of the same application, but across IDEs it's challenging. In my experience even when you have the _Eclipse code formatter_ plug-in installed on IntelliJ, the resulting formatting doesn't quite match the original on Eclipse. For more information, see this [wiki page](http://imagej.net/Eclipse_code_style_profiles_and_IntelliJ).
Code-style.md:Members should be ordered so that first come all the fields of a class, then the methods, and finally sub-classes. Then these should be sorted according to their visibility. BoneJ follows the ordering presented in the [ImageJ wiki](http://imagej.net/Coding_style#Ordering_of_code_blocks). Finally, methods of the same visibility etc. should be sorted alphabetically. Keeping the order consistent across the source files, makes it easier to find a specific part.
Development-cycle.md:1. Create the fork ([instructions](http://imagej.net/How_to_contribute_to_an_existing_plugin_or_library#Fork))
Home.md:Welcome to the BoneJ technical wiki! For BoneJ user documentation, please see [ImageJ wiki](http://imagej.net/BoneJ2).
Installing-BoneJ.md:0. [Download](http://imagej.net/Fiji/Downloads) the latest version of Fiji for your operating system Installing-Maven.md:[Maven](https://en.wikipedia.org/wiki/Apache_Maven) is a build automation tool. It makes building your project, and managing its dependencies much easier than doing things by hand. For an in-depth guide on how to use Maven in an ImageJ related project see http://imagej.net/Maven.
Inter–trabecular-angles.md:First
IntertrabecularAngleWrapperskeletonises the input image by calling the [Skeletonize3D](http://imagej.net/Skeletonize3D) plugin. Then it feeds the result to [AnalyzeSkeleton](http://imagej.net/AnalyzeSkeleton), which creates an array of graphs (
Graph[]`) from the skeletons in the image. Each graph describes one skeleton. They consist of edges and vertices (or nodes). Each edge describes a branch in the skeleton and vertices the branching and end points. Manual-tests.md:You need to have ImageJ or Fiji [installed](http://imagej.net/Downloads#Installation), and know how to use [Maven](https://github.com/bonej-org/BoneJ2/wiki/Maven).
Release-notes.md:These are the release notes for the individual maven artefacts of the project. A BoneJ release consists of a certain version of all the maven artefacts below, because BoneJ is a multi-module project. BoneJ user releases are available for download by the ImageJ updater from [the update site](https://sites.imagej.net/BoneJ/). SNAPSHOT artefacts are available for developers from [maven.scijava.org](https://maven.scijava.org/).
Release-notes.md:* Analyse Skeleton called from the [AnalyzeSkeleton](http://imagej.net/AnalyzeSkeleton) plugin
Release-notes.md:* Skeletonise called from the [Skeletonize3D](http://imagej.net/Skeletonize3D)plugin
Release-notes.md:* Thickness called from the [Local Thickness](http://imagej.net/Local_Thickness) plugin
Release-notes.md:* Erode/Dilate called from the [VIB](http://imagej.net/3D_Binary_Filters) plugin
Release-notes.md:_Artefact discontinued. Tools now distributed [independently](https://imagej.net/PQCT)_
Release-notes.md:* Fixes a bug in
QuadricToEllipsoid- [
Contingent](http://javadoc.scijava.org/ImageJ/net/imagej/ops/Contingent.html) implementation was incorrect, and made ellipsoid fitting fail.
Releasing-BoneJ.md:2. Update the imagej.net Wiki with a [redirect](https://github.com/bonej-org/BoneJ2/issues/145) for new plugins
Releasing-BoneJ.md:3. [Upload](https://imagej.net/How_to_set_up_and_populate_an_update_site) new artefact(s) to the update site.
Shared-table.md:The
SharedTableis a singleton class that holds an instance of [
Table<DefaultColumn](http://javadoc.scijava.org/ImageJ/net/imagej/table/Table.html). BoneJ plug-ins can share this table by calling its public API. They can add data, and display their results by making the table their output. This is handy when you're interested in multiple measures for the same image.
Skeletonise-wrapper.md:This page documents the BoneJ wrapper class of the [
Skeletonize3D_](http://imagej.net/Skeletonize3D) plugin written by Ignacio Arganda-Carreras. We wanted to create wrapper instead of just using the plug-in directly for the following reasons:
Technical-specifications.md:This is the main page of the technical specification for BoneJ2 - a collection of plugins for [Fiji](http://imagej.net/Fiji)/[ImageJ2](http://imagej.net/ImageJ2). Most of the project's code reimplement functionality from [BoneJ1](https://github.com/bonej-org/bonej). However the code has been heavily refactored to improve quality among other things. A lot of it has been moved away from the BoneJ packages to other components such as [
net.imagej.ops](https://github.com/imagej/imagej-ops/tree/master/src/main/java/net/imagej/ops) and [
org.scijava](https://github.com/scijava/scijava-common).
Technical-specifications.md:* All pQCT related tools have been moved to [Fiji/PQCT](https://github.com/Fiji/PQCT/). They have their own update site, and can be [installed](http://imagej.net/PQCT) without BoneJ.
Technical-specifications.md:* Won't implement. Modern ImageJ has a search bar that finds help from wiki.imagej.net and forum.imagej.net. Documentation will move there.
Technical-specifications.md:* Works in ImageJ "out-of-the-box" when [SCIFIO is enabled](http://imagej.net/SCIFIO)
Technical-specifications.md:* Works in ImageJ "out-of-the-box" when [SCIFIO is enabled](http://imagej.net/SCIFIO)
Technical-specifications.md:* Works in ImageJ "out-of-the-box" when [SCIFIO is enabled](http://imagej.net/SCIFIO)
Technical-specifications.md:* When using [legacy UI](http://imagej.net/Compatibility#The_ImageJ_legacy_UI), doesn't work with ```ij-1.50e.jar``` or older. Tested successfully with ```ij-1.51g.jar```.
Technical-specifications.md:* Without SCIFIO, use _Read Stratec File_ from [Fiji/PQCT](http://imagej.net/PQCT)
ThicknessWrapper.md:This page documents the wrapper class of the [
LocalThickness_](http://imagej.net/Local_Thickness) plugin in BoneJ. The plugin is used through a wrapper instead of called directly to:
@mdoube I will fix the wiki next week.
Where is the code of bonej.org?
Where is the code of bonej.org?
Not in a convenient place, because it is intended to be changed only very infrequently. Checking it would need to be done with a web scrape.
imagej.net/BoneJ now forwards to https://imagej.net/plugins/bonej so maybe don't need to do any more.
Describe the bug ImageJ Wiki docs have been / are being moved from imagej.net to https://imagej.github.io/
Links need to be updated.
index.html
legacy.html
Additional context https://forum.image.sc/t/imagej-wiki-is-read-only/39672
the BoneJ page just got moved to https://imagej.net/plugins/bonej from https://imagej.github.io/BoneJ