[ome-users] loci_tools with Nikon ND2 files - Excessive metdadata entries for time + multipoint stack

Enno R. Oldewurtel enno.oldewurtel at uni-koeln.de
Fri Jun 28 07:44:51 BST 2013


Hi Melissa,

thanks for quick reply! getSeriesMetadata() pointed me into the right
direction. In combination with getGlobalMetadata() I can now get all
relevant info. As far as I understand getMetadata() simply gives
GlobalMetadata plus the SeriesMetadata for each position (number of entries
in GlobalMetadata + SeriesCount * number of entries in SeriesMetadata =
number of entries in Metadata; at least in my case).

This certainly helps me for my image processing in Matlab. However, is this
still a problem for people opening large time+XY nd2 images from imageJ
using the loci_tools plugin? Does imageJ always call getMetadata() when
opening nd2 files, or only if metadata is marked for display?

Best wishes,
Enno


On Thu, Jun 27, 2013 at 5:41 PM, Melissa Linkert <
melissa at glencoesoftware.com> wrote:

> Hi Enno,
>
> > I am using loci_tools.jar to read out Nikon ND2 files obtained with
> > NIS-Elements AR 4.00.03 (Build 775).
> >
> > I record nd2 files with several timepoints and multipoints (XY). Without
> > time dimension assigned the metadata shows entries for each x,y,z and
> time
> > position only once, but whenever there is also a time dimension, each XY
> > point is treated as one series point and for each series point the x,y,z
> > and time information is repeated.
> > This repeat causes a large size increase of the metadata. I read in the
> > metadataList using the getMetadata() in Matlab and frequently get a
> > metadataList with a few million entries, causing a large increase in
> memory
> > usage. For one special experiment I had to obtain a few thousand
> > multipoints and neither Matlab nor imageJ managed to open this.
> >
> > Is it possible to change the metadata structure obtained from nd2 files
> in
> > such a way that there are no repeats?
> >
> > In case this is not possible, is there a way to extract the information
> > within the usual Metadata List in a different way. That way I might be
> able
> > to leave out the .getMetadata() and create the metadataList manually,
> > although I'd prefer to directly access a complete list of metadata.
> >
> > At the bottom I give some of the metadata of a nd2 file one obtained with
> > time dimension turned on, causing the increase of size for a small nd2
> file
> > with only 6 XY points.
>
> Thank you for the report.  If you are using bfopen.m, we now have a fix
> for this under review:
>
> https://github.com/openmicroscopy/bioformats/pull/573
>
> If you are using your own .m file that has a call to getMetadata(), then
> the solution would be to call getSeriesMetadata() instead; that will
> give you only the metadata for the current position.
>
> Regards,
> -Melissa
>
>
> On Wed, Jun 26, 2013 at 03:12:52PM +0200, Enno R. Oldewurtel wrote:
> > Dear all,
> >
> > I am using loci_tools.jar to read out Nikon ND2 files obtained with
> > NIS-Elements AR 4.00.03 (Build 775).
> >
> > I record nd2 files with several timepoints and multipoints (XY). Without
> > time dimension assigned the metadata shows entries for each x,y,z and
> time
> > position only once, but whenever there is also a time dimension, each XY
> > point is treated as one series point and for each series point the x,y,z
> > and time information is repeated.
> > This repeat causes a large size increase of the metadata. I read in the
> > metadataList using the getMetadata() in Matlab and frequently get a
> > metadataList with a few million entries, causing a large increase in
> memory
> > usage. For one special experiment I had to obtain a few thousand
> > multipoints and neither Matlab nor imageJ managed to open this.
> >
> > Is it possible to change the metadata structure obtained from nd2 files
> in
> > such a way that there are no repeats?
> >
> > In case this is not possible, is there a way to extract the information
> > within the usual Metadata List in a different way. That way I might be
> able
> > to leave out the .getMetadata() and create the metadataList manually,
> > although I'd prefer to directly access a complete list of metadata.
> >
> > At the bottom I give some of the metadata of a nd2 file one obtained with
> > time dimension turned on, causing the increase of size for a small nd2
> file
> > with only 6 XY points.
> >
> > I have two example nd2. One without the repeats of metadata, since I
> turned
> > the time dimension off, and one with it being turned on during
> acquisition.
> > I will submit those to the OME's QA system.
> >
> >
> > Many thanks for your great work and support. I hope someone can help me
> out
> > on this one.
> > Enno
> >
> >
> > MP2x3_Ch1_T1_timeOn.nd2 (series 1) X position    -71158.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 1) Y position    59268.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 1) Z position for position, plane #1
> > 499.975
> > MP2x3_Ch1_T1_timeOn.nd2 (series 1) Z position for position, plane #2
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 1) Z position for position, plane #3
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 1) Z position for position, plane #4
> > 499.975
> > MP2x3_Ch1_T1_timeOn.nd2 (series 1) Z position for position, plane #5
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 1) Z position for position, plane #6
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 1) timestamp #1    1.5470483098831027
> > MP2x3_Ch1_T1_timeOn.nd2 (series 1) timestamp #2    3.1381038113413378
> > MP2x3_Ch1_T1_timeOn.nd2 (series 1) timestamp #3    3.808205685772933
> > MP2x3_Ch1_T1_timeOn.nd2 (series 1) timestamp #4    4.541229801683687
> > MP2x3_Ch1_T1_timeOn.nd2 (series 1) timestamp #5    6.136187115310691
> > MP2x3_Ch1_T1_timeOn.nd2 (series 1) timestamp #6    6.8340883906930685
> > MP2x3_Ch1_T1_timeOn.nd2 (series 2) X position    -71158.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 2) Y position    59268.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 2) Z position for position, plane #1
> > 499.975
> > MP2x3_Ch1_T1_timeOn.nd2 (series 2) Z position for position, plane #2
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 2) Z position for position, plane #3
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 2) Z position for position, plane #4
> > 499.975
> > MP2x3_Ch1_T1_timeOn.nd2 (series 2) Z position for position, plane #5
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 2) Z position for position, plane #6
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 2) timestamp #1    1.5470483098831027
> > MP2x3_Ch1_T1_timeOn.nd2 (series 2) timestamp #2    3.1381038113413378
> > MP2x3_Ch1_T1_timeOn.nd2 (series 2) timestamp #3    3.808205685772933
> > MP2x3_Ch1_T1_timeOn.nd2 (series 2) timestamp #4    4.541229801683687
> > MP2x3_Ch1_T1_timeOn.nd2 (series 2) timestamp #5    6.136187115310691
> > MP2x3_Ch1_T1_timeOn.nd2 (series 2) timestamp #6    6.8340883906930685
> > MP2x3_Ch1_T1_timeOn.nd2 (series 3) X position    -71158.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 3) Y position    59268.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 3) Z position for position, plane #1
> > 499.975
> > MP2x3_Ch1_T1_timeOn.nd2 (series 3) Z position for position, plane #2
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 3) Z position for position, plane #3
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 3) Z position for position, plane #4
> > 499.975
> > MP2x3_Ch1_T1_timeOn.nd2 (series 3) Z position for position, plane #5
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 3) Z position for position, plane #6
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 3) timestamp #1    1.5470483098831027
> > MP2x3_Ch1_T1_timeOn.nd2 (series 3) timestamp #2    3.1381038113413378
> > MP2x3_Ch1_T1_timeOn.nd2 (series 3) timestamp #3    3.808205685772933
> > MP2x3_Ch1_T1_timeOn.nd2 (series 3) timestamp #4    4.541229801683687
> > MP2x3_Ch1_T1_timeOn.nd2 (series 3) timestamp #5    6.136187115310691
> > MP2x3_Ch1_T1_timeOn.nd2 (series 3) timestamp #6    6.8340883906930685
> > MP2x3_Ch1_T1_timeOn.nd2 (series 4) X position    -71158.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 4) Y position    59268.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 4) Z position for position, plane #1
> > 499.975
> > MP2x3_Ch1_T1_timeOn.nd2 (series 4) Z position for position, plane #2
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 4) Z position for position, plane #3
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 4) Z position for position, plane #4
> > 499.975
> > MP2x3_Ch1_T1_timeOn.nd2 (series 4) Z position for position, plane #5
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 4) Z position for position, plane #6
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 4) timestamp #1    1.5470483098831027
> > MP2x3_Ch1_T1_timeOn.nd2 (series 4) timestamp #2    3.1381038113413378
> > MP2x3_Ch1_T1_timeOn.nd2 (series 4) timestamp #3    3.808205685772933
> > MP2x3_Ch1_T1_timeOn.nd2 (series 4) timestamp #4    4.541229801683687
> > MP2x3_Ch1_T1_timeOn.nd2 (series 4) timestamp #5    6.136187115310691
> > MP2x3_Ch1_T1_timeOn.nd2 (series 4) timestamp #6    6.8340883906930685
> > MP2x3_Ch1_T1_timeOn.nd2 (series 5) X position    -71158.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 5) Y position    59268.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 5) Z position for position, plane #1
> > 499.975
> > MP2x3_Ch1_T1_timeOn.nd2 (series 5) Z position for position, plane #2
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 5) Z position for position, plane #3
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 5) Z position for position, plane #4
> > 499.975
> > MP2x3_Ch1_T1_timeOn.nd2 (series 5) Z position for position, plane #5
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 5) Z position for position, plane #6
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 5) timestamp #1    1.5470483098831027
> > MP2x3_Ch1_T1_timeOn.nd2 (series 5) timestamp #2    3.1381038113413378
> > MP2x3_Ch1_T1_timeOn.nd2 (series 5) timestamp #3    3.808205685772933
> > MP2x3_Ch1_T1_timeOn.nd2 (series 5) timestamp #4    4.541229801683687
> > MP2x3_Ch1_T1_timeOn.nd2 (series 5) timestamp #5    6.136187115310691
> > MP2x3_Ch1_T1_timeOn.nd2 (series 5) timestamp #6    6.8340883906930685
> > MP2x3_Ch1_T1_timeOn.nd2 (series 6) X position    -71158.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 6) Y position    59268.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 6) Z position for position, plane #1
> > 499.975
> > MP2x3_Ch1_T1_timeOn.nd2 (series 6) Z position for position, plane #2
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 6) Z position for position, plane #3
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 6) Z position for position, plane #4
> > 499.975
> > MP2x3_Ch1_T1_timeOn.nd2 (series 6) Z position for position, plane #5
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 6) Z position for position, plane #6
> > 500.0
> > MP2x3_Ch1_T1_timeOn.nd2 (series 6) timestamp #1    1.5470483098831027
> > MP2x3_Ch1_T1_timeOn.nd2 (series 6) timestamp #2    3.1381038113413378
> > MP2x3_Ch1_T1_timeOn.nd2 (series 6) timestamp #3    3.808205685772933
> > MP2x3_Ch1_T1_timeOn.nd2 (series 6) timestamp #4    4.541229801683687
> > MP2x3_Ch1_T1_timeOn.nd2 (series 6) timestamp #5    6.136187115310691
> > MP2x3_Ch1_T1_timeOn.nd2 (series 6) timestamp #6    6.8340883906930685
> >
> >
> > --
> > Enno R. Oldewurtel
> > AG Prof. B. Maier / Biophysics Group
> > Biozentrum
> > Universitaet zu Koeln
> > Zuelpicher Str. 47b
> > 50674 Koeln
> >
> > enno.oldewurtel at uni-koeln.de
> > Tel: +49-221-470-8048
> > Fax: +49-221-470-6230
> > http://www.biophysics.uni-koeln.de/
>
> > _______________________________________________
> > ome-users mailing list
> > ome-users at lists.openmicroscopy.org.uk
> > http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-users
>
>


-- 
Enno R. Oldewurtel
AG Prof. B. Maier / Biophysics Group
Biozentrum
Universitaet zu Koeln
Zuelpicher Str. 47b
50674 Koeln

enno.oldewurtel at uni-koeln.de
Tel: +49-221-470-8048
Fax: +49-221-470-6230
http://www.biophysics.uni-koeln.de/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openmicroscopy.org.uk/pipermail/ome-users/attachments/20130628/b32babd5/attachment.html>


More information about the ome-users mailing list