http://imagej.273.s1.nabble.com/Saving-the-current-session-tp5005456p5005492.html
> does someone out there have a plugin to save the current ImageJ session to disk? It need not be perfect (I don't care about placing windows to the correct position, etc.)...
In the latest daily build (1.48g8), File>Save As>ZIP and File>Save As>Tiff save the FFT data of FFT windows, except for FFTs of RGB images.
> - No way to determine in a macro whether the front window is a text or Results window. [getInfo("window.contents") gives unpredictable results if the front window is neither image nor text]
Use the new getInfo("window.type") macro function to get the type of the front window.
> - Plots won't have data behind them (that's a restriction I could live with).
>
> Long time ago, this topic was already discussed on the mailinglist, and it was suggested to have the ImageJ data types implement Serializable. Is I understand it, however, this would imply the risk that one can't read the session after updating ImageJ, which is also not so nice...
>
> Michael
> ________________________________________________________________
>
> // SaveSession macro
> // Saves images and more of an ImageJ session
> // V0.0 M. Schmid 2013-11-05
> //
> // Restrictions (there are actually more):
> // Images do not remember the source file
> // FFTs are saved as plain 8-bit images (no Fourier transform behind, can't do inverse FFT)
> // Plots are saved as images with no data
> // What about texts?
> // How to discriminate ResultsTables and text with tabs?
> // Settings are not saved (ImageJ saves some settings to the ijPrefs.txt file)
> //
> basePath=getDirectory("Choose a Directory to Save the Session");
> getDateAndTime(year, month, dayOfWeek, dayOfMonth, hour, minute, second, msec);
> date= dayOfMonth+100*(month+1)+10000* dayOfMonth;
> time=second+100* minute+10000*hour;
> dirName="IJsavedSession_"+date+"_"+IJ.pad(time,6);
> path=basePath+File.separator+dirName;
> File.makeDirectory(path);
> // ----------------- Images -----------------
> while(nImages()>0) {
> selectImage(1);
> fileNoExt=path+File.separator+getTitle;
> uniqueNum="";
> while (File.exists(fileNoExt+uniqueNum +".zip")) {
> if (uniqueNum="") uniqueNum="0";
> uniqueNum = toString(parseInt(uniqueNum)-1); //-1, -2, etc.
> }
> save(fileNoExt+uniqueNum+".zip");
> close();
> }
> // ----------------- Log Window -----------------
> logText=getInfo("log");
> if(logText!="") {
> File.saveString(logText, path+File.separator+"log.txt");
> selectWindow("Log");
> run("Close");
> }
>
> // ----------------- ROI Manager -----------------
> nRois=roiManager("count");
> if (nRois>0) {
> roiManager("Save", path+File.separator+"roiSet.zip");
> selectWindow("ROI Manager");
> run("Close");
> }
> // ----------------- Results -----------------
> if (nResults>0) {
> saveAs("results", path+File.separator+"resultsTable.csv");
> }
>
> --
> ImageJ mailing list:
http://imagej.nih.gov/ij/list.html