From octave-sources-request at bevo dot che dot wisc dot edu Wed Dec 12 00:30:34 2001 Subject: Chosing the display program on the fly From: "Avraham Rosenberg" To: Date: Wed, 12 Dec 2001 00:29:45 -0600 --=_19443EAE.5F3E52A3 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Attached are modified versions of image.m and imagesc.m for octave-2.0.16. Thes functions allow one to specify which program should the interpreter = invoke in order to display the image of the array which is the first = argument of the function. If I understand correctly, the built-in choices are xv and xloadimage. I tried to throw in checks for the arguments' nature, but I failed. Later, = when, hopefully I'll know the program better... Enjoy, Avraham --=_19443EAE.5F3E52A3 Content-Type: application/octet-stream; name="IMAGE.M" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="IMAGE.M" IyMgQ29weXJpZ2h0IChDKSAxOTk2IEpvaG4gVy4gRWF0b24KIyMKIyMgVGhpcyBmaWxlIGlzIHBh cnQgb2YgT2N0YXZlLgojIwojIyBPY3RhdmUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAojIyB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIyB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCiMj IGFueSBsYXRlciB2ZXJzaW9uLgojIwojIyBPY3RhdmUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyMgTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKIyMgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIwojIyBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIyBhbG9u ZyB3aXRoIE9jdGF2ZTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRvIHRo ZSBGcmVlCiMjIFNvZnR3YXJlIEZvdW5kYXRpb24sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMz MCwgQm9zdG9uLCBNQQojIyAwMjExMS0xMzA3LCBVU0EuCgojIyBEaXNwbGF5IGFuIG9jdGF2ZSBp bWFnZSBtYXRyaXguCiMjCiMjIGltYWdlICh4KSBkaXNwbGF5cyBhIG1hdHJpeCBhcyBhIGNvbG9y IGltYWdlLiBUaGUgZWxlbWVudHMgb2YgeCBhcmUKIyMgaW5kaWNlcyBpbnRvIHRoZSBjdXJyZW50 IGNvbG9ybWFwIGFuZCBzaG91bGQgaGF2ZSB2YWx1ZXMgYmV0d2VlbiAxCiMjIGFuZCB0aGUgbGVu Z3RoIG9mIHRoZSBjb2xvcm1hcC4KIyMKIyMgaW1hZ2UgKHgsIHpvb20pIGNoYW5nZXMgdGhlIHpv b20gZmFjdG9yLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgNC4KIyMKIyMgU0VFIEFMU086IGltc2hv dywgaW1hZ2VzYywgY29sb3JtYXAuCgojIyBBdXRob3I6IFRvbnkgUmljaGFyZHNvbiA8YXJpY2hh cmRAc3RhcmsuY2Mub2gudXM+CiMjIENyZWF0ZWQ6IEp1bHkgMTk5NAojIyBBZGFwdGVkLUJ5OiBq d2UKIyMgTW9kaWZpZWQgYnkgQXZyYWhhbSBSb3NlbmJlcmcsIGZvbGxvd2luZyBzdWdnZXN0aW9u IG9mIGp3ZQoKZnVuY3Rpb24gaW1hZ2UgKHgsIHpvb20sIHZpZXdlcikKCiAgaWYgKG5hcmdpbiA9 PSAwKQogICAgIyMgTG9hZCBCb2JiaWUgSm8gUmljaGFyZHNvbiAoQm9ybiAzLzE2Lzk0KQogICAg cHJpbnRmKCJ1c2FnZSBpbWFnZSAobWF0cml4LCBbem9vbV0sIFt2aWV3ZXJdKSAtIFRoZSBmaXJz dCB0d28gbGV0dGVycyBvZiB0aGUgd2lldmVyIGFyZSBlbm91Z2hcbiIpOwogICAgeCA9IGxvYWRp bWFnZSAoImRlZmF1bHQuaW1nIik7CiAgICB6b29tID0gMjsKICBlbHNlaWYgKG5hcmdpbiA9PSAx KQogICAgem9vbSA9IDQ7CiAgZWxzZWlmIChuYXJnaW4gPiAzKQolICAgdXNhZ2UgKCJpbWFnZSAo bWF0cml4LCBbem9vbV0sIFt2aWV3ZXJdKSwgVGhlIGZpcnN0IHR3byBsZXR0ZXJzIGFyZSBlbm91 Z2giKQogICAgcHJpbnRmKCJ1c2FnZSBpbWFnZSAobWF0cml4LCBbem9vbV0sIFt2aWV3ZXJdKSAt IFRoZSBmaXJzdCB0d28gbGV0dGVycyBvZiB0aGUgd2lldmVyIGFyZSBlbm91Z2hcbiIpOwogIGVu ZGlmCgogIHBwbV9uYW1lID0gdG1wbmFtICgpOwogIHNhdmVpbWFnZSAocHBtX25hbWUsIHgsICJw cG0iKTsKICB4diA9IHNwcmludGYgKCJ4diAtZXhwYW5kICVmICVzIiwgem9vbSwgcHBtX25hbWUp OwogIHhsb2FkaW1hZ2UgPSBzcHJpbnRmICgieGxvYWRpbWFnZSAtem9vbSAlZiAlcyIsIHpvb20q MTAwLCBwcG1fbmFtZSk7CiAgcm0gPSBzcHJpbnRmICgicm0gLWYgJXMiLCBwcG1fbmFtZSk7CiAg CiAgaWYgKG5hcmdpbiA8IDMpCiAgIyMgU3RhcnQgdGhlIHZpZXdlci4gIFRyeSB4diwgdGhlbiB4 bG9hZGltYWdlLgogICMjIE5lZWQgdG8gbGV0IHRoZSBzaGVsbCBjbGVhbiB1cCB0aGUgdG1wIGZp bGUgYmVjYXVzZSB3ZSBhcmUgcHV0dGluZyB0aGUgdmlld2VyIGluIHRoZSBiYWNrZ3JvdW5kLgoK CSAgY29tbWFuZCA9IHNwcmludGYgKCIoICVzIHx8ICVzICYmICVzICkgPiAvZGV2L251bGwgMj4m MSAmIiwgeHYsIHhsb2FkaW1hZ2UsIHJtKTsKCgkgIHN5c3RlbSAoY29tbWFuZCk7CiAgZWxzZWlm IChuYXJnaW4gPT0gMykKICAjIyBDaG9zZSBhbmQgU3RhcnQgdGhlIHZpZXdlci4KICB2aWUgPSBb dmlld2VyKDEpLCB2aWV3ZXIoMildOwogIAlzd2l0Y2godmllKQoJCWNhc2UoInh2IikKCSAgY29t bWFuZCA9IHNwcmludGYgKCIoICVzICYmICVzICkgPiAvZGV2L251bGwgMj4mMSAmIiwgeHYsIHJt KTsKCSAgc3lzdGVtIChjb21tYW5kKTsKCQljYXNlKCJ4bCIpCgkgIGNvbW1hbmQgPSBzcHJpbnRm ICgiKCAlcyAmJiAlcyApID4gL2Rldi9udWxsIDI+JjEgJiIsIHhsb2FkaW1hZ2UsIHJtKTsKCSAg c3lzdGVtIChjb21tYW5kKTsKCQlvdGhlcndpc2UKCSAgcHJpbnRmKCJObyB2aWV3ZXIgJXMuIFRy eSB4diwgdGhlbiB4bG9hZGltYWdlLlxuIiwgdmlld2VyKTsKCSAgY29tbWFuZCA9IHNwcmludGYg KCIoICVzIHx8ICVzICYmICVzICkgPiAvZGV2L251bGwgMj4mMSAmIiwgeHYsIHhsb2FkaW1hZ2Us IHJtKTsKCSAgc3lzdGVtIChjb21tYW5kKTsKCWVuZHN3aXRjaAogIGVuZGlmCgplbmRmdW5jdGlv bgo= --=_19443EAE.5F3E52A3 Content-Type: application/octet-stream; name="IMAGESC.M" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="IMAGESC.M" IyMgQ29weXJpZ2h0IChDKSAxOTk2IEpvaG4gVy4gRWF0b24KIyMKIyMgVGhpcyBmaWxlIGlzIHBh cnQgb2YgT2N0YXZlLgojIwojIyBPY3RhdmUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAojIyB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIyB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCiMj IGFueSBsYXRlciB2ZXJzaW9uLgojIwojIyBPY3RhdmUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyMgTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKIyMgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIwojIyBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIyBhbG9u ZyB3aXRoIE9jdGF2ZTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRvIHRo ZSBGcmVlCiMjIFNvZnR3YXJlIEZvdW5kYXRpb24sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMz MCwgQm9zdG9uLCBNQQojIyAwMjExMS0xMzA3LCBVU0EuCgojIyBTY2FsZSBhbmQgZGlzcGxheSBh IG1hdHJpeCBhcyBhbiBpbWFnZS4KIyMKIyMgaW1hZ2VzYyh4KSBkaXNwbGF5cyBhIHNjYWxlZCB2 ZXJzaW9uIG9mIHRoZSBtYXRyaXggeC4gIFRoZSBtYXRyaXggaXMKIyMgc2NhbGVkIHNvIHRoYXQg aXRzIGVudHJpZXMgYXJlIGluZGljZXMgaW50byB0aGUgY3VycmVudCBjb2xvcm1hcC4KIyMgVGhl IHNjYWxlZCBtYXRyaXggaXMgcmV0dXJuZWQuCiMjCiMjIGltYWdlc2MgKHgsIHpvb20pIHNldHMg dGhlIG1hZ25pZmljYXRpb24sIHRoZSBkZWZhdWx0IHZhbHVlIGlzIDQuCiMjIGltYWdlc2MgKHgs IHpvb20sIHZpZXdlcikgc2V0cyB0aGUgbWFnbmlmaWNhdGlvbiBhbmQgY2hvc2VzIHRoZSB2aWV3 ZXIuCiMjCiMjIFNFRSBBTFNPOiBpbWFnZSwgaW1zaG93CgojIyBBdXRob3I6IFRvbnkgUmljaGFy ZHNvbiA8YXJpY2hhcmRAc3RhcmsuY2Mub2gudXM+CiMjIENyZWF0ZWQ6IEp1bHkgMTk5NAojIyBB ZGFwdGVkLUJ5OiBqd2UKIyMgTW9kaWZpZWQgYnkgQXZyYWhhbSBSb3NlbmJlcmcsIGZvbGxvd2lu ZyBzdWdnZXN0aW9uIG9mIGp3ZQoKZnVuY3Rpb24gW3ksIHZpZXdlcl0gPSBpbWFnZXNjICh4LCB6 b29tLCB2aWV3ZXIpCgogIGlmIChuYXJnaW4gPCAxIHx8IG5hcmdpbiA+IDMpCiAgICBwcmludGYo InVzYWdlIGltYWdlIChtYXRyaXgsIFt6b29tXSwgW3ZpZXdlcl0pOyAtIFRoZSBmaXJzdCB0d28g bGV0dGVycyBvZiB0aGUgd2lldmVyIGFyZSBlbm91Z2hcbiIpOwogICAgcmV0dXJuOwogIGVsc2Vp ZiAobmFyZ2luID09IDEpCiAgICB6b29tID0gNDsKICBlbmRpZgoKICBbIGhpZ2gsIHdpZGUgXSA9 IHNpemUgKHgpOwoKICBtYXh2YWwgPSBtYXggKG1heCAoeCkpOwogIG1pbnZhbCA9IG1pbiAobWlu ICh4KSk7CgogICMjIFJlc2NhbGUgbWF0cml4IHNvIHRoYXQgYWxsIHZhbHVlcyBhcmUgaW4gdGhl IHJhbmdlIDAgdG8KICAjIyBsZW5ndGggKGNvbG9ybWFwKSBpbmNsdXNpdmUuCgogIGlmIChtYXh2 YWwgPT0gbWludmFsKQogICAgeSA9IG9uZXMgKGhpZ2gsIHdpZGUpOwogIGVsc2UKICAgICMjIFJl c2NhbGUgdmFsdWVzIHRvIGJldHdlZW4gMSBhbmQgcm93cyAoY29sb3JtYXApIGluY2x1c2l2ZS4K ICAgIHkgPSByb3VuZCAoKHggLSBtaW52YWwpIC8gKG1heHZhbCAtIG1pbnZhbCkgKiAocm93cyAo Y29sb3JtYXApIC0gMSkpICsgMTsKICBlbmRpZgoKICBpZiAobmFyZ2luIDwgMykKICBpbWFnZSAo eSwgem9vbSk7CiAgZWxzZWlmIChuYXJnaW4gPT0gMykKICBpbWFnZSAoeSwgem9vbSwgdmlld2Vy KTsKICBlbmRpZgoKZW5kZnVuY3Rpb24K --=_19443EAE.5F3E52A3--