Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move user documentation links from imagej.net/BoneJ to https://imagej.net/plugins/bonej #295

Open
1 of 4 tasks
mdoube opened this issue Mar 24, 2021 · 10 comments
Open
1 of 4 tasks
Assignees

Comments

@mdoube
Copy link
Member

mdoube commented Mar 24, 2021

Describe the bug
ImageJ Wiki docs have been / are being moved from imagej.net to https://imagej.github.io/

Links need to be updated.

  • bonej.org index.html
  • bonej.org legacy.html
  • README.md Update README.md #297
  • elsewhere such as the 'Help' buttons in some plugins' dialogs.

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

@mdoube mdoube self-assigned this Mar 24, 2021
@rgaiacs
Copy link
Collaborator

rgaiacs commented Mar 24, 2021

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: LegacyandModern. 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 inLegacywork 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 ownOps, and utility code from imagej-common, scifio and other such core libraries.

@mdoube I might be able to help a little with this.

@mdoube
Copy link
Member Author

mdoube commented Mar 25, 2021

I might be able to help a little with this.

Thanks! In priority order:

  • GenericDialog.addHelp() calls
  • README.md
  • pom.xml entries
  • javadoc
  • CONTRIBUTING.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.

@mdoube
Copy link
Member Author

mdoube commented Mar 25, 2021

@rgaiacs is it possible also to grep over the user docs themselves and the developer Wiki?

@rgaiacs
Copy link
Collaborator

rgaiacs commented Mar 25, 2021

@mdoube I can run greg over https://github.com/bonej-org/BoneJ2/wiki. What do you mean by "user docs"? https://imagej.net/BoneJ2 ?

@mdoube mdoube changed the title Move user documentation links from imagej.net/BoneJ to https://imagej.github.io/BoneJ Move user documentation links from imagej.net/BoneJ to https://imagej.github.io/plugins/bonej Apr 10, 2021
@mdoube
Copy link
Member Author

mdoube commented Apr 10, 2021

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

@mdoube
Copy link
Member Author

mdoube commented Apr 19, 2021

Updated bonej.org to use imagej.github.io/plugins/bonej

mdoube added a commit that referenced this issue Apr 19, 2021
@mdoube
Copy link
Member Author

mdoube commented Apr 20, 2021

bonej.org could do with a grep for imagej.net too.

@rgaiacs
Copy link
Collaborator

rgaiacs commented Apr 23, 2021

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:AnalyzeSkeleton_analyses 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) ofAnalyzeSkeleton_ or [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 theorg.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, DoubleType>. In this case the intervalargument has to be a concrete instance of a class that implementsRandomAccessibleInterval. It cannot be RandomAccessibleInterval.class, because the op implements Contingent, and the particular implementation would throw a NullPointerException if 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 toBoxCount op, 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 IntertrabecularAngleWrapper skeletonises 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 SharedTable is a singleton class that holds an instance of [Table<DefaultColumn, Double>](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?

@mdoube
Copy link
Member Author

mdoube commented Apr 23, 2021

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.

@mdoube
Copy link
Member Author

mdoube commented Jun 17, 2021

imagej.net/BoneJ now forwards to https://imagej.net/plugins/bonej so maybe don't need to do any more.

@mdoube mdoube changed the title Move user documentation links from imagej.net/BoneJ to https://imagej.github.io/plugins/bonej Move user documentation links from imagej.net/BoneJ to https://imagej.net/plugins/bonej Aug 12, 2021
This was referenced Aug 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants