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 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) < [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://github.com/zitmen/thunderstorm/releases/tag/v1.3 > <https://urldefense.com/v3/__https://github.com/zitmen/thunderstorm/releases/tag/v1.3__;!!Mak6IKo!KHuXvTN4s817sK3Yix5nkZ4w7q_-kAXrcH1mCg0qfhPENKBkYCHDf2OB8FXk_sOoDmbYnj-N5e-AK6M2mf2n7ezKbJI$> > as well as with the last dayly build one: > https://github.com/zitmen/thunderstorm/releases/tag/dev-2016-09-10-b1 > <https://urldefense.com/v3/__https://github.com/zitmen/thunderstorm/releases/tag/dev-2016-09-10-b1__;!!Mak6IKo!KHuXvTN4s817sK3Yix5nkZ4w7q_-kAXrcH1mCg0qfhPENKBkYCHDf2OB8FXk_sOoDmbYnj-N5e-AK6M2mf2nDLsGQGo$> > 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" <[email protected]> > *À: *"CARL Philippe, LBP" <[email protected]> > *Cc: *"ImageJ Interest Group" <[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://imagej.net/develop/uber-jars > <https://urldefense.com/v3/__https://imagej.net/develop/uber-jars__;!!Mak6IKo!KHuXvTN4s817sK3Yix5nkZ4w7q_-kAXrcH1mCg0qfhPENKBkYCHDf2OB8FXk_sOoDmbYnj-N5e-AK6M2mf2ntfaE3xs$> > 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) < > [email protected]> wrote: > >> 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): >> http://punias.free.fr/inputZStack_cam.tif >> <https://urldefense.com/v3/__http://punias.free.fr/inputZStack_cam.tif__;!!Mak6IKo!LFJVUh3wT3NWcY-agsvAoZJcz8mn9SMRPwgNRdj-0S9__dZZYxklH7-SbEZUpfoMcddsEN0CIZLNifo7CLHG0NpQ9xw$> >> 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" <[email protected]> >> *À: *"CARL Philippe, LBP" <[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) < >> [email protected]> wrote: >> >>> 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" <[email protected]> >>> À: "imagej" <[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$ >>> 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) < >>> [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$ >>> ) like thunderSTORM ( >>> > >>> 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$ >>> > >>> >>> -- >>> ImageJ mailing list: >>> https://urldefense.com/v3/__http://imagej.nih.gov/ij/list.html__;!!Mak6IKo!J8zAorFbrMZAqTXjTfANlXcWyqHlMH2zIM8bRP-O2TdONnhd1a0YJ45GepeJTa7TV5UJFGJ3JKO3KtcSkRCE0il-Asw$ >>> >> > -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html
