Ohhh yesss Curtis, You are right over the whole line!!! Thanks a lot!!! And your Find_Jar_For_Class.bsh tool is quite cool, thanks for pointing it to me! In fact use a quite virgin version of ImageJ for running the ThunderSTORM plugin within which the only other plugin present is the bio-formats plugin for which I use the last version: https://www.openmicroscopy.org/bio-formats/downloads/ So my next (and hope last) question would be how to would it be possible to have these two plugins installed within a same version of ImageJ ? My best regards, Philippe
De: "Curtis Rueden" <[email protected]> À: "CARL Philippe, LBP" <[email protected]>, "ImageJ Interest Group" <[email protected]> Envoyé: Jeudi 18 Avril 2024 15:51:57 Objet: Re: Mandatory use of Fiji Hi Philippe, > java.lang.NoSuchMethodError: org.yaml.snakeyaml.representer.Representer: > method <init>()V not found This means that the version of snakeyaml in your environment is out of sync with the version required by ThunderSTORM. Given that we know ThunderSTORM works in Fiji, and also works on my Linux machine, I theorize that there is a second copy of SnakeYAML in your ImageJ, which is of the wrong version, and taking precedence over the correct one. What other plugins do you have installed? Does the problem also happen with a fresh ImageJ with no other plugins installed? You can find all JAR files containing a copy of SnakeYAML by running the following BeanShell script in ImageJ: [ https://github.com/fiji/fiji/blob/fiji-2.15.1/scripts/Plugins/Utilities/Find_Jar_For_Class.bsh | https://github.com/fiji/fiji/blob/fiji-2.15.1/scripts/Plugins/Utilities/Find_Jar_For_Class.bsh ] You won't need Fiji; just click the Download icon on the upper right of the source code pane. - Then open it in ImageJ with File > Open. - Then Ctrl+R to run. - Then for the classname type org.yaml.snakeyaml.representer.Representer And it should tell you which JAR(s) have it. Regards, Curtis P.S. Please keep the ImageJ mailing list CCed on your replies. On Thu, Apr 18, 2024 at 3:26 PM CARL Philippe (LBP) < [ mailto:[email protected] | [email protected] ] > wrote: Dear Curtis, I was always using the "fat JAR" versions of the plugin. Following your explanations I now tested some additionnal combinaisons, i.e. by adding all the dependancy jars within the plugins>jars folder and using trying to run the "fat JAR" versions as welll as the original-Thunder_STORM.jar versions with the same issues. And I tried to play both with the released version: [ https://urldefense.com/v3/__https://github.com/zitmen/thunderstorm/releases/tag/v1.3__;!!Mak6IKo!KHuXvTN4s817sK3Yix5nkZ4w7q_-kAXrcH1mCg0qfhPENKBkYCHDf2OB8FXk_sOoDmbYnj-N5e-AK6M2mf2n7ezKbJI$ | https://github.com/zitmen/thunderstorm/releases/tag/v1.3 ] as well as with the last dayly build one: [ https://urldefense.com/v3/__https://github.com/zitmen/thunderstorm/releases/tag/dev-2016-09-10-b1__;!!Mak6IKo!KHuXvTN4s817sK3Yix5nkZ4w7q_-kAXrcH1mCg0qfhPENKBkYCHDf2OB8FXk_sOoDmbYnj-N5e-AK6M2mf2nDLsGQGo$ | https://github.com/zitmen/thunderstorm/releases/tag/dev-2016-09-10-b1 ] As attachment as well as below you will find the obtained error messages. I indeed didn't try to run within Linux nor Mac (having no access to such machines), but within different machines and versions of Windows ImageJ 1.54j4; Java 1.8.0_345 [64-bit]; Windows 10 10.0; 58MB of 12211MB (<1%) java.lang.NoSuchMethodError: org.yaml.snakeyaml.representer.Representer: method <init>()V not found at cz.cuni.lf1.lge.ThunderSTORM.calibration.Homography$TransformationMatrix$YamlRepresenter.<init>(Homography.java:241) at cz.cuni.lf1.lge.ThunderSTORM.calibration.DefocusCalibration.saveToFile(DefocusCalibration.java:179) at cz.cuni.lf1.lge.ThunderSTORM.CylindricalLensCalibrationPlugin.run(CylindricalLensCalibrationPlugin.java:94) at ij.IJ.runUserPlugIn(IJ.java:244) at ij.IJ.runPlugIn(IJ.java:210) at ij.Executer.runCommand(Executer.java:152) at ij.Executer.run(Executer.java:70) at java.lang.Thread.run(Thread.java:750) Have a nice day and thanks again for your help, Philippe De: "Curtis Rueden" < [ mailto:[email protected] | [email protected] ] > À: "CARL Philippe, LBP" < [ mailto:[email protected] | [email protected] ] > Cc: "ImageJ Interest Group" < [ mailto:[email protected] | [email protected] ] > Envoyé: Mercredi 17 Avril 2024 22:27:46 Objet: Re: Mandatory use of Fiji Hi Philippe, I tested this process on my Linux x64 system, and all works. However, I noticed that ThunderSTORM builds two different JAR files in the target folder: one called Thunder_STORM.jar and another called original-Thunder_STORM.jar. The Thunder_STORM.jar is a so-called "uber-JAR" or "fat JAR" intended to collect all classes from all dependencies into a single JAR file. See [ https://urldefense.com/v3/__https://imagej.net/develop/uber-jars__;!!Mak6IKo!KHuXvTN4s817sK3Yix5nkZ4w7q_-kAXrcH1mCg0qfhPENKBkYCHDf2OB8FXk_sOoDmbYnj-N5e-AK6M2mf2ntfaE3xs$ | https://imagej.net/develop/uber-jars ] for more details. The original-Thunder_STORM.jar is the originally constructed JAR file with only the ThunderSTORM classes, not all the dependencies lumped in. In my test, I moved all the JAR files from the target/dependency folder into a new `ImageJ/jars` folder, and placed *original-Thunder_STORM.jar* into `ImageJ/plugins`. I did not use the Thunder_STORM.jar uber-JAR. For completeness, I then tested the uber-JAR as well, deleting the entire `ImageJ/jars` folder with all the dependencies, and deleting the `ImageJ/plugins/original-Thunder_STORM.jar`, and instead placing the `Thunder_STORM.jar` into `ImageJ/plugins`. Then I ran the "Run analysis" plugin again on your data, and it worked just the same. So it looks like either way works: the single simple Thunder_STORM.jar, or the more granular dependency JARs plus original-Thunder_STORM.jar. I was however testing on Linux, not Windows. There may be platform-specific issues. Or there may be a bad interaction with some other plugin(s) you have installed. I was testing with a fresh ImageJ with no other extra plugins. If you still have trouble, please give more details including exactly what goes wrong, error message, etc. Regards, Curtis P.S. I notice you removed the mailing list from the thread. I have put it back on the list, since this discussion could interest others besides only yourself. On Wed, Apr 17, 2024 at 4:01 PM CARL Philippe (LBP) < [ mailto:[email protected] | [email protected] ] > wrote: BQ_BEGIN Dear Curtis, I tried your proposed solution which generated a whole bunch of .jar files. But when trying to launch the thunderSTORM plugin (for the given analysis) the problem still wasn't solved. Please find under the following link (711 Ko): [ https://urldefense.com/v3/__http://punias.free.fr/inputZStack_cam.tif__;!!Mak6IKo!LFJVUh3wT3NWcY-agsvAoZJcz8mn9SMRPwgNRdj-0S9__dZZYxklH7-SbEZUpfoMcddsEN0CIZLNifo7CLHG0NpQ9xw$ | http://punias.free.fr/inputZStack_cam.tif ] the calibration file on which you can launch the calibration procedure with by doing: Plugins>ThunderSTORM>3D_calibration>Cylindrical_lens_calibration and saving the calibration file somewhere. Then you can use the same picture in order to perform a 3D reconstruction with Plugins>ThunderSTORM>Run_analysis and select the "PSF: Elliptical Gaussian (3D astigmatism)" where you indicate the obtained calibration file (.yaml) within the "Calibration file" stringField. You will then get an error message thay you won't have when running under Fiji. I thank you very much in advance for your time and help! My best regards, Philippe De: "Curtis Rueden" < [ mailto:[email protected] | [email protected] ] > À: "CARL Philippe, LBP" < [ mailto:[email protected] | [email protected] ] > Envoyé: Mardi 16 Avril 2024 15:33:44 Objet: Re: Mandatory use of Fiji Hi Philippe, > In fact I very unfortunately discovered empirically the ImageJ2 dependancy > of the ThunderSTORM plugin. Sorry, I don't understand what you mean. As I said in my last email, ThunderSTORM does not depend on ImageJ2. > But within which environment (or how) can I launch your proposed (easy) code > below? If I understand your setup correctly, you should be able to put commands like the following into your batch file: %~dp0\apache-maven-3.8.4\bin\mvn dependency:copy-dependencies copy target\dependency\*.jar C:\path\to\ImageJ\jars where "C:\path\to\ImageJ" is the location of your ImageJ installation. Does that answer your question? Regards, Curtis On Tue, Apr 16, 2024 at 3:24 PM CARL Philippe (LBP) < [ mailto:[email protected] | [email protected] ] > wrote: BQ_BEGIN Hi Curtis, Thanks a lot for your answer. In fact I very unfortunately discovered empirically the ImageJ2 dependancy of the ThunderSTORM plugin. I really apologize for my very simple (and thus stupid) question. But within which environment (or how) can I launch your proposed (easy) code below? Up to now I was compiling the code using the following .bat file: SET JAVA_HOME=%~dp0\jdk1.8.0_202 cd %~dp0\thunderstorm-dev-2024-04-11-a %~dp0\apache-maven-3.8.4\bin\mvn package -Dmaven.test.skip=true & pause And I'm really not specialist (not to say really a beginner) of this kind of setups. My best regards, Philippe ----- Mail original ----- De: "Curtis Rueden" < [ mailto:[email protected] | [email protected] ] > À: "imagej" < [ mailto:[email protected] | [email protected] ] > Envoyé: Mardi 16 Avril 2024 14:42:42 Objet: Re: Mandatory use of Fiji Hi Philippe, According to `mvn dependency:list` on the thunderstorm source code, there are no dependencies on any ImageJ2 libraries. Therefore, you should be able to run the software with vanilla ImageJ. My suggestion for how to achieve this most easily is: git clone [ https://urldefense.com/v3/__https://github.com/zitmen/thunderstorm__;!!Mak6IKo!J8zAorFbrMZAqTXjTfANlXcWyqHlMH2zIM8bRP-O2TdONnhd1a0YJ45GepeJTa7TV5UJFGJ3JKO3KtcSkRCE9-0K6w4$ | https://urldefense.com/v3/__https://github.com/zitmen/thunderstorm__;!!Mak6IKo!J8zAorFbrMZAqTXjTfANlXcWyqHlMH2zIM8bRP-O2TdONnhd1a0YJ45GepeJTa7TV5UJFGJ3JKO3KtcSkRCE9-0K6w4$ ] cd thunderstorm mvn dependency:copy-dependencies cp target/dependency/*.jar /path/to/ImageJ/jars And you will have the needed dependencies for the thunderstorm plugin. You will also need the thunderstorm JAR file itself, of course. If you want to build that from source, you can: mvn package cp target/ThunderSTORM*.jar /path/to/ImageJ/plugins Regards, Curtis On Tue, Apr 16, 2024 at 1:19 PM CARL Philippe (LBP) < [ mailto:[email protected] | [email protected] ] > wrote: > Dear all, > Is it mandatory to use Fiji (instead the vanilla version of ImageJ) when > using a plugin implementing the snakeyaml library ( > [ > https://urldefense.com/v3/__https://mvnrepository.com/artifact/org.yaml/snakeyaml__;!!Mak6IKo!J8zAorFbrMZAqTXjTfANlXcWyqHlMH2zIM8bRP-O2TdONnhd1a0YJ45GepeJTa7TV5UJFGJ3JKO3KtcSkRCEbiMieTg$ > | > https://urldefense.com/v3/__https://mvnrepository.com/artifact/org.yaml/snakeyaml__;!!Mak6IKo!J8zAorFbrMZAqTXjTfANlXcWyqHlMH2zIM8bRP-O2TdONnhd1a0YJ45GepeJTa7TV5UJFGJ3JKO3KtcSkRCEbiMieTg$ > ] ) like thunderSTORM ( > [ > https://urldefense.com/v3/__https://zitmen.github.io/thunderstorm/)?__;!!Mak6IKo!J8zAorFbrMZAqTXjTfANlXcWyqHlMH2zIM8bRP-O2TdONnhd1a0YJ45GepeJTa7TV5UJFGJ3JKO3KtcSkRCEjN3m6SE$ > | > https://urldefense.com/v3/__https://zitmen.github.io/thunderstorm/)?__;!!Mak6IKo!J8zAorFbrMZAqTXjTfANlXcWyqHlMH2zIM8bRP-O2TdONnhd1a0YJ45GepeJTa7TV5UJFGJ3JKO3KtcSkRCEjN3m6SE$ > ] > I thank you very much in advance for your lighting on this. > My best regards, > Philippe > > Philippe CARL > Laboratoire de Bioimagerie et Pathologies > UMR 7021 CNRS - Université de Strasbourg > Faculté de Pharmacie > 74 route du Rhin > 67401 ILLKIRCH > Tel : +33(0)3 68 85 41 41 > > -- > ImageJ mailing list: [ > https://urldefense.com/v3/__http://imagej.nih.gov/ij/list.html__;!!Mak6IKo!J8zAorFbrMZAqTXjTfANlXcWyqHlMH2zIM8bRP-O2TdONnhd1a0YJ45GepeJTa7TV5UJFGJ3JKO3KtcSkRCE0il-Asw$ > | > https://urldefense.com/v3/__http://imagej.nih.gov/ij/list.html__;!!Mak6IKo!J8zAorFbrMZAqTXjTfANlXcWyqHlMH2zIM8bRP-O2TdONnhd1a0YJ45GepeJTa7TV5UJFGJ3JKO3KtcSkRCE0il-Asw$ > ] > -- ImageJ mailing list: [ https://urldefense.com/v3/__http://imagej.nih.gov/ij/list.html__;!!Mak6IKo!J8zAorFbrMZAqTXjTfANlXcWyqHlMH2zIM8bRP-O2TdONnhd1a0YJ45GepeJTa7TV5UJFGJ3JKO3KtcSkRCE0il-Asw$ | https://urldefense.com/v3/__http://imagej.nih.gov/ij/list.html__;!!Mak6IKo!J8zAorFbrMZAqTXjTfANlXcWyqHlMH2zIM8bRP-O2TdONnhd1a0YJ45GepeJTa7TV5UJFGJ3JKO3KtcSkRCE0il-Asw$ ] BQ_END BQ_END -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html
