16

This is half tip, half question. If one tries to put a large amount of data inside the Initialization:>(code) part of a Manipulate, as one may be compelled to do in a Demonstration or where one wants to create a self-contained CDF document, I find that the Front End gets bogged down trying to format the input. One way around this that I've discovered is to embed the data inside a Raster. Thus:

embedded=Framed@Graphics[Raster[bigdata]] (*Framed is so you can see it*)

The visual output is meaningless. But ... you can then cut and paste the Framed object inside your initialization block and get the data out easily

Manipuate[f[data,n],{n,0,1},
Initialization:>(embedded=(*paste cut framed graphic here*);
data=embedded[[1,1,1]])
]

So far as I can tell, this works. But it depends on an abuse of Raster and Graphics. Does anyone have suggestions about alternative means of putting large amounts of data inside a Manipulate?

Seth Chandler
  • 3,132
  • 14
  • 25

1 Answers1

7

Since we were talking about EXIF information yesterday (any compression to be added on top):

data = Image[Circle[] // Graphics, 
  MetaInformation -> {"The Data" -> 
     ExampleData[{"Text", "OriginOfSpecies"}]}]
MetaInformation /. Options[data]

Mathematica graphics

Sorry for blowing up the thread, but this also works nicely, Matryoshka style: Mathematica graphics

Yves Klett
  • 15,383
  • 5
  • 57
  • 124