80 likes | 159 Views
Inside VisiGene. Parallel programming constructs:. Para: executes in parallel on all items in a collection. Flow: marks a function as having no side effects. Virtual Microscope. Galt’s bigImage.html file Image is saved at full size, 1/2 size, 1/4 size, and so on down to 1/64 size.
E N D
Parallel programming constructs: • Para: executes in parallel on all items in a collection. • Flow: marks a function as having no side effects.
Virtual Microscope • Galt’s bigImage.html file • Image is saved at full size, 1/2 size, 1/4 size, and so on down to 1/64 size. • Broken into 500x500 pixel tiles. • Uses JavaScript to fetch just the tiles needed for the part being displayed.
A whole lot of tiles… • Allen Brain images are ~15000x15000 • Generate 500 tiles each • Overall have ~3 million tiles covering 89000 images • Have at least one image for 14679 genes.
The JPEG 2000 Challenge • Allen uses JPEG 2000, which is based on wavelet compression rather than discrete cosine transform of regular JPEG. • JPEG 2000 not widely supported yet. • After much experimentation with what was available on net, Galt found ECW toolkit, which is very nice, fast and free. • The program based on the ECW toolkit converts an Allen JPEG 2000 images to tiled JPEG at rate of ~1/minute on a single CPU.
VisiGene Loading in General • Get images and data from contributors. • Write a program to convert data into a standard .ra/.tab file format. • Create image tiles with vgPrepImage • Load .ra/.tab file into relational database with visiGeneLoad • Associate known genes with knownToVisiGene • View with hgVisiGene
Near Term Additions • Updating Jackson Labs images. (Over 6 months old) • Load frog images from Harland lab • Bring in zebrafish images from zfin
Possible Long Term Projects • Making it so that users can submit images over the web. • Allowing contributors to normalize and crop images in their own sand box before making images public.