{"metadata":{"kernelspec":{"display_name":"GDL","language":"GDL","name":"gdl"},"language_info":{"codemirror_mode":"idl","file_extension":".pro","mimetype":"text/x-idl","name":"gdl"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# IDL Kernel Demo","metadata":{}},{"cell_type":"markdown","source":"This notebook demostrates the current capability of the IDL IPython/Jupyter Kernel","metadata":{}},{"cell_type":"markdown","source":"## Basic Input & Output","metadata":{}},{"cell_type":"code","source":"a = 1\nb = 2\narr = indgen(5)\nstr = \"Hello, World!\"\nhelp,a,b,str,arr","metadata":{"trusted":true},"execution_count":1,"outputs":[{"name":"stdout","text":"A INT = 1\nB INT = 2\nSTR STRING = 'Hello, World!'\nARR INT = Array[5]\n","output_type":"stream"}]},{"cell_type":"code","source":"print,str","metadata":{"trusted":true},"execution_count":2,"outputs":[{"name":"stdout","text":"Hello, World!\n","output_type":"stream"}]},{"cell_type":"markdown","source":"## Defining Functions & Procedures","metadata":{}},{"cell_type":"code","source":"FUNCTION mysin, x\n return, sin(x)\nEND","metadata":{"trusted":true},"execution_count":3,"outputs":[{"name":"stdout","text":"","output_type":"stream"}]},{"cell_type":"code","source":"print, mysin(2)","metadata":{"trusted":true},"execution_count":4,"outputs":[{"name":"stdout","text":" 0.909297\n","output_type":"stream"}]},{"cell_type":"code","source":"PRO hello_world\n print,\"Hello, World!\"\nEND","metadata":{"trusted":true},"execution_count":5,"outputs":[{"name":"stdout","text":"","output_type":"stream"}]},{"cell_type":"code","source":"hello_world","metadata":{"trusted":true},"execution_count":6,"outputs":[{"name":"stdout","text":"Hello, World!\n","output_type":"stream"}]},{"cell_type":"markdown","source":"## Inline Plots (X Window System)\n\nNote that X Window System may not work on a cloud platform such as [mybinder.org](https://mybinder.org/):","metadata":{}},{"cell_type":"code","source":";;This enables inline plotting\n!inline=1","metadata":{},"execution_count":7,"outputs":[{"name":"stdout","output_type":"stream","text":""}]},{"cell_type":"code","source":"set_plot,'x'\nx = 2*!PI*0.01*indgen(100)\ny1 = sin(x)\ny2 = cos(x)\ndevice,decomposed=0 ;;colors will be numbers from 0 to 255, as index in a colortable\nloadct,39 ;; only useful if decomposed=0 : this is the colortable chosen.\n;; Note: if, as is the default, decomposed=1, colors are way more numerous (16777216!)\n;; but must be defined as 'RRGGBB'x where each color component\n;; (Red,Green,Blue) can take the 256 values from '00' to 'FF'\nwindow,xsize=800,ysize=500\nplot,x,y1,title='Trig Functions',xtitle='Radians',ytitle='Amplitude',xrange=[0,6],charsize=1.5,back=255,color=0\n;; the equivalent in 'decomposed mode' would have said: background='FFFFFF'x,color='0'x\noplot,x,y2,color=50","metadata":{},"execution_count":8,"outputs":[{"output_type":"display_data","data":{"image/png":"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"},"metadata":{}},{"name":"stdout","output_type":"stream","text":""}]},{"cell_type":"markdown","source":"## Inline Plots (Z-buffer Pseudo Device)\n\nIn Z-buffer Device, you may need to choose `decomposed=1` to use it on a cloud platform such as [mybinder.org](https://mybinder.org/):","metadata":{}},{"cell_type":"code","source":";;This enables inline plotting\n!inline=1","metadata":{"trusted":true},"execution_count":7,"outputs":[{"name":"stdout","text":"","output_type":"stream"}]},{"cell_type":"code","source":"set_plot,'z'\ndevice,decomposed=1, set_resolution=[800,500],set_pixel_depth=24 ;;colors will be numbers from 0 to 255, as index in a colortable\nx = 2*!PI*0.01*indgen(100)\ny1 = sin(x)\ny2 = cos(x)\nloadct,14 ;; only useful if decomposed=0 : this is the colortable chosen.\n;; Note: if, as is the default, decomposed=1, colors are way more numerous (16777216!)\n;; but must be defined as 'RRGGBB'x where each color component\n;; (Red,Green,Blue) can take the 256 values from '00' to 'FF'\nplot,x,y1,title='Trig Functions',xtitle='Radians',ytitle='Amplitude',xrange=[0,6],charsize=1.5,background='000000'x,color='FFFFFF'x\n;; the equivalent in 'decomposed mode' would have said: background='FFFFFF'x,color='0'x\noplot,x,y2,color='FF0000'x","metadata":{"trusted":true},"execution_count":8,"outputs":[{"output_type":"display_data","data":{"image/png":"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"},"metadata":{}},{"name":"stdout","text":"Pixel Depth changes ignored in GDL, stays at 24.\n","output_type":"stream"}]},{"cell_type":"markdown","source":"If the plot does not work, you need to compile `snapshot.pro` by giving the correct path as follows:","metadata":{}},{"cell_type":"code","source":".compile ~/snapshot.pro","metadata":{},"execution_count":10,"outputs":[{"name":"stdout","output_type":"stream","text":""}]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}