How to specify the data-range with Import
- To: mathgroup at smc.vnet.net
- Subject: [mg122805] How to specify the data-range with Import
- From: Patrick Scheibe <pscheibe at trm.uni-leipzig.de>
- Date: Fri, 11 Nov 2011 04:53:38 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
Hi,
following (old) example of a multi-image
img = ColorConvert[ExampleData[{"TestImage", "Lena"}], "Grayscale"];
Export["lena_multi.tif", Table[img, {10}], "TIFF"];
With Import one can now specify that only the "Data" of the first 3
images are required:
In[45]:= Import["lena_multi.tif", {"Data", {1, 2, 3}}] // Dimensions
Out[45]= {3, 512, 512}
works like a charm. But trying to import 50 of say 1000 images is
slightly cumbersome this way. And now the fun starts:
Import["lena_multi.tif", {"Data", Range[3]}] // Dimensions
gives
Import::noelem: The Import element "FrameNum" is not present when
importing as TIFF. >>
maybe Import has some Hold attribute (which it *doesn't*)
Import["lena_multi.tif", Evaluate[{"Data", Range[3]}]] // Dimensions
doesn't work
With[{range = Range[3]},
Import["lena_multi.tif", {"Data", range}] // Dimensions
]
doesn't work. And so on and so on.. Luckily, we this very intuitive
construct
In[50]:= Release[
Hold[Import["tmp/lena_multi.tif", {"Data", range}]] /.
range -> Range[3]] // Dimensions
Out[50]= {3, 512, 512}
Please, could someone enlighten me?
Cheers
Patrick
PS: My system here is Linux-x86-64 with Ubuntu 10.04 and Mathematica 8.0.4
- Follow-Ups:
- Re: How to specify the data-range with Import
- From: Patrick Scheibe <pscheibe@trm.uni-leipzig.de>
- Re: How to specify the data-range with Import
- From: Oliver Ruebenkoenig <ruebenko@wolfram.com>
- Re: How to specify the data-range with Import