MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: What happend to Image?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg130755] Re: What happend to Image?
  • From: David Bailey <dave at removedbailey.co.uk>
  • Date: Fri, 10 May 2013 00:31:06 -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> <kmfksk$br3$1@smc.vnet.net>

On 09/05/2013 08:57, Matthias Odisio wrote:
> 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
>
As you say, there are obvious reasons to make certain objects atomic, 
though Image objects aren't yet quite atomic - try

Import["ExampleData/lena.tif"] // Length

or indeed

Import["ExampleData/lena.tif"] // InputForm

I also think it might help to be very upfront about such changes when a 
new version of Mathematica is released!

David Bailey
http://www.dbaileyconsultancy.co.uk





  • Prev by Date: Re: What happend to Image?
  • Next by Date: Re: What happend to Image?
  • Previous by thread: Re: What happend to Image?
  • Next by thread: Re: What happend to Image?