{"id":66,"date":"2006-03-17T18:57:42","date_gmt":"2006-03-17T18:57:42","guid":{"rendered":"http:\/\/ahay.org\/blog\/?p=66"},"modified":"2015-08-04T23:51:49","modified_gmt":"2015-08-04T23:51:49","slug":"rsf-hypercubes-acquire-physical-dimensions","status":"publish","type":"post","link":"https:\/\/ahay.org\/blog\/2006\/03\/17\/rsf-hypercubes-acquire-physical-dimensions\/","title":{"rendered":"RSF hypercubes acquire physical dimensions"},"content":{"rendered":"<p>At the suggestion of Gilles Hennenfent, certain RSF programs now recognize <b>unit1=<\/b>, <b>unit2=<\/b>, etc keywords in addition to <b>label1=<\/b>, <b>label2=<\/b>, etc. This allows for more control on physical dimensionality.<br \/>\nHere is an example of having some fun with physical units:<\/p>\n<ol>\n<li>Create some data.\n<div class=\"code-box\"><div class=\"code-title\"><i class=\"fa fa-code\"><\/i> <div class=\"pull-right\"><a href=\"#\" class=\"btn btn-default btn-xs toggle-code\" data-toggle=\"tooltip\" title=\"Toggle code\"><i class=\"fa fa-toggle-up\"><\/i><\/a><\/div><\/div><pre >\nbash$ sfspike n1=100 n2=100 > spike.rsf\nbash$ sfin spike.rsf\nspike.rsf:\nin=\"\/var\/scratch\/spike.rsf@\"\nesize=4 type=float form=native\nn1=100         d1=0.004       o1=0          label1=\"Time\" unit1=\"s\"\nn2=100         d2=0.1         o2=0          label2=\"Distance\" unit2=\"km\"\n10000 elements 40000 bytes\n<\/pre><\/div>\n<\/li>\n<li>Convert kilometers to feet:\n<div class=\"code-box\"><div class=\"code-title\"><i class=\"fa fa-code\"><\/i> <div class=\"pull-right\"><a href=\"#\" class=\"btn btn-default btn-xs toggle-code\" data-toggle=\"tooltip\" title=\"Toggle code\"><i class=\"fa fa-toggle-up\"><\/i><\/a><\/div><\/div><pre >\nbash$ sfunits unit2=ft spike.rsf >> spike.rsf\nConverting \"km\" to \"ft\" on axis 2\nbash$ sfin spike.rsf\nspike.rsf:\nin=\"\/var\/scratch\/spike.rsf@\"\nesize=4 type=float form=native\nn1=100         d1=0.004       o1=0          label1=\"Time\" unit1=\"s\"\nn2=100         d2=328.084     o2=0          label2=\"Distance\" unit2=\"ft\"\n10000 elements 40000 bytes\n<\/pre><\/div>\n<p><b>sfunits<\/b> is a new script for unit conversion. It relies on the Unix <b>units<\/b> utility.<\/li>\n<li>Apply 2-D FFT transform.\n<div class=\"code-box\"><div class=\"code-title\"><i class=\"fa fa-code\"><\/i> <div class=\"pull-right\"><a href=\"#\" class=\"btn btn-default btn-xs toggle-code\" data-toggle=\"tooltip\" title=\"Toggle code\"><i class=\"fa fa-toggle-up\"><\/i><\/a><\/div><\/div><pre >\nbash$ < spike.rsf sffft1 | sffft3 axis=2 > fft.rsf\nsffft3: padded to 200\nbash$ sfin fft.rsf\nfft.rsf:\nin=\"\/var\/scratch\/fft.rsf@\"\nesize=8 type=complex form=native\nn1=55          d1=2.31481     o1=0          label1=\"Frequency\" unit1=\"1\/s\"\nn2=200         d2=1.524e-05   o2=-0.001524  label2=\"Wavenumber\" unit2=\"1\/ft\"\n11000 elements 88000 bytes\n<\/pre><\/div>\n<\/li>\n<li>Transform back.\n<div class=\"code-box\"><div class=\"code-title\"><i class=\"fa fa-code\"><\/i> <div class=\"pull-right\"><a href=\"#\" class=\"btn btn-default btn-xs toggle-code\" data-toggle=\"tooltip\" title=\"Toggle code\"><i class=\"fa fa-toggle-up\"><\/i><\/a><\/div><\/div><pre >\nbash$ < fft.rsf sffft3 axis=2 inv=y | sffft1 inv=y > back.rsf\nbash$ sfin back.rsf\nback.rsf:\nin=\"\/var\/scratch\/back.rsf@\"\nesize=4 type=float form=native\nn1=100         d1=0.00400001  o1=0          label1=\"Time\" unit1=\"s\"\nn2=100         d2=328.084     o2=0          label2=\"Distance\" unit2=\"ft\"\n10000 elements 40000 bytes\n<\/pre><\/div>\n<\/li>\n<\/ol>\n<p><font color=\"blue\">Warning: this is a substantial change that affects many programs and examples. Please report any problems.<\/font><\/p>\n","protected":false},"excerpt":{"rendered":"<p>At the suggestion of Gilles Hennenfent, certain RSF programs now recognize unit1=, unit2=, etc keywords in addition to label1=, label2=, etc. This allows for more control on physical dimensionality. Here is an example of having some fun with physical units: Create some data. bash$ sfspike n1=100 n2=100 > spike.rsf bash$ sfin spike.rsf spike.rsf: in=&#8221;\/var\/scratch\/spike.rsf@&#8221; esize=4 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[3],"tags":[],"class_list":["post-66","post","type-post","status-publish","format-standard","hentry","category-programs"],"_links":{"self":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/66","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/comments?post=66"}],"version-history":[{"count":1,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/66\/revisions"}],"predecessor-version":[{"id":849,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/66\/revisions\/849"}],"wp:attachment":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/media?parent=66"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/categories?post=66"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/tags?post=66"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}