<div dir="ltr"><div><div><div>Hi Melissa,<br><br>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).<br>

<br></div>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?<br>

<br></div>Best wishes,<br></div>Enno<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jun 27, 2013 at 5:41 PM, Melissa Linkert <span dir="ltr"><<a href="mailto:melissa@glencoesoftware.com" target="_blank">melissa@glencoesoftware.com</a>></span> wrote:<br>

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

Tel: +49-221-470-8048<br>Fax: +49-221-470-6230<br><a href="http://www.biophysics.uni-koeln.de/" target="_blank">http://www.biophysics.uni-koeln.de/</a>
</div>