Oddity -when the LUT is changed the display range as seen on the screen is reset,
but the reported display range returned by getMinAndMAX is unchanged. At the end of the macro the actual display is the full range 0-255, but reported range is 65-121. And I missing something or is this a genuine problem ImageJ 1.52v from FIJI // changing the LUT resets the display range print("\\Clear"); newImage("Untitled", "8-bit ramp", 256, 32, 1);// ramp. getMinAndMax(minDis, maxDis);// check display range. print("Orig display range",minDis, maxDis); wait(3000);// delay see the image. run("Grays");// LUT. setMinAndMax(65, 121);// change display range. getMinAndMax(minDisGray, maxDisGray);// check display range. print("changed display range",minDisGray, maxDisGray); wait(3000);// delay see the image. run("Fire");;// change LUT. getMinAndMax(minDis16, maxDis16);// check display range. print("Fire display range",minDis16, maxDis16); Jeremy Adler BioVis Uppsala u När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Hi Jeremy,
Yes, I can reproduce it in the latest daily build. The image display does not get set to the min and max values. As soon as you execute the B/C command it gets set correctly, so I suppose that there is an update or range set call missing somewhere. Cheers Gabriel On Wednesday, 8 April 2020 09:01:41 BST you wrote: > Oddity -when the LUT is changed the display range as seen on the screen is > reset, but the reported display range returned by getMinAndMAX is > unchanged. At the end of the macro the actual display is the full range > 0-255, but reported range is 65-121. > And I missing something or is this a genuine problem ImageJ 1.52v from > FIJI > // changing the LUT resets the display range > print("\\Clear"); > newImage("Untitled", "8-bit ramp", 256, 32, 1);// ramp. > getMinAndMax(minDis, maxDis);// check display range. > print("Orig display range",minDis, maxDis); > wait(3000);// delay see the image. > run("Grays");// LUT. > setMinAndMax(65, 121);// change display range. > getMinAndMax(minDisGray, maxDisGray);// check display range. > print("changed display range",minDisGray, maxDisGray); > wait(3000);// delay see the image. > run("Fire");;// change LUT. > getMinAndMax(minDis16, maxDis16);// check display range. > print("Fire display range",minDis16, maxDis16); > > Jeremy Adler > BioVis > Uppsala u > > > > > > > > > När du har kontakt med oss på Uppsala universitet med e-post så innebär det > att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det > kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ > E-mailing Uppsala University means that we will process your personal data. > For more information on how this is performed, please read here: > http://www.uu.se/en/about-uu/data-protection-policy > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Any help gratefully received.
I am trying to build a modular JavaFX application using ImageJ as a Java library under Java 11 with a NetBeans maven driven project. My first port of call was to use the IntroToImageJAPI project based upon the example at https://github.com/imagej/tutorials/tree/master/maven-projects/intro-to-imagej-api <https://github.com/imagej/tutorials/tree/master/maven-projects/intro-to-imagej-api> I copied this project to my local hard disk and building with command line "mvn compile” Under my default Java 11 installation this failed, to I switched to Java 1.8 and it succeeded in building. I’ve spent days trying various options like adding the module-info.java file, moving the main class into a package trying different recommendations for the pom and the module-info file and at every turn, failure. So if anyone can help with… 1. Is there a version of ImageJ that can be used as a library for my own Java 11 compliant / JavaFX application and if so where do I get it? 2. Is there an SSCCE maven project for using ImageJ as a library using Java modules and is fully Java 11 compliant? Failing this I will try and fall back and use Image 1.x though will that play nice with JavaFX if I avoid using any of the ImageJ UI features? ——— Of no doubt no interest to anyone, but I lament the myriad of complexities brought through the evolution of Java. Generics, Modules, Lambdas and Annotations whilst no doubt all useful feel like the sort of language layering that make what was once simple now obscure. It reminds me of what happened to the elegant simplicity of K&R C when C++ moseyed along with the macro preprocessor, pre compilation, and the STL library. Plain ugly. The original K&R C book was a slim tome that made it easy to unleash your imagination and get creative. Java now it feels like hurdles at every step. Perhaps Oracle’s GraalVM will give a performance leg up to Python or a new clean and simple language. Ignore this, just a personal grouchy gripe whilst I am solitary lockdown! Wishing everyone stays health and happy. P.S. For anyone wanting to try or use karyotyping software during this hellish period of Coronavirus we are allowing its use free of charge and free of any commitment whatsoever.Our attempt to put something back. https://www.karyotyper.com/ <https://www.karyotyper.com/> -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
On 08.04.20 12:40, Michael Ellis wrote: > Any help gratefully received. > > I am trying to build a modular JavaFX application using ImageJ as a Java library under Java 11 with a NetBeans maven driven project. > > My first port of call was to use the IntroToImageJAPI project based upon the example at > > https://github.com/imagej/tutorials/tree/master/maven-projects/intro-to-imagej-api <https://github.com/imagej/tutorials/tree/master/maven-projects/intro-to-imagej-api> > > I copied this project to my local hard disk and building with command line "mvn compile” > > Under my default Java 11 installation this failed, to I switched to Java 1.8 and it succeeded in building. > > I’ve spent days trying various options like adding the module-info.java file, moving the main class into a package trying different recommendations for the pom and the module-info file and at every turn, failure. So if anyone can help with… > > 1. Is there a version of ImageJ that can be used as a library for my own Java 11 compliant / JavaFX application and if so where do I get it? Yes, it's extemely painful to setup JavaFX+ImageJ, but as far as I can tell ij.jar itself is no problem (even if compiled with JDK8). I just had to 1. Remove MacAdapter.class from ij.jar. JDK9+ confuses it with a module-info.class 2. Make sure to have the following line in /META-INF/MANIFEST.MF in ij.jar: Automatic-Module-Name: ij 3. If you have a modular JavaFX app, add the following line to your module-info.java: requires ij; 4. To run it, include the following options in the command line argument: --module-path path-to-ij.jar;path-to-other-jars --add-modules=ij,javafx.base,javafx.controls,org,whatever-module-else-you-need Note that, for the module path, multiple paths to different jar locations need to be separated by a semicolon (on Windows) or a colon (Linux). Hope it helps, Thomas -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
In reply to this post by Jeremy Adler
> On Apr 8, 2020, at 4:01 AM, Jeremy Adler <[hidden email]> wrote:
> > Oddity -when the LUT is changed the display range as seen on the screen is reset, > but the reported display range returned by getMinAndMAX is unchanged. > At the end of the macro the actual display is the full range 0-255, but reported range is 65-121. > > And I missing something or is this a genuine problem ImageJ 1.52v from FIJI This bug is fixed in the ImageJ 1.52v19 daily build and in the 1.52v release candidate. -wayne > > // changing the LUT resets the display range > print("\\Clear"); > newImage("Untitled", "8-bit ramp", 256, 32, 1);// ramp. > getMinAndMax(minDis, maxDis);// check display range. > print("Orig display range",minDis, maxDis); > wait(3000);// delay see the image. > run("Grays");// LUT. > setMinAndMax(65, 121);// change display range. > getMinAndMax(minDisGray, maxDisGray);// check display range. > print("changed display range",minDisGray, maxDisGray); > wait(3000);// delay see the image. > run("Fire");;// change LUT. > getMinAndMax(minDis16, maxDis16);// check display range. > print("Fire display range",minDis16, maxDis16); > > Jeremy Adler > BioVis > Uppsala u -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
In reply to this post by Peterbauer Thomas
Dear Thomas,
Thank you for you reply, I have some questions about your reply (below) due to my lack of understanding. I apologise. Firstly, before we even get to the JavaFX, I just want to use the latest ImageJ distribution with a Java 11 Modules project building with Maven - Is https://github.com/imagej/tutorials/tree/master/maven-projects/intro-to-imagej-api a good starting point? - If it is what edits do I need to make to this project pom.xml - Does this project use the recommended version of ImageJ? I have just created a public gitlab repository with what i have so far (which does not work) Yuu can get it at: https://gitlab.com/Michael51773/java11moduleimagej <https://gitlab.com/Michael51773/java11moduleimagej>o If you or anyone is able to provide guidance to getting this work then I will leave it up as a recipe for others. At present I get… As you can see the pom that ships with the example rejects the use of a JDK that is not 1.8.x I have tried to cut the source example to the bear minimum SSCCE to get the ball rolling. — Michael Ellis macbokpro:Java11ImageJ michaelellis$ java -version java version "11.0.6" 2020-01-14 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.6+8-LTS) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.6+8-LTS, mixed mode) macbokpro:Java11ImageJ michaelellis$ mvn -version Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T20:00:29+01:00) Maven home: /usr/local/Cellar/maven/3.6.1/libexec Java version: 11.0.6, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-11.0.6.jdk/Contents/Home Default locale: en_GB, platform encoding: UTF-8 OS name: "mac os x", version: "10.11.6", arch: "x86_64", family: "mac" macbokpro:Java11ImageJ michaelellis$ mvn compile [INFO] Scanning for projects... [INFO] [INFO] ----------------< imagej-tutorials:intro-to-imagej-api >---------------- [INFO] Building Intro to ImageJ API with Java 11 1.0.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-rules) @ intro-to-imagej-api --- [INFO] Adding ignore: module-info [INFO] Adding ignore: META-INF/versions/*/module-info [INFO] Adding ignore: org.apache.hadoop.yarn.*.package-info [INFO] Adding ignore: org.apache.spark.unused.UnusedStubClass [INFO] Adding ignore: org.hibernate.stat.ConcurrentStatisticsImpl [INFO] Adding ignore: org.junit.runner.Runner [INFO] Adding ignore: module-info [WARNING] Rule 2: org.apache.maven.plugins.enforcer.RequireJavaVersion failed with message: Detected JDK Version: 11.0.6 is not in the allowed range [1.8.0-101,1.8.9999]. [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 7.261 s [INFO] Finished at: 2020-04-08T17:43:35+01:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce (enforce-rules) on project intro-to-imagej-api: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed. -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException macbokpro:Java11ImageJ michaelellis$ > On 8 Apr 2020, at 13:09, Thomas Peterbauer <[hidden email]> wrote: > > > On 08.04.20 12:40, Michael Ellis wrote: >> Any help gratefully received. >> >> I am trying to build a modular JavaFX application using ImageJ as a Java library under Java 11 with a NetBeans maven driven project. >> >> My first port of call was to use the IntroToImageJAPI project based upon the example at >> >> https://github.com/imagej/tutorials/tree/master/maven-projects/intro-to-imagej-api <https://github.com/imagej/tutorials/tree/master/maven-projects/intro-to-imagej-api> >> >> I copied this project to my local hard disk and building with command line "mvn compile” >> >> Under my default Java 11 installation this failed, to I switched to Java 1.8 and it succeeded in building. >> >> I’ve spent days trying various options like adding the module-info.java file, moving the main class into a package trying different recommendations for the pom and the module-info file and at every turn, failure. So if anyone can help with… >> >> 1. Is there a version of ImageJ that can be used as a library for my own Java 11 compliant / JavaFX application and if so where do I get it? > > Yes, it's extemely painful to setup JavaFX+ImageJ, but as far as I can > tell ij.jar itself is no problem (even if compiled with JDK8). I just had to > > 1. Remove MacAdapter.class from ij.jar. JDK9+ confuses it with a > module-info.class > 2. Make sure to have the following line in /META-INF/MANIFEST.MF in ij.jar: > > Automatic-Module-Name: ij > > 3. If you have a modular JavaFX app, add the following line to your > module-info.java: > > requires ij; > > 4. To run it, include the following options in the command line argument: > > --module-path path-to-ij.jar;path-to-other-jars > --add-modules=ij,javafx.base,javafx.controls,org,whatever-module-else-you-need > > Note that, for the module path, multiple paths to different jar > locations need to be separated by a semicolon (on Windows) or a colon > (Linux). > > Hope it helps, > > Thomas > > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html I am attempting to use Maven for the build process. Michael Ellis (Managing Director) Digital Scientific UK Ltd. http://www.dsuk.biz <http://www.dsuk.biz/> [hidden email] tel: +44(0)1223 911215 The Commercial Centre 6 Green End Cambridge CB23 7DY === END OF EMAIL === -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html Layout.jpeg (29K) Download Attachment |
If I create a 4 channel, 16bit CompositeImage, assign a LUT to the 4th channel, and then convert the CompositeImage to 8 bit, the assigned LUT is lost.
You can recreate the problem with this ImageJMacro: newImage("HyperStack", "16-bit composite-mode label", 256, 256, 4, 1, 1); setSlice(4); run("Cyan"); setSlice(1); run("8-bit"); setSlice(4); Not after running the macro, that the LUT for channel 4 has default to its default value of being Grays This is not my actual use case, I am using ImageJ as a callable library but, of course after converting my 16bit stack to 8 bit, I lose my LUT assignments. Is there a fix or a better way of doing this? This seems to be the case for both Image 1.52u and for 2.0.0-rc-69/15sp (as part if Fiji distribution) -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Yep, i can repeat this and it seems to be the case for any channel in any composite image.
Best wishes Kees ________________________________ From: Michael Ellis <[hidden email]> Sent: 09 April 2020 11:11 To: [hidden email] <[hidden email]> Subject: LUT being lost When Converting Stack from 16bit to 8 bit If I create a 4 channel, 16bit CompositeImage, assign a LUT to the 4th channel, and then convert the CompositeImage to 8 bit, the assigned LUT is lost. You can recreate the problem with this ImageJMacro: newImage("HyperStack", "16-bit composite-mode label", 256, 256, 4, 1, 1); setSlice(4); run("Cyan"); setSlice(1); run("8-bit"); setSlice(4); Not after running the macro, that the LUT for channel 4 has default to its default value of being Grays This is not my actual use case, I am using ImageJ as a callable library but, of course after converting my 16bit stack to 8 bit, I lose my LUT assignments. Is there a fix or a better way of doing this? This seems to be the case for both Image 1.52u and for 2.0.0-rc-69/15sp (as part if Fiji distribution) -- ImageJ mailing list: https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fimagej.nih.gov%2Fij%2Flist.html&data=02%7C01%7Ckrs5%40leicester.ac.uk%7C4f004bea42c54359bfe908d7dc6e68ae%7Caebecd6a31d44b0195ce8274afe853d9%7C0%7C0%7C637220239075645895&sdata=BuUAaGn%2Fsl%2FUYtqVELSigD4QoXpPYbP8wNSVGsEsp40%3D&reserved=0 -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
In reply to this post by Michael P Ellis
As a follow up to this. For my use case, in Java, converting a 16 bit CompositeImage to 8 bit CompositeImage preserving LUTS, this seems to work:
CompositeImage ci = createTestImage(1024, 1024); LUT[] luts = ci.getLuts(); // Copy luts new StackConverter(ci).convertToGray8(); ci.setTitle(ci.getTitle()); ci.setLuts(luts); // re- apply luts ci.resetDisplayRanges(); > On 9 Apr 2020, at 11:11, Michael Ellis <[hidden email]> wrote: > > If I create a 4 channel, 16bit CompositeImage, assign a LUT to the 4th channel, and then convert the CompositeImage to 8 bit, the assigned LUT is lost. > > You can recreate the problem with this ImageJMacro: > > newImage("HyperStack", "16-bit composite-mode label", 256, 256, 4, 1, 1); > setSlice(4); > run("Cyan"); > setSlice(1); > run("8-bit"); > setSlice(4); > > Not after running the macro, that the LUT for channel 4 has default to its default value of being Grays > > This is not my actual use case, I am using ImageJ as a callable library but, of course after converting my 16bit stack to 8 bit, I lose my LUT assignments. > > Is there a fix or a better way of doing this? > > This seems to be the case for both Image 1.52u and for 2.0.0-rc-69/15sp (as part if Fiji distribution) > > > > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html Michael Ellis (Managing Director) Digital Scientific UK Ltd. http://www.dsuk.biz <http://www.dsuk.biz/> [hidden email] tel: +44(0)1223 911215 The Commercial Centre 6 Green End Cambridge CB23 7DY === END OF EMAIL === -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
In reply to this post by Michael P Ellis
Hi Michael,
> I just want to use the latest ImageJ distribution with a Java 11 Modules > project building with Maven > > - Is > https://github.com/imagej/tutorials/tree/master/maven-projects/intro-to-imagej-api > a good starting point? Be aware that everything in https://github.com/imagej/tutorials uses ImageJ2. Based on other questions I've seen from you on this mailing list, I assume you want to use ImageJ1? That said: ImageJ2 is currently built on Java 8. The pom-scijava parent (used by the tutorials, and which I encourage you to use) enforces Java 8 to build by default, although this can be changed by overriding the scijava.jvm.version and scijava.jvm.build.version properties. We are in the process of exploring use of Java 11 (experimental code at https://github.com/scijava/incubator is now Java-11-based) but I expect it will still be months-to-years before ImageJ2 and Fiji have fully made the switch. > 1. Is there a version of ImageJ that can be used as a library for my own Java > 11 compliant / JavaFX application and if so where do I get it? The net.imagej:ij artifacts (i.e. ImageJ1) on Maven Central include "Automatic-Module-Name: ij" in the manifest starting with version 1.52m. So hopefully you can depend on net.imagej:ij directly without needing to repackage it yourself. Although if what Thomas said about MacAdapter.class is correct, that could be a remaining technical hurdle, since the published Maven artifacts do still include MacAdapter.class in the root folder. As an aside: an application can be "Java 11 compliant"—i.e., build and run using Java 11—without being JPMS modular. > 2. Is there an SSCCE maven project for using ImageJ as a library using Java > modules and is fully Java 11 compliant? The best I can offer you right now is a work-in-progress branch on the scijava/incubator repository [1]. There, we are exploring JPMS modularization of next-generation SciJava and ImageJ components. I am interested in modularizing the next-generation codebase because it will allow much greater control and limits to the public API surface, hopefully reducing future code paralysis and improving long-term reproducibility of user extensions. Finally, some gotchas with Maven-based JPMS-modularized projects we have already run across: - Use the latest maven-compiler-plugin -- version 3.7.0 is too old. Version 3.8.1 works. - The latest pom-scijava parent has a "jigsaw" profile [2] that triggers when you have a src/main/java/module-info.java, intended to allow JPMS-modularized projects to target Java 8. Unfortunately, this profile breaks compilation of JPMS-modularized projects when targeting Java 11. Therefore, we have now removed this profile on the master branch [3]. Therefore, the next major release of pom-scijava should work better for use with JPMS-modularized projects targeting Java 11. If you have further questions about this, I encourage you to post on forum.image.sc in the Development category, rather than here. Regards, Curtis -- Curtis Rueden Software architect, LOCI/Eliceiri lab - https://loci.wisc.edu/software ImageJ2 lead, Fiji maintainer - https://imagej.net/User:Rueden Have you tried the Image.sc Forum? https://forum.image.sc/ [1] https://github.com/scijava/incubator/tree/scijava/scijava-ops/modularity [2] Based on this article: https://maven.apache.org/plugins/maven-compiler-plugin/examples/module-info.html [3] https://github.com/scijava/pom-scijava-base/commit/4706af1d418352e655af357f07ca82e15abdd4c2 On Wed, Apr 8, 2020 at 11:51 AM Michael Ellis <[hidden email]> wrote: > Dear Thomas, > > Thank you for you reply, > > I have some questions about your reply (below) due to my lack of > understanding. I apologise. > > Firstly, before we even get to the JavaFX, I just want to use the latest > ImageJ distribution with a Java 11 Modules project building with Maven > > - Is > https://github.com/imagej/tutorials/tree/master/maven-projects/intro-to-imagej-api > a good starting point? > > - If it is what edits do I need to make to this project pom.xml > > - Does this project use the recommended version of ImageJ? > > I have just created a public gitlab repository with what i have so far > (which does not work) > Yuu can get it at: https://gitlab.com/Michael51773/java11moduleimagej < > https://gitlab.com/Michael51773/java11moduleimagej>o > If you or anyone is able to provide guidance to getting this work then I > will leave it up as a recipe for others. > > At present I get… > > As you can see the pom that ships with the example rejects the use of a > JDK that is not 1.8.x > > I have tried to cut the source example to the bear minimum SSCCE to get > the ball rolling. > > — Michael Ellis > > > > > macbokpro:Java11ImageJ michaelellis$ java -version > java version "11.0.6" 2020-01-14 LTS > Java(TM) SE Runtime Environment 18.9 (build 11.0.6+8-LTS) > Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.6+8-LTS, mixed mode) > macbokpro:Java11ImageJ michaelellis$ mvn -version > Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; > 2019-04-04T20:00:29+01:00) > Maven home: /usr/local/Cellar/maven/3.6.1/libexec > Java version: 11.0.6, vendor: Oracle Corporation, runtime: > /Library/Java/JavaVirtualMachines/jdk-11.0.6.jdk/Contents/Home > Default locale: en_GB, platform encoding: UTF-8 > OS name: "mac os x", version: "10.11.6", arch: "x86_64", family: "mac" > macbokpro:Java11ImageJ michaelellis$ mvn compile > [INFO] Scanning for projects... > [INFO] > [INFO] ----------------< imagej-tutorials:intro-to-imagej-api > >---------------- > [INFO] Building Intro to ImageJ API with Java 11 1.0.0-SNAPSHOT > [INFO] --------------------------------[ jar > ]--------------------------------- > [INFO] > [INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-rules) @ > intro-to-imagej-api --- > [INFO] Adding ignore: module-info > [INFO] Adding ignore: META-INF/versions/*/module-info > [INFO] Adding ignore: org.apache.hadoop.yarn.*.package-info > [INFO] Adding ignore: org.apache.spark.unused.UnusedStubClass > [INFO] Adding ignore: org.hibernate.stat.ConcurrentStatisticsImpl > [INFO] Adding ignore: org.junit.runner.Runner > [INFO] Adding ignore: module-info > [WARNING] Rule 2: org.apache.maven.plugins.enforcer.RequireJavaVersion > failed with message: > Detected JDK Version: 11.0.6 is not in the allowed range > [1.8.0-101,1.8.9999]. > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD FAILURE > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 7.261 s > [INFO] Finished at: 2020-04-08T17:43:35+01:00 > [INFO] > ------------------------------------------------------------------------ > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce > (enforce-rules) on project intro-to-imagej-api: Some Enforcer rules have > failed. Look above for specific messages explaining why the rule failed. -> > [Help 1] > [ERROR] > [ERROR] To see the full stack trace of the errors, re-run Maven with the > -e switch. > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > [ERROR] > [ERROR] For more information about the errors and possible solutions, > please read the following articles: > [ERROR] [Help 1] > http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException > macbokpro:Java11ImageJ > <http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionExceptionmacbokpro:Java11ImageJ> > michaelellis$ > > > > > On 8 Apr 2020, at 13:09, Thomas Peterbauer < > [hidden email]> wrote: > > > > > > On 08.04.20 12:40, Michael Ellis wrote: > >> Any help gratefully received. > >> > >> I am trying to build a modular JavaFX application using ImageJ as a > Java library under Java 11 with a NetBeans maven driven project. > >> > >> My first port of call was to use the IntroToImageJAPI project based > upon the example at > >> > >> > https://github.com/imagej/tutorials/tree/master/maven-projects/intro-to-imagej-api > < > https://github.com/imagej/tutorials/tree/master/maven-projects/intro-to-imagej-api > > > >> > >> I copied this project to my local hard disk and building with command > line "mvn compile” > >> > >> Under my default Java 11 installation this failed, to I switched to > Java 1.8 and it succeeded in building. > >> > >> I’ve spent days trying various options like adding the module-info.java > file, moving the main class into a package trying different recommendations > for the pom and the module-info file and at every turn, failure. So if > anyone can help with… > >> > >> 1. Is there a version of ImageJ that can be used as a library for my > own Java 11 compliant / JavaFX application and if so where do I get it? > > > > Yes, it's extemely painful to setup JavaFX+ImageJ, but as far as I can > > tell ij.jar itself is no problem (even if compiled with JDK8). I just > had to > > > > 1. Remove MacAdapter.class from ij.jar. JDK9+ confuses it with a > > module-info.class > > > 2. Make sure to have the following line in /META-INF/MANIFEST.MF in > ij.jar: > > > > Automatic-Module-Name: ij > > > > 3. If you have a modular JavaFX app, add the following line to your > > module-info.java: > > > > requires ij; > > > > 4. To run it, include the following options in the command line argument: > > > > --module-path path-to-ij.jar;path-to-other-jars > > > --add-modules=ij,javafx.base,javafx.controls,org,whatever-module-else-you-need > > > > Note that, for the module path, multiple paths to different jar > > locations need to be separated by a semicolon (on Windows) or a colon > > (Linux). > > > > Hope it helps, > > > > Thomas > > > > -- > > ImageJ mailing list: http://imagej.nih.gov/ij/list.html > > I am attempting to use Maven for the build process. > > > > > Michael Ellis (Managing Director) > Digital Scientific UK Ltd. > http://www.dsuk.biz <http://www.dsuk.biz/> > [hidden email] > tel: +44(0)1223 911215 > > The Commercial Centre > 6 Green End > Cambridge > CB23 7DY > > === END OF EMAIL === > > > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html > -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Free forum by Nabble | Edit this page |