Re: What happend to Image?
- To: mathgroup at smc.vnet.net
- Subject: [mg130754] Re: What happend to Image?
- From: Matthias Odisio <matthias at wolfram.com>
- Date: Thu, 9 May 2013 02:45:46 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
- References: <20130508080952.52D386837@smc.vnet.net>
Dear Alexei Boulbitch, On 5/8/13 3:09 AM, Alexei Boulbitch wrote: > Dear Community, > > I just noticed that the function Image[ ] has unexpectedly changed since 9.0.0. > > Some time ago I have written a handy program working with the image. I have once published it here. Among others this program applied the operation > > ReplacePart[image,{4,2}?size] > > Where image was the image in use and size has been a parameter equal to a desired ImageSize option. This worked previously. Now it does not. > > I checked that the Image indeed has changed somehow. > > Let us load any image. For example, this: > > lena = Import["ExampleData/lena.tif"] > > One may check that this is indeed an image: > > Head[lena] > > Image > > Let us do like this: > > lena2= Image[lena, ImageSize -> 300] > > then the {{4,2}} part should memorize its size. > > One may look at its TreeForm (evaluate this and make sure that it has levels 0, 1, and 2), and {{4,2}} is indeed 300 > > TreeForm[lena2] > > However, if one would evaluate this > > Lena2[[4,2]] > > he get the message > Part::partd: Part specification... is longer than depth of object\"" > > Not only {{4,2}}, but also other leaves of the tree are not acceccible. > > What happened to the Image? > > Alexei > > > Alexei BOULBITCH, Dr., habil. > IEE S.A. > ZAE Weiergewan, > 11, rue Edmond Reuter, > L-5326 Contern, LUXEMBOURG > > Office phone : +352-2454-2566 > Office fax: +352-2454-3566 > mobile phone: +49 151 52 40 66 44 > > e-mail: alexei.boulbitch at iee.lu > As of Mathematica 9, Image objects are atomic. Wolfram Research has a strong commitment to and a track record of preserving legacy across versions. Before Mathematica 9, it was never documented, advised, or advertised to access or replace parts of an Image object. All these operations should be performed using documented functions like Image, ImageData, ImageQ, etc. Image objects are atomic so it is easier for Wolfram Research to expand the scope of image processing features while maintaining an internal representation which is as efficient as possible. As you found out, one can change the displayed size of an image using Image: lena = Import["ExampleData/lena.tif"]; newimg = Image[lena, ImageSize -> newsize] Options[#, ImageSize] & /@ {lena, newimg} Matthias Odisio Wolfram Research
- References:
- What happend to Image?
- From: Alexei Boulbitch <Alexei.Boulbitch@iee.lu>
- What happend to Image?