The version installed from the repository is 0.94 which works under all platforms. For testing we have used 0.93 which is faster but crashes in MacOS. A copy is available at the following link:
https://drive.google.com/file/d/19vOlRO4pFpE6TU-cRTA2WOVeXcszB8dp/view?usp=sharing
Note: From November 11 2019, the project has been renamed to MusiJ
MusiJ is a Plugin for Imagej which implements MUSICAL, an algorithm created by Krishna Agarwal for obtaining super-resolution based on Eigenvalue decomposition. This is a list of some of the characteristics of the algorithm.
- Compatible with any dye or fluorescent protein in theory. Tested on Alexa dyes, GFP, RFP, YFP, CMP, SirTubulin, SirActin, MitoTracker dyes, etc.
- Compatible with dense or sparse samples and uses natural fluctuations in fluorescent intensity. Tested for cells and tissues without using any imaging buffer (i.e. redox solutions).
- Requires low power in comparison to most techniques, therefore less photo-toxic especially for live cells.
- Requires very few frames (50 – 200 are sufficient in most cases), therefore suitable for dynamic systems such as live cells.
- Tested on variety of cameras, objective lenses (0.4 NA 20X to 1.49NA 100X oil immersion), and multi-channel acquisition (4 channels so far).
- Works with TIRF and epifluorescence x-y-t image stacks.
This is an example of the algorithm:
This plugin works for a single channel image of undefined number of frames,and it is based on author's original Matlab version published here.
- Nd4J was updated to version 1.0.0-beta6 for compatibility issues with Mac OS Catalina
- Fixed progress bar not working
- Project renamed to MusiJ
- Faster by a factor of 2 compared to previous version
- Video wrapper included for video-generating capabilities
- Progress bar added
- Image is not padded anymore
The original Matlab code was analized and optimized to decrease the number of operations. The main differences are:
- The matrices are stored as float instead of double to increase computation speed
- The image is divided into blocks to be processed by different threads
Beside that, the process is identical in the sense that each region is processed in a serial fashion, and the result is generated once all the regions have been analized.
The tests show a difference no greater to 1e-4 with the values computed in Matlab.
The current version allows us to autosave the results in addition with a text file indicating the parameters used.
We have released a video tutorial in Youtube with the instruction of how to install and use MUSICAL in FIJI. You can watch it here or by clicking on the image:
The data used and parameters can be found in the folder data
.
In ImageJ / Fiji:
- Go to Help>Update
- Click on "Manage update site"
- Add 'http://sites.imagej.net/Sebsacuna/' to the list
- Download all the dependencies
All matrices operations are based on Nd4j, which can use MKL if available. These dependencies are quite heavy.
Among the other dependencies it is javacpp-1.4-2
which replaces the javacpp-0.11
included in Fiji.
The interface allows the user to enter all the required values. The first block correspond to the optical parameters of the system used for taking the image. The second block corresponds to the parameters the user need to play with.
The normal process is the following:
- Enter the optical parameters and plot the singular values
- Analyze the curves and select an horizontal line as threshold
- Enter the desired threshold and alpha
- Generate image
Extra options are presented:
- Multithread: allows the program to split the image and process it by parts using threads. The number of threads recommended is the number of cores availables in the machine
- Save: saves the result image automatically after finished, including a text file with the used parameters. These files are stored in the same folder of the input image
This option speeds up the computation by an order of 2x or 3x, depending on the machine. Increases the usage of the CPU so it can slow down other tasks running on the machine.
Due to the summation of multiple floats in different orders, the values can differ from the 1 thread version. However this difference should not be higher than 0.01%.
To process several files, the best option is to use a Macro. However, the current plugin does not work well with the Batch processing included in Fiji, so careful.
TODO
For any problem or comment, please don't hesitate on contact me at [email protected]