MathGroup Archive 2013

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

Search the Archive

Re: What happend to Image?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg130759] Re: What happend to Image?
  • From: Matthias Odisio <matthias at wolfram.com>
  • Date: Fri, 10 May 2013 00:32:27 -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> <20130509064546.C1A5E6A17@smc.vnet.net> <CAEtRDSc_KY2BGGE37XbDV-c6x8rN9cde3jh=R-QUNVSbtH6xOA@mail.gmail.com>

On 5/9/13 9:48 AM, Bob Hanlon wrote:
> "As of Mathematica 9, Image objects are atomic."
> 
> Then someone at Wolfram needs to update the documentation since it states
> for Image:
> 
> "New in 7 | Last modified in 8"
> 
> 
> Bob Hanlon
> 
> 
> On Thu, May 9, 2013 at 2:45 AM, Matthias Odisio <matthias at wolfram.com>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
>>

Thanks for the relevant suggestion, Bob Hanlon.

Point taken. So far image processing functions have been tagged as
"Modified in x" only after update in documentation or design.

Matthias Odisio
Wolfram Research



  • Prev by Date: Re: Parity of EllipticTheta
  • Next by Date: Re: Import vs Macintosh Aliases
  • Previous by thread: Re: What happend to Image?
  • Next by thread: Re: What happend to Image?