Build latest IJ1 full distro from source?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Build latest IJ1 full distro from source?

J. Lewis Muir-2
Hello!

Is it possible to build an IJ1 full distribution from source from the
command line?

I mean build a full distribution like

  http://wsr.imagej.net/distros/cross-platform/ij152.zip

which includes macros, plugins, and LUTs?

I tried

  https://github.com/imagej/ImageJA/releases/tag/v1.52s

but that just builds the JAR.

At

  https://imagej.net/download.html

it says to "use the Help > Update ImageJ command to upgrade to newer
versions," but I don't want to have to do that.  I want to install it
in a system location for all users, and want to do it from the command
line.  I basically want to build ij152.zip, but for the latest source
release which, at the moment, is 1.52s.

Thanks!

Lewis

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Build latest IJ1 full distro from source?

J. Lewis Muir-2
On 01/18, J. Lewis Muir wrote:

> Hello!
>
> Is it possible to build an IJ1 full distribution from source from the
> command line?
>
> I mean build a full distribution like
>
>   http://wsr.imagej.net/distros/cross-platform/ij152.zip
>
> which includes macros, plugins, and LUTs?
>
> I tried
>
>   https://github.com/imagej/ImageJA/releases/tag/v1.52s
>
> but that just builds the JAR.
>
> At
>
>   https://imagej.net/download.html
>
> it says to "use the Help > Update ImageJ command to upgrade to newer
> versions," but I don't want to have to do that.  I want to install it
> in a system location for all users, and want to do it from the command
> line.  I basically want to build ij152.zip, but for the latest source
> release which, at the moment, is 1.52s.
>
> Thanks!
>
> Lewis

Or maybe I should download the full distribution

  http://wsr.imagej.net/distros/cross-platform/ij152.zip

and then build the JAR from source

  https://github.com/imagej/ImageJA/releases/tag/v1.52s

and replace the JAR in the full distribution with the 1.52s JAR built
from source to get an up to date full distribution?

Thanks!

Lewis

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Build latest IJ1 full distro from source?

J. Lewis Muir-2
On 01/19, J. Lewis Muir wrote:

> Or maybe I should download the full distribution
>
>   http://wsr.imagej.net/distros/cross-platform/ij152.zip
>
> and then build the JAR from source
>
>   https://github.com/imagej/ImageJA/releases/tag/v1.52s
>
> and replace the JAR in the full distribution with the 1.52s JAR built
> from source to get an up to date full distribution?

Hmm, I think not because it seems that more than just the JAR can change
in the full distro version based on comparing 152a to 152r as downloaded
from

  https://imagej.nih.gov/ij/download/src/

which, after removing the ij directory and release-notes.html,
shows changes in IJ_Props.txt, aREADME.txt, build.xml, and
macros/SmoothWandTool.txt.  I've included the diff below.

So, I still don't know how to build the latest full distro from source.
I thought I might be able to do it by downloading ij152s-src.zip from

  https://imagej.nih.gov/ij/download/src/

but it doesn't exist!  The latest there is ij152r-src.zip in spite
of the fact that version 1.52s is listed as having been released on
December 10, 2019, at

  https://imagej.nih.gov/ij/notes.html

Thanks!

Lewis

----
$ diff -ru source-152a source-152r
diff -ru source-152a/IJ_Props.txt source-152r/IJ_Props.txt
--- source-152a/IJ_Props.txt 2018-04-09 19:43:48.000000000 -0500
+++ source-152r/IJ_Props.txt 2019-04-04 20:43:56.000000000 -0500
@@ -5,7 +5,7 @@

 # Note that commands must be unique.

-# Version 1.51
+# Version 1.52

 # Commands installed in the right-click popup menu
 # Overridden in StartupMacros
@@ -153,8 +153,8 @@
 stacks11="Orthogonal Views[H]",ij.plugin.Orthogonal_Views
 stacks12="Z Project...",ij.plugin.ZProjector
 stacks13="3D Project...",ij.plugin.Projector
-stacks14="Plot XY Profile",ij.plugin.StackPlotter
-stacks15="Plot Z-axis Profile",ij.plugin.ZAxisProfiler
+stacks14="Plot Z-axis Profile",ij.plugin.ZAxisProfiler
+stacks15="Measure Stack...",ij.plugin.SimpleCommands("measure")
 stacks16="Label...",ij.plugin.filter.StackLabeler
 stacks17="Statistics",ij.plugin.Stack_Statistics

@@ -166,14 +166,16 @@
 # Plugins installed in the Image/Stacks/Tools submenu
 tools_01="Combine...",ij.plugin.StackCombiner
 tools_02="Concatenate...",ij.plugin.Concatenator
-tools_03="Reduce...",ij.plugin.StackReducer
-tools_04="Reverse",ij.plugin.StackReverser
-tools_05="Insert...",ij.plugin.StackInserter
-tools_06="Montage to Stack...",ij.plugin.StackMaker
-tools_07="Make Substack...",ij.plugin.SubstackMaker
-tools_08="Grouped Z Project...",ij.plugin.GroupedZProjector
-tools_09="Set Label...",ij.plugin.SimpleCommands("set")
+tools_03="Grouped Z Project...",ij.plugin.GroupedZProjector
+tools_04="Insert...",ij.plugin.StackInserter
+tools_05="Magic Montage Tools",ij.plugin.SimpleCommands("magic")
+tools_06="Make Substack...",ij.plugin.SubstackMaker
+tools_07="Montage to Stack...",ij.plugin.StackMaker
+tools_08="Plot XY Profile",ij.plugin.StackPlotter
+tools_09="Reduce...",ij.plugin.StackReducer
 tools_10="Remove Slice Labels",ij.plugin.SimpleCommands("remove")
+tools_11="Reverse",ij.plugin.StackReverser
+tools_12="Set Label...",ij.plugin.SimpleCommands("set")

 # Plugins installed in the Image/Hyperstacks submenu
 hyperstacks01="New Hyperstack...",ij.plugin.HyperStackMaker
@@ -376,8 +378,9 @@
 macros02="Run...",ij.plugin.Macro_Runner
 macros03="Edit...",ij.plugin.Compiler("edit")
 macros04="Startup Macros...",ij.plugin.Commands("startup")
-macros05="Record...",ij.plugin.frame.Recorder
-macros06=-
+macros05="Interactive Interpreter...[j]",ij.plugin.SimpleCommands("interactive")
+macros06="Record...",ij.plugin.frame.Recorder
+macros07=-

 # Plugins installed in the Plugins/Shortcuts submenu
 shortcuts01="Add Shortcut... ",ij.plugin.Hotkeys("install")
@@ -432,31 +435,29 @@
 open03="Bat Cochlea Renderings (449K)",ij.plugin.URLOpener("bat-cochlea-renderings.zip")
 open04="Blobs (25K)[B]",ij.plugin.URLOpener("blobs.gif")
 open05="Boats (356K)",ij.plugin.URLOpener("boats.gif")
-open06="Bridge (174K)",ij.plugin.URLOpener("bridge.gif")
-open07="Cardio (768K, RGB DICOM)",ij.plugin.URLOpener("cardio.dcm.zip")
-open08="Cell Colony (31K)",ij.plugin.URLOpener("Cell_Colony.jpg")
-open09="Clown (14K)",ij.plugin.URLOpener("clown.jpg")
-open10="Confocal Series (2.2MB)",ij.plugin.URLOpener("confocal-series.zip")
-open11="CT (420K, 16-bit DICOM)",ij.plugin.URLOpener("ct.dcm.zip")
-open12="Dot Blot (7K)",ij.plugin.URLOpener("Dot_Blot.jpg")
-open13="Embryos (42K)",ij.plugin.URLOpener("embryos.jpg")
-open14="Fluorescent Cells (400K)",ij.plugin.URLOpener("FluorescentCells.zip")
-open15="Fly Brain (1MB)",ij.plugin.URLOpener("flybrain.zip")
-open16="Gel (105K)",ij.plugin.URLOpener("gel.gif")
-open17="HeLa Cells (1.3M, 48-bit RGB)",ij.plugin.URLOpener("hela-cells.zip")
-open18="Image with Overlay",ij.plugin.URLOpener("ImageWithOverlay.zip")
-open19="Leaf (36K)",ij.plugin.URLOpener("leaf.jpg")
-open20="Lena (68K)",ij.plugin.URLOpener("lena-std.tif")
-open21="Line Graph (21K)",ij.plugin.URLOpener("LineGraph.jpg")
-open22="Mitosis (26MB, 5D stack)",ij.plugin.URLOpener("Spindly-GFP.zip")
-open23="MRI Stack (528K)",ij.plugin.URLOpener("mri-stack.zip")
-open24="M51 Galaxy (177K, 16-bits)",ij.plugin.URLOpener("m51.zip")
-open25="Neuron (1.6M, 5 channels)",ij.plugin.URLOpener("Rat_Hippocampal_Neuron.zip")
-open26="Nile Bend (1.9M)",ij.plugin.URLOpener("NileBend.jpg")
-open27="Organ of Corti (2.8M, 4D stack)",ij.plugin.URLOpener("organ-of-corti.zip")
-open28="Particles (75K)",ij.plugin.URLOpener("particles.gif")
-open29="T1 Head (2.4M, 16-bits)",ij.plugin.URLOpener("t1-head.zip")
-open30="T1 Head Renderings (736K)",ij.plugin.URLOpener("t1-rendering.zip")
-open31="TEM Filter (112K)",ij.plugin.URLOpener("TEM_filter_sample.jpg")
-open32="Tree Rings (48K)",ij.plugin.URLOpener("Tree_Rings.jpg")
+open06="Cardio (768K, RGB DICOM)",ij.plugin.URLOpener("cardio.dcm.zip")
+open07="Cell Colony (31K)",ij.plugin.URLOpener("Cell_Colony.jpg")
+open08="Clown (14K)",ij.plugin.URLOpener("clown.jpg")
+open09="Confocal Series (2.2MB)",ij.plugin.URLOpener("confocal-series.zip")
+open10="CT (420K, 16-bit DICOM)",ij.plugin.URLOpener("ct.dcm.zip")
+open11="Dot Blot (7K)",ij.plugin.URLOpener("Dot_Blot.jpg")
+open12="Embryos (42K)",ij.plugin.URLOpener("embryos.jpg")
+open13="Fluorescent Cells (400K)",ij.plugin.URLOpener("FluorescentCells.zip")
+open14="Fly Brain (1MB)",ij.plugin.URLOpener("flybrain.zip")
+open15="Gel (105K)",ij.plugin.URLOpener("gel.gif")
+open16="HeLa Cells (1.3M, 48-bit RGB)",ij.plugin.URLOpener("hela-cells.zip")
+open17="Image with Overlay",ij.plugin.URLOpener("ImageWithOverlay.zip")
+open18="Leaf (36K)",ij.plugin.URLOpener("leaf.jpg")
+open19="Line Graph (21K)",ij.plugin.URLOpener("LineGraph.jpg")
+open20="Mitosis (26MB, 5D stack)",ij.plugin.URLOpener("Spindly-GFP.zip")
+open21="MRI Stack (528K)",ij.plugin.URLOpener("mri-stack.zip")
+open22="M51 Galaxy (177K, 16-bits)",ij.plugin.URLOpener("m51.zip")
+open23="Neuron (1.6M, 5 channels)",ij.plugin.URLOpener("Rat_Hippocampal_Neuron.zip")
+open24="Nile Bend (1.9M)",ij.plugin.URLOpener("NileBend.jpg")
+open25="Organ of Corti (2.8M, 4D stack)",ij.plugin.URLOpener("organ-of-corti.zip")
+open26="Particles (75K)",ij.plugin.URLOpener("particles.gif")
+open27="T1 Head (2.4M, 16-bits)",ij.plugin.URLOpener("t1-head.zip")
+open28="T1 Head Renderings (736K)",ij.plugin.URLOpener("t1-rendering.zip")
+open29="TEM Filter (112K)",ij.plugin.URLOpener("TEM_filter_sample.jpg")
+open30="Tree Rings (48K)",ij.plugin.URLOpener("Tree_Rings.jpg")

diff -ru source-152a/aREADME.txt source-152r/aREADME.txt
--- source-152a/aREADME.txt 2010-08-26 23:59:02.000000000 -0500
+++ source-152r/aREADME.txt 2018-07-04 18:14:14.000000000 -0500
@@ -1,7 +1,2 @@
 The ant utility (http://ant.apache.org/) will compile and run ImageJ using
-the build file (build.xml) in this directory. There is a version of ant at
-
-    http://imagej.nih.gov/ij/download/tools/ant/ant.zip
-
-set up to use the JVM distributed with the Windows version of ImageJ.
-The README included in the ZIP archive has more information.
+the build file (build.xml) in this directory.
\ No newline at end of file
Only in source-152a: applet.html
diff -ru source-152a/build.xml source-152r/build.xml
--- source-152a/build.xml 2017-09-26 11:13:48.000000000 -0500
+++ source-152r/build.xml 2018-06-23 00:04:06.000000000 -0500
@@ -17,7 +17,6 @@
     <copy file="images/microscope.gif" tofile="build/microscope.gif" />
     <copy file="images/about.jpg" tofile="build/about.jpg" />
  <copy file="plugins/MacAdapter.class" tofile="build/MacAdapter.class" />
- <copy file="plugins/MacClipboard.class" tofile="build/MacClipboard.class" />
     <copy todir="build/macros"><fileset dir="macros"/></copy>
     <!-- Build ij.jar. -->
     <jar jarfile="ij.jar" basedir="build"
Only in source-152r/macros: MagicMontageTools.txt
Only in source-152r/macros: MeasureStack.txt
diff -ru source-152a/macros/SmoothWandTool.txt source-152r/macros/SmoothWandTool.txt
--- source-152a/macros/SmoothWandTool.txt 2017-07-03 12:46:44.000000000 -0500
+++ source-152r/macros/SmoothWandTool.txt 2019-04-08 00:22:30.000000000 -0500
@@ -2,60 +2,42 @@
 //N.Vischer
 //01.07.17 20:20

-var
-polyX, polyY, count;
+var count, polyX, polyY

-processSelection();
-exit;
-
-macro "Smooth Wand Tool - C026R0055L55ffCf00F1144" {
-    run("Select None");
-    getCursorLoc(x, y, z, flags);
-    getThreshold(lowThr, hiThr);
-    if (hiThr==-1)
-        exit("This tool only works on thresholded images");
-    doWand(x, y);
-    processSelection();
-}
-
-function processSelection() {
-   getSelectionBounds(x, y, w, h);
-    if (w<2 || h<2)
-        exit("Width and height must be > 1 px");
-    if (selectionType != 4)
-        exit("No traced selection found");
-    getThreshold(lowThr, hiThr);
-    getSelectionCoordinates(xx, yy);
-    len = xx.length;
-    polyX = newArray(len);
-    polyY = newArray(len);
-    count = 0;
-    for(jj = 0; jj < len; jj++) {
-        x1 = xx[jj];
-        y1 = yy[jj];
-        x2 = xx[(jj+1)%len];
-        y2 = yy[(jj+1)%len];
-        dd = 1;
-        if (y1 == y2) {//horizontal separator
-            if (x1 > x2) dd = -1;
-            for(x = x1; x != x2; x+= dd){
-                processPixelPair(x, y1, x+dd, y1);
-            }
+getSelectionBounds(x, y, w, h);
+if (w<2 || h<2)
+    exit("Width and height must be > 1 px");
+if (selectionType != 4)
+    exit("No traced selection found");
+getThreshold(lowThr, hiThr);
+getSelectionCoordinates(xx, yy);
+len = xx.length;
+polyX = newArray(len);
+polyY = newArray(len);
+count = 0;
+for(jj = 0; jj < len; jj++) {
+    x1 = xx[jj];
+    y1 = yy[jj];
+    x2 = xx[(jj+1)%len];
+    y2 = yy[(jj+1)%len];
+    dd = 1;
+    if (y1 == y2) {//horizontal separator
+        if (x1 > x2) dd = -1;
+        for(x = x1; x != x2; x+= dd){
+            processPixelPair(x, y1, x+dd, y1);
         }
-        else {//vertical separator
-            if (y1 > y2) dd = -1;
-            for(y = y1; y != y2; y+= dd){
-                processPixelPair(x1, y, x1, y+dd);
-            }
+    }
+    else {//vertical separator
+        if (y1 > y2) dd = -1;
+        for(y = y1; y != y2; y+= dd){
+            processPixelPair(x1, y, x1, y+dd);
         }
     }
-    polyX = Array.trim(polyX, count);
-    polyY = Array.trim(polyY, count);
-    makeSelection("polygon", polyX, polyY);
-    do{ getCursorLoc(x, y, z, flags); wait(10);}
-        while(flags&16!=0);
-    run("Interpolate", "interval=1 adjust"); //after button released
 }
+polyX = Array.trim(polyX, count);
+polyY = Array.trim(polyY, count);
+makeSelection("polygon", polyX, polyY);
+run("Interpolate", "interval=1 adjust"); //after button released

 //processes neighbors of this separator line and adds vertex
 function processPixelPair(x1, y1, x2, y2) {
@@ -96,9 +78,3 @@
         polyY = Array.concat(polyY, polyY);
     }
 }
-
-
-
-
-
-
Only in source-152a/plugins: MacClipboard.class
Only in source-152a/plugins: MacClipboard.source
----

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Build latest IJ1 full distro from source?

J. Lewis Muir-2
On 01/20, J. Lewis Muir wrote:

> On 01/19, J. Lewis Muir wrote:
> > Or maybe I should download the full distribution
> >
> >   http://wsr.imagej.net/distros/cross-platform/ij152.zip
> >
> > and then build the JAR from source
> >
> >   https://github.com/imagej/ImageJA/releases/tag/v1.52s
> >
> > and replace the JAR in the full distribution with the 1.52s JAR built
> > from source to get an up to date full distribution?
>
> Hmm, I think not because it seems that more than just the JAR can change
> in the full distro version based on comparing 152a to 152r as downloaded
> from
>
>   https://imagej.nih.gov/ij/download/src/
>
> which, after removing the ij directory and release-notes.html,
> shows changes in IJ_Props.txt, aREADME.txt, build.xml, and
> macros/SmoothWandTool.txt.  I've included the diff below.
>
> So, I still don't know how to build the latest full distro from source.
> I thought I might be able to do it by downloading ij152s-src.zip from
>
>   https://imagej.nih.gov/ij/download/src/
>
> but it doesn't exist!  The latest there is ij152r-src.zip in spite
> of the fact that version 1.52s is listed as having been released on
> December 10, 2019, at
>
>   https://imagej.nih.gov/ij/notes.html

Ping?

Thanks to Michael, I now know that I can find ij152s-src.zip at

  https://wsr.imagej.net/src/

but still, other things beyond just ij.jar can change in ij152s-src.zip
compared to the ij152.zip cross-platform distro download.  How can I
build a full cross-platform distro from source, or is it not possible?

Should I start with

  http://wsr.imagej.net/distros/cross-platform/ij152.zip

and then just copy everything from

  https://wsr.imagej.net/src/ij152s-src.zip

into it, overwriting any files of the same name?

Or is there something that assembles a full cross-platform distro (i.e.,
fetches the macros, plugins, and LUTs that are packaged with it)?

Thanks!

Lewis

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Build latest IJ1 full distro from source?

J. Lewis Muir-2
On 01/21, J. Lewis Muir wrote:

> On 01/20, J. Lewis Muir wrote:
> > On 01/19, J. Lewis Muir wrote:
> > > Or maybe I should download the full distribution
> > >
> > >   http://wsr.imagej.net/distros/cross-platform/ij152.zip
> > >
> > > and then build the JAR from source
> > >
> > >   https://github.com/imagej/ImageJA/releases/tag/v1.52s
> > >
> > > and replace the JAR in the full distribution with the 1.52s JAR built
> > > from source to get an up to date full distribution?
> >
> > Hmm, I think not because it seems that more than just the JAR can change
> > in the full distro version based on comparing 152a to 152r as downloaded
> > from
> >
> >   https://imagej.nih.gov/ij/download/src/
> >
> > which, after removing the ij directory and release-notes.html,
> > shows changes in IJ_Props.txt, aREADME.txt, build.xml, and
> > macros/SmoothWandTool.txt.  I've included the diff below.
> >
> > So, I still don't know how to build the latest full distro from source.
> > I thought I might be able to do it by downloading ij152s-src.zip from
> >
> >   https://imagej.nih.gov/ij/download/src/
> >
> > but it doesn't exist!  The latest there is ij152r-src.zip in spite
> > of the fact that version 1.52s is listed as having been released on
> > December 10, 2019, at
> >
> >   https://imagej.nih.gov/ij/notes.html
>
> Ping?
>
> Thanks to Michael, I now know that I can find ij152s-src.zip at
>
>   https://wsr.imagej.net/src/
>
> but still, other things beyond just ij.jar can change in ij152s-src.zip
> compared to the ij152.zip cross-platform distro download.  How can I
> build a full cross-platform distro from source, or is it not possible?
>
> Should I start with
>
>   http://wsr.imagej.net/distros/cross-platform/ij152.zip
>
> and then just copy everything from
>
>   https://wsr.imagej.net/src/ij152s-src.zip
>
> into it, overwriting any files of the same name?
>
> Or is there something that assembles a full cross-platform distro (i.e.,
> fetches the macros, plugins, and LUTs that are packaged with it)?
>
> Thanks!
>
> Lewis

Hello, ImageJers!

I'm still not clear on how to build the latest full cross-platform
distro from source as noted above.  The above is my best guess, but it
seems awkward.  Does anyone know how to properly do it?

Thank you!

Lewis

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html