# Putting large amounts of data inside a self-contained Manipulate

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?

-
+1 Great question, had similar problems. Perhaps one can also use Compress. – Ajasja Dec 6 '12 at 14:54
Welcome to Mathematica.SE, Seth! – Yves Klett Dec 6 '12 at 14:55
@Ajasja Which is not dissimilar, since Compress is effectively used by images. – Leonid Shifrin Dec 6 '12 at 14:55
I second Yves. Welcome, Seth! – Leonid Shifrin Dec 6 '12 at 14:56
Would you mind supplying some bigdata to play around with? – Yves Klett Dec 6 '12 at 14:56

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]


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

-
Clever. Any known restrictions to EXIF data size? – Sjoerd C. de Vries Dec 6 '12 at 15:10
@SjoerdC.deVries good question... from the Mathematica point of view it is simply an option, so internally probably no explicit limit? – Yves Klett Dec 6 '12 at 15:12
@SjoerdC.deVries also this is MetaInformation and just derived from the EXIF thread. It might be interesting to check if Export and re-Import with EXIF data works. See also this one: What is the maximum size of JPEG metadata? – Yves Klett Dec 6 '12 at 15:23