I've acquired a tiled dataset (ca 10% overlap) on the Zeiss AxioscanZ1
Slidescanner in the czi format using jpegXR compression. The czi contains a single scene (aka "scope"), all tiles recorded across 3 channels and 7z planes, several lower res pyramid images as well as snapshots of the slide and its label (download, ca 8GB <https://filesender.switch.ch/filesender/?vid=66166618-ca5a-df49-4ac1-00000cdb5b73>). I'd like to open this dataset and stitch it using either the grid/collection stitcher or the BigStitcher, but so far both plugins where not able to read the data. Is there a way I can make this possible or did I simply set the plugins incorrectly? The file is understood by bioformats and I am using an up-to-date FIJI. Thanks and cheers, Kai -- >>Please note my NEW PHONE NUMBERS: +41 61 207 57 31 (direct) +41 61 207 22 50 (central)<< Kai Schleicher, PhD | Research Associate in Advanced Light Microscopy | Biozentrum, University of Basel | Klingelbergstrasse 50/70 | CH-4056 Basel | Phone: +41 61 207 57 31 (direct) +41 61 207 22 50 (central) | [hidden email] | www.biozentrum.unibas.ch | www.microscopynetwork.unibas.ch -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Hi Kai, we are looking into that and keep you updated, thanks a lot!
Cheers, Stephan Sent from my iPhone > On Aug 10, 2017, at 15:26, Kai Schleicher <[hidden email]> wrote: > > I've acquired a tiled dataset (ca 10% overlap) on the Zeiss AxioscanZ1 Slidescanner in the czi format using jpegXR compression. > > The czi contains a single scene (aka "scope"), all tiles recorded across 3 channels and 7z planes, several lower res pyramid images as well as snapshots of the slide and its label (download, ca 8GB <https://filesender.switch.ch/filesender/?vid=66166618-ca5a-df49-4ac1-00000cdb5b73>). > > I'd like to open this dataset and stitch it using either the grid/collection stitcher or the BigStitcher, but so far both plugins where not able to read the data. > > Is there a way I can make this possible or did I simply set the plugins incorrectly? > > The file is understood by bioformats and I am using an up-to-date FIJI. > > Thanks and cheers, > Kai > > -- >>> Please note my NEW PHONE NUMBERS: +41 61 207 57 31 (direct) +41 61 207 22 50 (central)<< > Kai Schleicher, PhD | Research Associate in Advanced Light Microscopy | Biozentrum, University of Basel | Klingelbergstrasse 50/70 | CH-4056 Basel | > Phone: +41 61 207 57 31 (direct) +41 61 207 22 50 (central) | [hidden email] | www.biozentrum.unibas.ch | www.microscopynetwork.unibas.ch > > > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Hi Stephan, thanks for your reply and looking into this!
I've uploaded another relevant example image <https://filesender.switch.ch/filesender/?vid=19c77bc9-1421-9a29-b25f-00004de41858> (~17GB). While the previous file has already been stitched (albeit badly) by the "online" method implemented in the Zeiss Zen acquisition software, this file here is completely raw and unstitched and furthermore has no pyramids. What I am hoping to accomplish is to * stitch the datasets (or restitch them better) * use one of the methods as offered by the grid/collection stitched to better deal with the dark frames that stem from bleaching where the tiles overlap, e.g. linear blending or max intensity Thanks for your help and cheers, Kai On 08/10/2017 06:46 PM, [hidden email] wrote: > Hi Kai, we are looking into that and keep you updated, thanks a lot! > > Cheers, > Stephan > > Sent from my iPhone > >> On Aug 10, 2017, at 15:26, Kai Schleicher <[hidden email]> wrote: >> >> I've acquired a tiled dataset (ca 10% overlap) on the Zeiss AxioscanZ1 Slidescanner in the czi format using jpegXR compression. >> >> The czi contains a single scene (aka "scope"), all tiles recorded across 3 channels and 7z planes, several lower res pyramid images as well as snapshots of the slide and its label (download, ca 8GB <https://filesender.switch.ch/filesender/?vid=66166618-ca5a-df49-4ac1-00000cdb5b73>). >> >> I'd like to open this dataset and stitch it using either the grid/collection stitcher or the BigStitcher, but so far both plugins where not able to read the data. >> >> Is there a way I can make this possible or did I simply set the plugins incorrectly? >> >> The file is understood by bioformats and I am using an up-to-date FIJI. >> >> Thanks and cheers, >> Kai >> >> -- >>>> Please note my NEW PHONE NUMBERS: +41 61 207 57 31 (direct) +41 61 207 22 50 (central)<< >> Kai Schleicher, PhD | Research Associate in Advanced Light Microscopy | Biozentrum, University of Basel | Klingelbergstrasse 50/70 | CH-4056 Basel | >> Phone: +41 61 207 57 31 (direct) +41 61 207 22 50 (central) | [hidden email] | www.biozentrum.unibas.ch | www.microscopynetwork.unibas.ch >> >> >> -- >> ImageJ mailing list: http://imagej.nih.gov/ij/list.html > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html -- >> Please note my NEW PHONE NUMBERS: +41 61 207 57 31 (direct) +41 61 207 22 50 (central)<< Kai Schleicher, PhD | Research Associate in Advanced Light Microscopy | Biozentrum, University of Basel | Klingelbergstrasse 50/70 | CH-4056 Basel | Phone: +41 61 207 57 31 (direct) +41 61 207 22 50 (central) | [hidden email] | www.biozentrum.unibas.ch | www.microscopynetwork.unibas.ch -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Hi all,
for the record, there are several issues on github that might be related to this topic: https://github.com/openmicroscopy/bioformats/issues/2898 https://github.com/fiji/Stitching/issues/42 @Kai: is there a specific reason you posted this here instead of the ImageJ forum [1]? :) Cheers Jan [1]: http://forum.imagej.net/ On 12.08.2017 13:13, Kai Schleicher wrote: > Hi Stephan, thanks for your reply and looking into this! > > I've uploaded another relevant example image > <https://filesender.switch.ch/filesender/?vid=19c77bc9-1421-9a29-b25f-00004de41858> > (~17GB). > > While the previous file has already been stitched (albeit badly) by the > "online" method implemented in the Zeiss Zen acquisition software, this > file here is completely raw and unstitched and furthermore has no pyramids. > > What I am hoping to accomplish is to > > * stitch the datasets (or restitch them better) > * use one of the methods as offered by the grid/collection stitched to > better deal with the dark frames that stem from bleaching where the > tiles overlap, e.g. linear blending or max intensity > > Thanks for your help and cheers, > Kai > > > On 08/10/2017 06:46 PM, [hidden email] wrote: >> Hi Kai, we are looking into that and keep you updated, thanks a lot! >> >> Cheers, >> Stephan >> >> Sent from my iPhone >> >>> On Aug 10, 2017, at 15:26, Kai Schleicher <[hidden email]> >>> wrote: >>> >>> I've acquired a tiled dataset (ca 10% overlap) on the Zeiss >>> AxioscanZ1 Slidescanner in the czi format using jpegXR compression. >>> >>> The czi contains a single scene (aka "scope"), all tiles recorded >>> across 3 channels and 7z planes, several lower res pyramid images as >>> well as snapshots of the slide and its label (download, ca 8GB >>> <https://filesender.switch.ch/filesender/?vid=66166618-ca5a-df49-4ac1-00000cdb5b73>). >>> >>> >>> I'd like to open this dataset and stitch it using either the >>> grid/collection stitcher or the BigStitcher, but so far both plugins >>> where not able to read the data. >>> >>> Is there a way I can make this possible or did I simply set the >>> plugins incorrectly? >>> >>> The file is understood by bioformats and I am using an up-to-date FIJI. >>> >>> Thanks and cheers, >>> Kai >>> >>> -- >>>>> Please note my NEW PHONE NUMBERS: +41 61 207 57 31 (direct) +41 61 >>>>> 207 22 50 (central)<< >>> Kai Schleicher, PhD | Research Associate in Advanced Light Microscopy >>> | Biozentrum, University of Basel | Klingelbergstrasse 50/70 | >>> CH-4056 Basel | >>> Phone: +41 61 207 57 31 (direct) +41 61 207 22 50 (central) | >>> [hidden email] | www.biozentrum.unibas.ch | >>> www.microscopynetwork.unibas.ch >>> >>> >>> -- >>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html >> -- >> ImageJ mailing list: http://imagej.nih.gov/ij/list.html > -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Thanks for all the help and ideas on how to do simple image-based spectroscopy!
My high school science camp kids will be taking CCD images of various spectra created by various spectrographs, and I needed a simple means for them to calibrate the images (via the ImageJ astronomy plugins and scripts), wavelength calibrate the final spectral images, and then plot them dynamically including the wavelength-calibration. The initial package with jar-file, toolset macros and “Spectroscopy” plugin directory is available at http://www.astro.physik.uni-goettingen.de/~hessman/ImageJ/Spectroscopy/ <http://www.astro.physik.uni-goettingen.de/~hessman/ImageJ/Spectroscopy/> (brief info and a zip file containing all you need): the process includes the following steps - configure by double-clicking on the ID icon (selection of spectral quantity, e.g. “Wavelength” or “Frequency”, units, and rectangle of ID ROI); - with the ID icon selected, identify calibration spectral lines by clicking on a known spectral feature in the image (creates a rectangular ROI from which the centroid is measured), and then being asked for the corresponding standard value (e.g. wavelength) so that the x-position and value can be entered in the Results table (was easier to write and is easier for first-time students to use than the RoiManager); - the “Wavelength Calibration” macro takes the Results table and fits a linear pixel(wavelength) dispersion relation (no, not wavelength(pixel) - the wavelengths are known and the positions are measured!) and shows a plot of the results; - the “Apply Calibration” macro calibrates the image using the standard ImageJ Calibration object by trivially inverting pixel(wavelength). - finally, the Calibrated_Profiler object can produce a plot of the calibrated image or a ROI within (if no ROI has been set, unlike the standard Profiler, then nearly the entire image is selected so that it’s easier to decide what to do - a full selection makes it hard to grasp the ROI’s grabbing points!). Since it’s impossible to do any analysis within the dynamic plot, the kids have to save their final result as a csv-file and work further in Excel/OpenOffice. If you’re only interested in (live) calibrated plots, there are also links to the two class files you’ll need at the link above. Unfortunately, work with prism spectrographs results in highly non-linear dispersion curves and the generic Calibration object really isn’t up to it. I’m trying to write a SpectralCalibration replacement that extends Calibrations POLY2 and POLY3 models to the spacial scale so that I could … SpectralCalibration spcal = new SpectralCalibration (…); imp.setCalibration (spcal); … and so be able to give non-linear results with getX() and getRawX(), but I’m hindered in transfering all the calibration info by all the private Calibration variables (sigh… what did I say…)! It would help to at least have a public Calibration (Calibration cal) method so that I could separate the old and new internal info via public SpectralCalibration (Calibration cal) { super (cal); mystuff = … } but I think the “private” fetishists have even blocked this. Remember: there are two main reasons for programming within the OO paradigm, and sub-classing is one of them. If you close doors to daughter classes, you have to create new doors for them. Since I’m starting to punt, I’ll simply have to do as well as I can and accept that SpectralCalibration will not be exactly the same in all the inner details. Will add SpectralCalibration to the package linked above when it works. Yes, I should be doing this within ImageJ2 - maybe all of this is trivial therein - but I have a “customer base" of schools and colleagues using ImageJ1 and AstroImageJ. Rick ------------------------------------------------------------------------------------------------ Dr. Frederic V. Hessman [hidden email] Institut für Astrophysik Tel. +49-551-39-5052 Friedrich-Hund-Platz 1 Fax +49-551-39-5043 37077 Goettingen Room F04-133 http://www.Astro.physik.Uni-Goettingen.de/~hessman ------------------------------------------------------------------------------------------------- MONET: a MOnitoring NEtwork of Telescopes http://monet.Uni-Goettingen.de ------------------------------------------------------------------------------------------------- -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Last update to the ImageJ list:
Adding non-linear spatial calibration was easier than I thought, so I managed to build in support for several standard ImageJ CurveFit functions that are easily inverted (need pixel(wavelength) and wavelength(pixel)). This makes the calibration model for the primary spatial axis the same as for the intensities. Generalisation to the other axes would be tricky... I also added metadata support so that an image, once calibrated, can be stored as a FITS file and re-constituted when read back in by re-calibration using the internal metadata. Although there are various World Coordinate System (WCS) implementations for astronomical spectra around, few offer the functional flexibility I needed for prism spectra, so I dreamed up my own simple metadata standard using the usual FITS keyword=value / comment model: here’s a snippet from the image info: COMMENT ImageJ Spectroscopy package Version 2017-AUG-18 SP-QUANT= 'Wavelength' / spectral quantity of x-axis SP-UNITS= 'Angstroms' / spectral units of x-axis SP-MODEL= 'Exponential with Offset' / spectral dispersion model SP-FUNCT= 'pixel = c0*exp(-c1*w)+c2' / spectral dispersion function SP-COEF0= 3418.8907 / spectral coefficient SP-COEF1= 8.91E-4 / spectral coefficient SP-COEF2= 293.2363 / spectral coefficient SP-COEF3= 0.0 / spectral coefficient This does require my astroj.jar file (for FitsJ) that automatically comes with the Astronomy package or with AstroImageJ but can also be downloaded from my Spectroscopy page at http://www.astro.physik.uni-goettingen.de/~hessman/ImageJ/Spectroscopy/ Examples of how things work and what everything looks like can be found at the link above, but here’s a calibrated profile showing how the Hg lines are broadened in wavelength due to the non-linear dispersion curve when plotted linearly in wavelength. Rick > On 17 Aug 2017, at 09:09, Frederic V. Hessman <[hidden email]> wrote: > > Thanks for all the help and ideas on how to do simple image-based spectroscopy! > > > My high school science camp kids will be taking CCD images of various spectra created by various spectrographs, and I needed a simple means for them to calibrate the images (via the ImageJ astronomy plugins and scripts), wavelength calibrate the final spectral images, and then plot them dynamically including the wavelength-calibration. > > The initial package with jar-file, toolset macros and “Spectroscopy” plugin directory is available at http://www.astro.physik.uni-goettingen.de/~hessman/ImageJ/Spectroscopy/ <http://www.astro.physik.uni-goettingen.de/~hessman/ImageJ/Spectroscopy/> (brief info and a zip file containing all you need): the process includes the following steps > > - configure by double-clicking on the ID icon (selection of spectral quantity, e.g. “Wavelength” or “Frequency”, units, and rectangle of ID ROI); > > - with the ID icon selected, identify calibration spectral lines by clicking on a known spectral feature in the image (creates a rectangular ROI from which the centroid is measured), and then being asked for the corresponding standard value (e.g. wavelength) so that the x-position and value can be entered in the Results table (was easier to write and is easier for first-time students to use than the RoiManager); > > - the “Wavelength Calibration” macro takes the Results table and fits a linear pixel(wavelength) dispersion relation (no, not wavelength(pixel) - the wavelengths are known and the positions are measured!) and shows a plot of the results; > > - the “Apply Calibration” macro calibrates the image using the standard ImageJ Calibration object by trivially inverting pixel(wavelength). > > - finally, the Calibrated_Profiler object can produce a plot of the calibrated image or a ROI within (if no ROI has been set, unlike the standard Profiler, then nearly the entire image is selected so that it’s easier to decide what to do - a full selection makes it hard to grasp the ROI’s grabbing points!). > > Since it’s impossible to do any analysis within the dynamic plot, the kids have to save their final result as a csv-file and work further in Excel/OpenOffice. > > If you’re only interested in (live) calibrated plots, there are also links to the two class files you’ll need at the link above. > > > Unfortunately, work with prism spectrographs results in highly non-linear dispersion curves and the generic Calibration object really isn’t up to it. I’m trying to write a SpectralCalibration replacement that extends Calibrations POLY2 and POLY3 models to the spacial scale so that I could > > … > SpectralCalibration spcal = new SpectralCalibration (…); > imp.setCalibration (spcal); > … > > and so be able to give non-linear results with getX() and getRawX(), but I’m hindered in transfering all the calibration info by all the private Calibration variables (sigh… what did I say…)! It would help to at least have a > > public Calibration (Calibration cal) > > method so that I could separate the old and new internal info via > > public SpectralCalibration (Calibration cal) > { > super (cal); > mystuff = … > } > > but I think the “private” fetishists have even blocked this. Remember: there are two main reasons for programming within the OO paradigm, and sub-classing is one of them. If you close doors to daughter classes, you have to create new doors for them. > > Since I’m starting to punt, I’ll simply have to do as well as I can and accept that SpectralCalibration will not be exactly the same in all the inner details. Will add SpectralCalibration to the package linked above when it works. > > Yes, I should be doing this within ImageJ2 - maybe all of this is trivial therein - but I have a “customer base" of schools and colleagues using ImageJ1 and AstroImageJ. > > Rick > > > > ------------------------------------------------------------------------------------------------ > Dr. Frederic V. Hessman [hidden email] > Institut für Astrophysik Tel. +49-551-39-5052 > Friedrich-Hund-Platz 1 Fax +49-551-39-5043 > 37077 Goettingen Room F04-133 > http://www.Astro.physik.Uni-Goettingen.de/~hessman > ------------------------------------------------------------------------------------------------- > MONET: a MOnitoring NEtwork of Telescopes > http://monet.Uni-Goettingen.de > ------------------------------------------------------------------------------------------------- > > > > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html calibrated.png (14K) Download Attachment |
Hmmm…. my email went out but didn’t contain the text I sent, so here’s the text to the plot again….
------------------------------------------ Last update to the ImageJ list: Adding non-linear spatial calibration was easier than I thought, so I managed to build in support for several standard ImageJ CurveFit functions that are easily inverted (need pixel(wavelength) and wavelength(pixel)). This makes the calibration model for the primary spatial axis the same as for the intensities. Generalisation to the other axes would be tricky... I also added metadata support so that an image, once calibrated, can be stored as a FITS file and re-constituted when read back in by re-calibration using the internal metadata. Although there are various World Coordinate System (WCS) implementations for astronomical spectra around, few offer the functional flexibility I needed for prism spectra, so I dreamed up my own simple metadata standard using the usual FITS keyword=value / comment model: here’s a snippet from the image info: COMMENT ImageJ Spectroscopy package Version 2017-AUG-18 SP-QUANT= 'Wavelength' / spectral quantity of x-axis SP-UNITS= 'Angstroms' / spectral units of x-axis SP-MODEL= 'Exponential with Offset' / spectral dispersion model SP-FUNCT= 'pixel = c0*exp(-c1*w)+c2' / spectral dispersion function SP-COEF0= 3418.8907 / spectral coefficient SP-COEF1= 8.91E-4 / spectral coefficient SP-COEF2= 293.2363 / spectral coefficient SP-COEF3= 0.0 / spectral coefficient This does require my astroj.jar file (for FitsJ) that automatically comes with the Astronomy package or with AstroImageJ but can also be downloaded from my Spectroscopy page at http://www.astro.physik.uni-goettingen.de/~hessman/ImageJ/Spectroscopy/ <http://www.astro.physik.uni-goettingen.de/~hessman/ImageJ/Spectroscopy/> Examples of how things work and what everything looks like can be found at the link above, but here’s a calibrated profile showing how the Hg lines are broadened in wavelength due to the non-linear dispersion curve when plotted linearly in wavelength. Rick -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Free forum by Nabble | Edit this page |