{"id":1345,"date":"2011-05-28T00:27:26","date_gmt":"2011-05-28T00:27:26","guid":{"rendered":"http:\/\/labrigger.com\/blog\/?p=1345"},"modified":"2011-05-28T08:56:38","modified_gmt":"2011-05-28T08:56:38","slug":"hdf5-xml-sdcubes","status":"publish","type":"post","link":"http:\/\/labrigger.com\/blog\/2011\/05\/28\/hdf5-xml-sdcubes\/","title":{"rendered":"HDF5 + XML = SDCubes"},"content":{"rendered":"<p align=\"center\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labrigger.com\/blog\/wp-content\/uploads\/2011\/05\/sdcubes1.png\" alt=\"\" title=\"SDCubes\" width=\"600\" height=\"204\" class=\"aligncenter size-full wp-image-1348\" srcset=\"http:\/\/labrigger.com\/blog\/wp-content\/uploads\/2011\/05\/sdcubes1.png 600w, http:\/\/labrigger.com\/blog\/wp-content\/uploads\/2011\/05\/sdcubes1-300x102.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>A paper on data organization just came out in Nature Methods (<a href=\"http:\/\/www.nature.com\/nmeth\/journal\/v8\/n6\/full\/nmeth.1600.html\">Millard et al. 2011<\/a>, <a href=\"http:\/\/www.nature.com\/nmeth\/journal\/v8\/n6\/full\/nmeth.1616.html\">commentary by Swedlow et al.<\/a>). They believe, <a href=\"http:\/\/labrigger.com\/blog\/2011\/05\/09\/datas-killer-app\/\">as do I<\/a>, that using <a href=\"http:\/\/en.wikipedia.org\/wiki\/XML\">XML<\/a> schema to organize data is a good way to simplify automated analysis. For the primary container, they use <a href=\"http:\/\/www.hdfgroup.org\/HDF5\/\">HDF5<\/a>. Fun fact for all the MATLAB users in the audience (<a href=\"http:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/27350-c-class-to-write-hdf5-mat-files\">from Tim at Imperial College<\/a>):<\/p>\n<blockquote><p>The .mat file format is simply an HDF5 file with a pointless header prepended.<\/p><\/blockquote>\n<p>They call the XML metadata+HDF5 data combos &#8220;SDCubes&#8221;, for <strong>S<\/strong>emantically typed <strong>D<\/strong>ata hyper<strong>Cubes<\/strong>. Why cubes? That suggests that they are the same size along all axes, which they probably aren&#8217;t. If you don&#8217;t like <em>hyperrectangle<\/em>, you can use <em>orthotope<\/em>. One point that is lost in the figure I put above is the idea that the axes do not have to be continuous. There can be gaps and jumps. There can also be piles of data that all share one point on an axis, if that suits the data.<\/p>\n<p>I like this approach because it is very general and simple. It consists of two file formats that are already being used by many researchers. In a way, the authors didn&#8217;t &#8220;create&#8221; anything. Hopefully this paper will give the strategy some added credibility and help to standardize it. Then people can concentrate on developing tools for working with data in this system, rather than developing new formats all the time.<\/p>\n","protected":false},"excerpt":{"rendered":"<p align=\"center\">\n<p>A paper on data organization just came out in Nature Methods (<a href=\"http:\/\/www.nature.com\/nmeth\/journal\/v8\/n6\/full\/nmeth.1600.html\">Millard et al. 2011<\/a>, <a href=\"http:\/\/www.nature.com\/nmeth\/journal\/v8\/n6\/full\/nmeth.1616.html\">commentary by Swedlow et al.<\/a>). They believe, <a href=\"http:\/\/labrigger.com\/blog\/2011\/05\/09\/datas-killer-app\/\">as do I<\/a>, that using <a href=\"http:\/\/en.wikipedia.org\/wiki\/XML\">XML<\/a> schema to&#8230;<\/p>\n<div class=\"read-more\"><a href=\"http:\/\/labrigger.com\/blog\/2011\/05\/28\/hdf5-xml-sdcubes\/\">Read More<\/a><\/div><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[25,29,30,24,33],"class_list":["post-1345","post","type-post","status-publish","format-standard","hentry","category-software","tag-analysis","tag-collaboration","tag-computing","tag-dissemination","tag-openness"],"_links":{"self":[{"href":"http:\/\/labrigger.com\/blog\/wp-json\/wp\/v2\/posts\/1345","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/labrigger.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/labrigger.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/labrigger.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/labrigger.com\/blog\/wp-json\/wp\/v2\/comments?post=1345"}],"version-history":[{"count":15,"href":"http:\/\/labrigger.com\/blog\/wp-json\/wp\/v2\/posts\/1345\/revisions"}],"predecessor-version":[{"id":1362,"href":"http:\/\/labrigger.com\/blog\/wp-json\/wp\/v2\/posts\/1345\/revisions\/1362"}],"wp:attachment":[{"href":"http:\/\/labrigger.com\/blog\/wp-json\/wp\/v2\/media?parent=1345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/labrigger.com\/blog\/wp-json\/wp\/v2\/categories?post=1345"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/labrigger.com\/blog\/wp-json\/wp\/v2\/tags?post=1345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}