Skip to content

Instantly share code, notes, and snippets.

View NicoKiaru's full-sized avatar

Nicolas Chiaruttini NicoKiaru

View GitHub Profile
@NicoKiaru
NicoKiaru / OpenOMERO.groovy
Last active January 24, 2025 16:21
Open an OMERO dataset into Fiji with caching #BIOP #Fiji
// Open a URL from OMERO with caching into Fiji as an ImagePlus
// Requires PTBIOP and OMERO 5.5 5.6 update site
// Written by Nicolas Chiaruttini on 24th Jan 2025
// Try https://omero-tim.gerbi-gmb.de/webclient/?show=image-104300 with:
// login: read-tim
// passwd: read-tim
#@CommandService cs
#@String(label="omero url") url
#@SourceAndConverterService source_service
@NicoKiaru
NicoKiaru / ComputePSF.groovy
Created November 22, 2024 11:57
#BIOP #PSF #Deconvolution
/**
* This script takes a 3D input a stack with beads and a stack of the same size
* with single points placed at the center of detected beads / spots
* this is the second step to compute a clean PSF with distillation.
*
* Example for this script:
* - Image = https://zenodo.org/records/14203207/files/30x1000_FS-025_FW-60_AC-170.tif
* - Bead Image = the result of the DetectBeads script
*
* Link to useful threads:
/**
* This script takes a 3D input a stack with beads and will output a stack of the same size
* with single points placed at the center of detected beads / spots
* this is the first step to compute a clean PSF with distillation.
*
* The rest of the PSF computation happens in the script ExtractPSF
*
* For detecting beads in 3D the method used is the Laplacian of Gaussian detector by Trackmate which has 2 parameters
* It can be useful to use the TrackMate GUI before using this script in order to check which parameters to use.
*
@NicoKiaru
NicoKiaru / GetImageInfo.groovy
Last active May 21, 2024 12:39
A small gists that dumps Timestamps from a File using Bio-Formats
#@File f
IFormatReader r = new ImageReader();
IMetadata meta = MetadataTools.createOMEXMLMetadata();
r.setMetadataStore(meta)
r.setId(f.getAbsolutePath());
meta = (IMetadata) r.getMetadataStore(); // Retrieves the metadata object
int nImages = r.getSeriesCount(); // Number of images within the file
for (int iImage = 0; iImage<nImages; iImage++) {
r.setSeries(iImage);
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@NicoKiaru
NicoKiaru / GraphLifeTimeVSRepetitionRate.ijm
Created September 19, 2023 09:07
A small demo of the Pile-up effect in FLIM imaging #BIOP #FIJI #FLIM
/**
* A small theory about pile-up effect in FLIM - unfortunately I lost the way I made these equations
*
* (I think the documentation below is wrong: what is n ? what is alpha ? why are they not the same ?)
*
* Here, we model a poisson process for the number of photon emitted per excitation pulse. (parameter alpha)
* In other words: alpha is the parameter of the poisson distribution ( = average number of photons emitted after an excitation pulse)
*
* And each photon has a mono-exponential lifetime tau
*
@NicoKiaru
NicoKiaru / XmlCZI.java
Created May 8, 2023 21:17
A class that can be used to (partially) bind CZI file properties to Java objects
package loci.formats.in.libczi;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.ArrayList;
import loci.common.DataTools;
import ome.units.UNITS;
import ome.units.quantity.Length;
@NicoKiaru
NicoKiaru / ImagePlusToAtlas.groovy
Created February 27, 2023 11:40
How to use an Image from ImageJ and transform it into an Atlas in ABBA
#@ImagePlus structural_images
#@ImagePlus label_image
#@Double atlas_precision_mm
#@ObjectService os
@NicoKiaru
NicoKiaru / CreateLargeImageAndSaveItAsTiff.groovy
Last active January 20, 2023 17:06
A Fiji script that can generate a procedural big image (>4GPix) and resaves it as a multi resolution OME TIFF image #BIOP #Fiji
/**
* Makes a big 2d procedural plane and saves it as a multiresolution ome.tiff image
*
* Tested on a 128 000 x 128 000 images with 8000 objects (11G pix), 10 resolutions levels, downscale 2 ~ 30 minutes to generate
*
* PTBIOP update site needed
* @author Nicolas Chiaruttini, 2023
*/
#@Integer nPixelsX
@NicoKiaru
NicoKiaru / LogFijiConfig.groovy
Created December 2, 2022 07:09
Logs all Fiji update sites activated and other information (OS, ij version)
/**
* Simple script demoing how to check if an update site is enabled
* and how to list all enabled update sites
*
* @author Nicolas Chiaruttini
* BIOP, EPFL, 2022
**/
#@UpdateService updateService