From 1c544eaf73c6cd50e72a9135d0164ca16881a9f9 Mon Sep 17 00:00:00 2001 From: Edd Edmondson Date: Tue, 30 Jun 2015 14:13:42 +0100 Subject: [PATCH 1/8] Mac-specific changes --- idl_kernel.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/idl_kernel.py b/idl_kernel.py index 4a17416..8ee5e3d 100644 --- a/idl_kernel.py +++ b/idl_kernel.py @@ -35,7 +35,7 @@ def banner(self): if self._banner is None: try: if os.path.basename(self._executable) == 'idl': - self._banner = check_output([self._executable, '-e','"print,string(0B)"']).decode('utf-8') + self._banner = check_output([self._executable, '-e','print,string(0B)']).decode('utf-8') else: self._banner = check_output([self._executable, '--version']).decode('utf-8') except: @@ -112,9 +112,9 @@ def do_execute(self, code, silent, store_history=True, user_expressions=None, tfile = tempfile.NamedTemporaryFile(mode='w+t',dir=os.path.expanduser("~")) plot_dir = tempfile.mkdtemp(dir=os.path.expanduser("~")) plot_format = 'png' - postcall = """ device,window_state=winds_arefgij + device,retain=2 if !inline and total(winds_arefgij) ne 0 then begin w_CcjqL6MA = where(winds_arefgij ne 0,nw_CcjqL6MA) for i_KEv8eW6E=0,nw_CcjqL6MA-1 do begin @@ -135,6 +135,7 @@ def do_execute(self, code, silent, store_history=True, user_expressions=None, ; Write the PNG if the image is not blank if total(img_bGr4ea3s) ne 0 then begin write_png, outfile_c5BXq4dV, ii_rsApk4JS, r_m9QVFuGP, g_jeeyfQkN, b_mufcResT + ;t_eT1aefa9=cgSnapshot(filename=outfile_c5BXq4dV,/PNG,/NODIALOG) endif endfor endif @@ -144,8 +145,7 @@ def do_execute(self, code, silent, store_history=True, user_expressions=None, try: tfile.file.write(code.rstrip()+postcall.rstrip()) tfile.file.close() - output = self.idlwrapper.run_command(".run "+tfile.name, timeout=None) - + output = self.idlwrapper.run_command(".run "+tfile.name, timeout=None).decode('utf8') # IDL annoying prints out ".run tmp..." command this removes it if os.path.basename(self._executable) == 'idl': output = '\n'.join(output.splitlines()[1::])+'\n' From 6dfddbd5be1871e01a542987105a5b2108475aa1 Mon Sep 17 00:00:00 2001 From: Edd Edmondson Date: Tue, 30 Jun 2015 16:19:32 +0100 Subject: [PATCH 2/8] Added code and example wrapper function for IDL 8-style plot functions --- jplot.pro | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 jplot.pro diff --git a/jplot.pro b/jplot.pro new file mode 100644 index 0000000..f3d42a6 --- /dev/null +++ b/jplot.pro @@ -0,0 +1,11 @@ +FUNCTION jplot, x, y, _REF_EXTRA=e +;example of an IDL 8 plot routine wrapper +;call the function with extra args, and have it go to the buffer rather than a window +IF N_ELEMENTS(y gt 0) THEN p=plot(x,y,_STRICT_EXTRA=e,/BUFFER) ELSE p=plot(x,_STRICT_EXTRA=e,/BUFFER) +;add to the stack for writing at the end +new_pointer=ptr_new([*!inline_8objs,ptr_new(p)]) +ptr_free,!inline_8objs +!inline_8objs=new_pointer +RETURN, p +END + From 76ecbbc9f94a0ffbb5d39446cb8a7f53a4af4f61 Mon Sep 17 00:00:00 2001 From: Edd Edmondson Date: Tue, 30 Jun 2015 16:20:25 +0100 Subject: [PATCH 3/8] Kernel code for IDL 8 plot function support --- idl_kernel.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/idl_kernel.py b/idl_kernel.py index 8ee5e3d..124cbda 100644 --- a/idl_kernel.py +++ b/idl_kernel.py @@ -78,7 +78,7 @@ def _start_idl(self): finally: signal.signal(signal.SIGINT, sig) - self.idlwrapper.run_command("!quiet=1 & defsysv,'!inline',0 & !more=0".rstrip(), timeout=None) + self.idlwrapper.run_command("!quiet=1 & defsysv,'!inline',0 & defsysv, '!inline_8objs',ptr_new(!NULL) & !more=0".rstrip(), timeout=None) def do_execute(self, code, silent, store_history=True, user_expressions=None, allow_stdin=False): @@ -138,7 +138,17 @@ def do_execute(self, code, silent, store_history=True, user_expressions=None, ;t_eT1aefa9=cgSnapshot(filename=outfile_c5BXq4dV,/PNG,/NODIALOG) endif endfor - endif + endif + if !inline and (n_elements(*!inline_8objs) gt 0) then begin + for i_Rahch9ae=0L, n_elements(*!inline_8objs)-1 do begin + print, i_Rahch9ae ;, (*(*!inline_8objs)[i_Rahch9ae]) + outfile_c5BXq4dV = '%(plot_dir)s/__fig'+strtrim(i_Rahch9ae,2)+'.png' + (*(*!inline_8objs)[i_Rahch9ae]).save,outfile_c5BXq4dV + ptr_free,(*!inline_8objs)[i_Rahch9ae] + endfor + ptr_free, !inline_8objs + !inline_8objs=ptr_new(!NULL) + endif end """ % locals() From 67f39000d7ba3fe86188d847a0353fb0adbfc836 Mon Sep 17 00:00:00 2001 From: Edd Edmondson Date: Tue, 30 Jun 2015 16:31:47 +0100 Subject: [PATCH 4/8] Tidy ups --- idl_kernel.py | 1 - jplot.pro | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/idl_kernel.py b/idl_kernel.py index 124cbda..b967e08 100644 --- a/idl_kernel.py +++ b/idl_kernel.py @@ -141,7 +141,6 @@ def do_execute(self, code, silent, store_history=True, user_expressions=None, endif if !inline and (n_elements(*!inline_8objs) gt 0) then begin for i_Rahch9ae=0L, n_elements(*!inline_8objs)-1 do begin - print, i_Rahch9ae ;, (*(*!inline_8objs)[i_Rahch9ae]) outfile_c5BXq4dV = '%(plot_dir)s/__fig'+strtrim(i_Rahch9ae,2)+'.png' (*(*!inline_8objs)[i_Rahch9ae]).save,outfile_c5BXq4dV ptr_free,(*!inline_8objs)[i_Rahch9ae] diff --git a/jplot.pro b/jplot.pro index f3d42a6..9b38d1f 100644 --- a/jplot.pro +++ b/jplot.pro @@ -1,7 +1,7 @@ FUNCTION jplot, x, y, _REF_EXTRA=e ;example of an IDL 8 plot routine wrapper ;call the function with extra args, and have it go to the buffer rather than a window -IF N_ELEMENTS(y gt 0) THEN p=plot(x,y,_STRICT_EXTRA=e,/BUFFER) ELSE p=plot(x,_STRICT_EXTRA=e,/BUFFER) +p=plot(x,y,_STRICT_EXTRA=e,/BUFFER) ;add to the stack for writing at the end new_pointer=ptr_new([*!inline_8objs,ptr_new(p)]) ptr_free,!inline_8objs From db6e5257629020ae1fda24cd8aabc2432d29475e Mon Sep 17 00:00:00 2001 From: Edd Edmondson Date: Wed, 1 Jul 2015 12:36:32 +0100 Subject: [PATCH 5/8] Completed IDL8 graphics function wrappers, included in demo notebook --- demo.ipynb | 46 ++++++++++++++++++++++++++++++++++++++++++---- jbarplot.pro | 10 ++++++++++ jcontour.pro | 14 ++++++++++++++ jerrorplot.pro | 15 +++++++++++++++ jimage.pro | 14 ++++++++++++++ jmap.pro | 10 ++++++++++ jplot.pro | 3 +-- jplot3d.pro | 10 ++++++++++ jpolarplot.pro | 13 +++++++++++++ jstreamline.pro | 15 +++++++++++++++ jsurface.pro | 14 ++++++++++++++ jvector.pro | 15 +++++++++++++++ jwindow.pro | 10 ++++++++++ 13 files changed, 183 insertions(+), 6 deletions(-) create mode 100644 jbarplot.pro create mode 100644 jcontour.pro create mode 100644 jerrorplot.pro create mode 100644 jimage.pro create mode 100644 jmap.pro create mode 100644 jplot3d.pro create mode 100644 jpolarplot.pro create mode 100644 jstreamline.pro create mode 100644 jsurface.pro create mode 100644 jvector.pro create mode 100644 jwindow.pro diff --git a/demo.ipynb b/demo.ipynb index 7ac0804..f7d2194 100644 --- a/demo.ipynb +++ b/demo.ipynb @@ -183,9 +183,7 @@ "outputs": [ { "data": { - "image/png": [ - "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" - ] + "image/png": "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" }, "metadata": {}, "output_type": "display_data" @@ -213,12 +211,52 @@ "collapsed": false }, "outputs": [], + "source": [ + "!inline=1\n", + "n = 101\n", + "x = 10*DINDGEN(n)/(n-1) - 5\n", + "y = 10*DINDGEN(n)/(n-1) - 5\n", + "xx = REBIN(x, n, n)\n", + "yy = REBIN(TRANSPOSE(y), n, n)\n", + "mu = 1\n", + "xdot = mu*(xx - xx^3/3 - yy)\n", + "ydot = xx/mu\n", + " \n", + "s = JSTREAMLINE(xdot, ydot, x, y, $\n", + " ARROW_COLOR=\"Dodger blue\", $\n", + " ARROW_OFFSET=[0.25,0.5,0.75,1], $\n", + " STREAMLINE_STEPSIZE=0.05, $\n", + " POSITION=[0.1,0.22,0.95,0.9], $\n", + " X_STREAMPARTICLES=11, Y_STREAMPARTICLES=11, $\n", + " XTITLE='X', YTITLE='Y', $\n", + " TITLE='Van der Pol Oscillator - Phase Portrait')\n", + " \n", + "; Change some properties.\n", + "s.THICK = 2\n", + "s.AUTO_COLOR = 1\n", + "s.AUTO_RANGE = [0.03,0.07]\n", + "s.RGB_TABLE = 33\n", + " \n", + "; Add a colorbar.\n", + "c = COLORBAR(TARGET=s, MINOR=0, $\n", + " POSITION=[0.35,0.1,0.7,0.125], $\n", + " TITLE='Distance moved per step')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "IDL", + "language": "IDL", "name": "idl" }, "language_info": { @@ -230,4 +268,4 @@ }, "nbformat": 4, "nbformat_minor": 0 -} \ No newline at end of file +} diff --git a/jbarplot.pro b/jbarplot.pro new file mode 100644 index 0000000..da3e1f5 --- /dev/null +++ b/jbarplot.pro @@ -0,0 +1,10 @@ +FUNCTION jbarplot, x, y, _REF_EXTRA=e +;call the function with extra args, and have it go to the buffer rather than a window +IF N_PARAMS() eq 2 THEN p=barplot(x,y,_STRICT_EXTRA=e,/BUFFER) ELSE p=barplot(x,_STRICT_EXTRA=e,/BUFFER) +;add to the stack for writing at the end +new_pointer=ptr_new([*!inline_8objs,ptr_new(p)]) +ptr_free,!inline_8objs +!inline_8objs=new_pointer +RETURN, p +END + diff --git a/jcontour.pro b/jcontour.pro new file mode 100644 index 0000000..440018a --- /dev/null +++ b/jcontour.pro @@ -0,0 +1,14 @@ +FUNCTION jcontour, data,x, y, _REF_EXTRA=e +;call the function with extra args, and have it go to the buffer rather than a window +CASE N_PARAMS() OF +1: p=contour(data,_STRICT_EXTRA=e,/BUFFER) +2: message, 'Cannot take only 2 arguments. 1 or 3 required.' +3: p=contour(data,x,y,_STRICT_EXTRA=e,/BUFFER) +ENDCASE +;add to the stack for writing at the end +new_pointer=ptr_new([*!inline_8objs,ptr_new(p)]) +ptr_free,!inline_8objs +!inline_8objs=new_pointer +RETURN, p +END + diff --git a/jerrorplot.pro b/jerrorplot.pro new file mode 100644 index 0000000..9ccf6b9 --- /dev/null +++ b/jerrorplot.pro @@ -0,0 +1,15 @@ +FUNCTION jerrorplot, x, y, xe, ye, _REF_EXTRA=e +;call the function with extra args, and have it go to the buffer rather than a window +CASE N_PARAMS() OF +1: message, 'Insufficient arguments' +2: p=errorplot(x,y,_STRICT_EXTRA=e,/BUFFER) +3: p=errorplot(x,y,xe,_STRICT_EXTRA=e,/BUFFER) +4: p=errorplot(x,y,xe,ye,_STRICT_EXTRA=e,/BUFFER) +ENDCASE +;add to the stack for writing at the end +new_pointer=ptr_new([*!inline_8objs,ptr_new(p)]) +ptr_free,!inline_8objs +!inline_8objs=new_pointer +RETURN, p +END + diff --git a/jimage.pro b/jimage.pro new file mode 100644 index 0000000..106acfe --- /dev/null +++ b/jimage.pro @@ -0,0 +1,14 @@ +FUNCTION jimage, data,x, y, _REF_EXTRA=e +;call the function with extra args, and have it go to the buffer rather than a window +CASE N_PARAMS() OF +1: p=image(data,_STRICT_EXTRA=e,/BUFFER) +2: message, 'Cannot take only 2 arguments. 1 or 3 required.' +3: p=image(data,x,y,_STRICT_EXTRA=e,/BUFFER) +ENDCASE +;add to the stack for writing at the end +new_pointer=ptr_new([*!inline_8objs,ptr_new(p)]) +ptr_free,!inline_8objs +!inline_8objs=new_pointer +RETURN, p +END + diff --git a/jmap.pro b/jmap.pro new file mode 100644 index 0000000..65c1ef3 --- /dev/null +++ b/jmap.pro @@ -0,0 +1,10 @@ +FUNCTION jmap, m, _REF_EXTRA=e +;call the function with extra args, and have it go to the buffer rather than a window +p=map(m,_STRICT_EXTRA=e,/BUFFER) +;add to the stack for writing at the end +new_pointer=ptr_new([*!inline_8objs,ptr_new(p)]) +ptr_free,!inline_8objs +!inline_8objs=new_pointer +RETURN, p +END + diff --git a/jplot.pro b/jplot.pro index 9b38d1f..1a4a0d0 100644 --- a/jplot.pro +++ b/jplot.pro @@ -1,7 +1,6 @@ FUNCTION jplot, x, y, _REF_EXTRA=e -;example of an IDL 8 plot routine wrapper ;call the function with extra args, and have it go to the buffer rather than a window -p=plot(x,y,_STRICT_EXTRA=e,/BUFFER) +IF N_PARAMS() eq 2 THEN p=plot(x,y,_STRICT_EXTRA=e,/BUFFER) ELSE p=plot(x,_STRICT_EXTRA=e,/BUFFER) ;add to the stack for writing at the end new_pointer=ptr_new([*!inline_8objs,ptr_new(p)]) ptr_free,!inline_8objs diff --git a/jplot3d.pro b/jplot3d.pro new file mode 100644 index 0000000..b47ab97 --- /dev/null +++ b/jplot3d.pro @@ -0,0 +1,10 @@ +FUNCTION jplot3d, x, y, z, _REF_EXTRA=e +;call the function with extra args, and have it go to the buffer rather than a window +p=plot3d(x,y,z,_STRICT_EXTRA=e,/BUFFER) +;add to the stack for writing at the end +new_pointer=ptr_new([*!inline_8objs,ptr_new(p)]) +ptr_free,!inline_8objs +!inline_8objs=new_pointer +RETURN, p +END + diff --git a/jpolarplot.pro b/jpolarplot.pro new file mode 100644 index 0000000..ee093af --- /dev/null +++ b/jpolarplot.pro @@ -0,0 +1,13 @@ +FUNCTION jpolarplot, r, theta, _REF_EXTRA=e +;call the function with extra args, and have it go to the buffer rather than a window +CASE N_PARAMS() OF +1: p=polarplot(r,_STRICT_EXTRA=e,/BUFFER) +2: p=polarplot(r,theta,_STRICT_EXTRA=e,/BUFFER) +ENDCASE +;add to the stack for writing at the end +new_pointer=ptr_new([*!inline_8objs,ptr_new(p)]) +ptr_free,!inline_8objs +!inline_8objs=new_pointer +RETURN, p +END + diff --git a/jstreamline.pro b/jstreamline.pro new file mode 100644 index 0000000..1dc7bbb --- /dev/null +++ b/jstreamline.pro @@ -0,0 +1,15 @@ +FUNCTION jstreamline, u, v, x, y, _REF_EXTRA=e +;call the function with extra args, and have it go to the buffer rather than a window +CASE N_PARAMS() OF +1: message, 'Insufficient arguments' +2: p=streamline(u,v,_STRICT_EXTRA=e,/BUFFER) +3: message, 'Cannot take only 3 arguments. 2 or 4 required. +4: p=streamline(u,v,x,y,_STRICT_EXTRA=e,/BUFFER) +ENDCASE +;add to the stack for writing at the end +new_pointer=ptr_new([*!inline_8objs,ptr_new(p)]) +ptr_free,!inline_8objs +!inline_8objs=new_pointer +RETURN, p +END + diff --git a/jsurface.pro b/jsurface.pro new file mode 100644 index 0000000..77ee8e4 --- /dev/null +++ b/jsurface.pro @@ -0,0 +1,14 @@ +FUNCTION jsurface, data,x, y, _REF_EXTRA=e +;call the function with extra args, and have it go to the buffer rather than a window +CASE N_PARAMS() OF +1: p=surface(data,_STRICT_EXTRA=e,/BUFFER) +2: message, 'Cannot take only 2 arguments. 1 or 3 required.' +3: p=surface(data,x,y,_STRICT_EXTRA=e,/BUFFER) +ENDCASE +;add to the stack for writing at the end +new_pointer=ptr_new([*!inline_8objs,ptr_new(p)]) +ptr_free,!inline_8objs +!inline_8objs=new_pointer +RETURN, p +END + diff --git a/jvector.pro b/jvector.pro new file mode 100644 index 0000000..91d13ad --- /dev/null +++ b/jvector.pro @@ -0,0 +1,15 @@ +FUNCTION jvector, u, v, x, y, _REF_EXTRA=e +;call the function with extra args, and have it go to the buffer rather than a window +CASE N_PARAMS() OF +1: message, 'Insufficient arguments' +2: p=vector(u,v,_STRICT_EXTRA=e,/BUFFER) +3: message, 'Cannot take only 3 arguments. 2 or 4 required. +4: p=vector(u,v,x,y,_STRICT_EXTRA=e,/BUFFER) +ENDCASE +;add to the stack for writing at the end +new_pointer=ptr_new([*!inline_8objs,ptr_new(p)]) +ptr_free,!inline_8objs +!inline_8objs=new_pointer +RETURN, p +END + diff --git a/jwindow.pro b/jwindow.pro new file mode 100644 index 0000000..1bfcbd9 --- /dev/null +++ b/jwindow.pro @@ -0,0 +1,10 @@ +FUNCTION jwindow, _REF_EXTRA=e +;call the function with extra args, and have it go to the buffer rather than a window +p=window(_STRICT_EXTRA=e,/BUFFER) +;add to the stack for writing at the end +new_pointer=ptr_new([*!inline_8objs,ptr_new(p)]) +ptr_free,!inline_8objs +!inline_8objs=new_pointer +RETURN, p +END + From 2c1f66171bf252499542234ec96f5f49b0a2d72f Mon Sep 17 00:00:00 2001 From: Edd Edmondson Date: Wed, 1 Jul 2015 12:50:17 +0100 Subject: [PATCH 6/8] Reverting Mac compatibility changes --- idl_kernel.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/idl_kernel.py b/idl_kernel.py index b967e08..d2a7808 100644 --- a/idl_kernel.py +++ b/idl_kernel.py @@ -35,7 +35,7 @@ def banner(self): if self._banner is None: try: if os.path.basename(self._executable) == 'idl': - self._banner = check_output([self._executable, '-e','print,string(0B)']).decode('utf-8') + self._banner = check_output([self._executable, '-e','"print,string(0B)"']).decode('utf-8') else: self._banner = check_output([self._executable, '--version']).decode('utf-8') except: @@ -154,7 +154,7 @@ def do_execute(self, code, silent, store_history=True, user_expressions=None, try: tfile.file.write(code.rstrip()+postcall.rstrip()) tfile.file.close() - output = self.idlwrapper.run_command(".run "+tfile.name, timeout=None).decode('utf8') + output = self.idlwrapper.run_command(".run "+tfile.name, timeout=None) # IDL annoying prints out ".run tmp..." command this removes it if os.path.basename(self._executable) == 'idl': output = '\n'.join(output.splitlines()[1::])+'\n' From c9ba84bb322d7245d2f6ba08d42ad9526b4196e2 Mon Sep 17 00:00:00 2001 From: Edd Edmondson Date: Wed, 1 Jul 2015 12:56:40 +0100 Subject: [PATCH 7/8] Fix for potential overwrites between plot window types --- idl_kernel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/idl_kernel.py b/idl_kernel.py index d2a7808..5f7b610 100644 --- a/idl_kernel.py +++ b/idl_kernel.py @@ -141,7 +141,7 @@ def do_execute(self, code, silent, store_history=True, user_expressions=None, endif if !inline and (n_elements(*!inline_8objs) gt 0) then begin for i_Rahch9ae=0L, n_elements(*!inline_8objs)-1 do begin - outfile_c5BXq4dV = '%(plot_dir)s/__fig'+strtrim(i_Rahch9ae,2)+'.png' + outfile_c5BXq4dV = '%(plot_dir)s/__ofig'+strtrim(i_Rahch9ae,2)+'.png' (*(*!inline_8objs)[i_Rahch9ae]).save,outfile_c5BXq4dV ptr_free,(*!inline_8objs)[i_Rahch9ae] endfor From 0492694769778ec29037dff6a79e3e1c40ff3895 Mon Sep 17 00:00:00 2001 From: Edd Edmondson Date: Wed, 1 Jul 2015 13:01:32 +0100 Subject: [PATCH 8/8] Removing commented debug code --- idl_kernel.py | 1 - 1 file changed, 1 deletion(-) diff --git a/idl_kernel.py b/idl_kernel.py index 5f7b610..7733e6b 100644 --- a/idl_kernel.py +++ b/idl_kernel.py @@ -135,7 +135,6 @@ def do_execute(self, code, silent, store_history=True, user_expressions=None, ; Write the PNG if the image is not blank if total(img_bGr4ea3s) ne 0 then begin write_png, outfile_c5BXq4dV, ii_rsApk4JS, r_m9QVFuGP, g_jeeyfQkN, b_mufcResT - ;t_eT1aefa9=cgSnapshot(filename=outfile_c5BXq4dV,/PNG,/NODIALOG) endif endfor endif