:Base idl.hlp ; 2 Alphabetical List of IDL Routines=alpha_routines 2 Functional List of IDL Routines=byapplist ; ;**************************** ;******** What's New ******** ;**************************** ; 1 What's New in IDL 5.4 2 Visualization Enhancements in IDL 5.4=vis_enhance 2 Analysis Enhancements in IDL 5.4=anal_enhance 2 IDL Language Enhancements=lang_enhance 2 LZW/GIF No Longer Supported in IDL=gif_apology 2 File I/O Enhancements=fileio_enhance 2 Development Environment Enhancements=idlde_enhance ;2 Scientific Data Formats Enhancements=sdf_enhance ;2 IDL GUIBuilder Enhancements=guibuild_enhance ;2 IDL ActiveX Control Enhancements=activex_enhance 2 Installation and Licensing Enahancements=install_enhance 2 Application Development Enhancements=app_dev_enhance 2 IDL Wavelet Toolkit Enhancements=wavelet_enhance ;2 IDL Dataminer Enhancements=dataminer_enhance ;2 Documentation Enhancements=doc_enhance 2 New and Enhanced IDL Utilities=new_utility_features 2 New and Enhanced IDL Objects=new_object_features 2 New and Enhanced IDL Routines=new_routines ;2 New Environment Variables=new_env_vars 2 New and Updated System Variables=new_sys_vars 2 Features Obsoleted in IDL 5.4=wn_obsolete 2 Platforms Supported in This Release=supported_platforms ; ;********************************* ;******** Reference Guide ******** ;********************************* ; 1 IDL Reference 2 Alphabetical List of Routines=alpha_routines 2 Functional List of Routines=byapplist 2 IDL Syntax=syntax 2 Graphics Keywords=graphics_keywords ; IDL Operators appendix not in help system -- operators are covered in Building 2 Special Characters=special_characters 2 Reserved Words=reserved_words 2 IDL DICOM v3.0 Conformance Summary=dicom_conf_summary 2 IDL Graphics Devices 3 Supported Devices=supported_devices 3 Keywords Accepted by the IDL Devices=device_keywords_table 3 Window Systems=window_systems 3 Printing Graphics Output Files=printing_graphics_output 3 The CGM Device=CGM_device 3 The HP-GL Device=HPGL_device 3 The LJ Device=LJ_device 3 The Macintosh Display Device=MAC_device 3 The Metafile Display Device=Metafile_device 3 The Null Display Device=NULL_device 3 The PCL Device=PCL_device 3 The Printer Device=Printer_device 3 The Postscript Device=PS_device 3 The Regis Terminal Device=REGIS_device 3 The Tektronix Device=TEK_device 3 The Microsoft Windows Device=WIN_device 3 The X Windows Device=X_device 3 The Z-Buffer Device=Z_device 2 System Variables 3 What Are System Variables?=what_are_sysvars 3 Constant System Variables=const_sysvars 3 Error Handling and Informational System Variables=error_sysvars 3 IDL Environment System Variables=env_sysvars 3 Graphics System Variables=graphics_sysvars 2 Fonts 3 Overview=Font_Overview 3 Fonts in IDL Direct vs. Object Graphics=Dir_vs_Obj 3 About Vector Fonts=about_vector_fonts 3 About TrueType Fonts=about_truetype_fonts 3 About Device Fonts=about_device_fonts 3 Choosing a Font Type=Choosing_font_type 3 Embedded Formatting Commands=embedded_formatting 3 Formatting Command Examples=formatting_examples 3 TrueType Font Samples=ttfont_samples 3 Vector Font Samples=vfont_samples 2 Obsolete Routines 3 What Are Obsolete Routines?=what_are_obsolete 3 Routines Obsoleted in IDL 5.4=obs_54 3 Routines Obsoleted in IDL 5.3=obs_53 3 Routines Obsoleted in IDL 5.2=obs_52 3 Routines Obsoleted in IDL 5.1=obs_51 3 Routines Obsoleted in IDL 5.0=obs_50 3 Routines Obsoleted in IDL 4.0 or Earlier=obs_40 3 Obsolete System Variables=obs_sysvars ; ;******************************** ;***** Using IDL **************** ;******************************** 1 Using IDL ;***** Chapter 1, (overview.fm) 2 About IDL=use_about_x ;****** Chapter 2, (running.fm) 2 Running IDL 3 Starting IDL=starting_idl 3 Quitting IDL=quitting 3 Environment Variables Used by IDL=use_env_vars 3 Input to IDL=input_to_idl ;3 Special Characters=use_special_characters 3 Executive Commands=exec_commands 3 Setting Up a Printer in IDL=printersetup 3 Printing Graphics=printing_graphics 3 Preparing and Running Programs=running_programs 3 Issuing Operating System Commands=issuing_OS_commands 3 Batch Execution=batch_execution 3 Startup File=startup_file 3 Non-Interactive IDL=noninteractive 3 SAVE and RESTORE=SAVE_and_RESTORE 3 Journaling=journaling ;***** Chapter 3, (ide-win.fm) 2 IDL for Windows 3 The Main IDL Window=win_main 3 IDLDE Windows=win_dev 3 The Menu Items=win_menu 3 Keyboard Shortcuts=win_keys 3 Customizing IDL=win_custom ; Moved to Building 3 Using the IDL Editor=win_edit 3 Windows IDL Differences=win_diffs ;***** Chapter 4, (ide-motif.fm) 2 IDL for Motif 3 The Main IDL Window=motif_main 3 IDLDE Windows=motif_dev 3 The Menu Items=motif_menu 3 Keyboard Shortcuts=motif_keys 3 Using Preferences to Customize IDLDE=motif_prefs 3 Using Resources to Customize IDL=motif_resources 3 Command Line Options=motif_cl 3 Modifying the Control Panel=motif_cpanel 3 Action Routines=motif_action 3 Modifying the Macros Menu=motif_macros ; Moved to Building 3 Using External Editors=motif_edit ; Moved to Building 3 Using the IDL Editor=motif_idledit 3 CDE File Manager Support=motif_cde_support ;***** Chapter 5, (ide-mac.fm) 2 IDL for Macintosh 3 The Main IDL Windows=mac_main 3 IDL Document Windows=mac_doc 3 The Menus=mac_menus 3 Customizing IDL=mac_custom 3 Macintosh IDL Differences=mac_diffs ;***** Chapter 6 (ReadWriteMacros.fm) 2 IDL Macros for Importing Data 3 Overview=use_macro_overview 3 Using Macros to Import an Image File=use_macro_image 3 Using Macros to Import an ASCII File=use_macro_ascii 3 Using Macros to Import a Binary File=use_macro_binary 3 Using Macros to Import HDF Files=use_macro_hdf ;***** Chapter 7, (ReadWriteImages.fm) 2 Reading and Writing Images 3 List of Commands=command_list 3 Accessing Image Files Using Dialogs=access_image_file 3 Accessing General Image File Formats=access_general_image_file 3 Accessing Specific Image File Formats=access_specific_image_file 3 Accessing Files Using Dialogs=access_file_dialogs 3 Accessing Files Using Compound Widgets=access_files_cw ;***** Chapter 8, (ReadWriteAscii.fm) 2 Reading an ASCII Data File 3 Overview=overview_rwascii 3 Reading an ASCII Data File=use_read_ascii ;***** Chapter 9, (ReadWriteBinary.fm) 2 Reading a Binary Data File 3 Overview=overview_rwbinary 3 Reading a Binary Data File=use_read_binary ;***** Chapter 10, (graphics.fm) 2 Graphics 3 Overview=overview_graphics 3 IDL Direct Graphics=direct_graphics 3 IDL Object Graphics=object_graphics ;***** Chapter 11, (plotting.fm) 2 Plotting 3 Overview=overview_plotting 3 Plotting Keyword Parameters=plotting_keyword_params 3 Direct Graphics Coordinate Systems=graphics_coordinate_systems 3 Annotation - The XYOUTS Procedure=annotation 3 Plotting Symbols=plotting_symbols 3 Polygon Filling=polygon_filling 3 Tick Marks=tick_marks 3 Logarithmic Scaling=log_scaling 3 Multiple Plots on a Page=multiple_plots 3 Specifying the Location of the Plot=specifying_location 3 Plotting Missing Data=missing_data 3 Date/Time Plotting=datetime_plotting 3 Using the AXIS Procedure=using_AXIS 3 Using the CURSOR Procedure=cursor_pro ;***** Chapter 12, (plot_multi.fm) 2 Plotting Multi-Dimensional Arrays ;3 Plotting Multi-Dimensional Arrays=plot2d 3 Contour Plots=contour_plots 3 Overlaying Images and Contour Plots=images_and_contours 3 Additional Contour Options=additional_contour 3 The SURFACE Procedure=surface_procedure 3 Three-Dimensional Graphics=three_dimensional_graphics 3 Three-Dimensional Transformations=3d_with_2d 3 Shaded Surfaces=shade_surfaces 3 Volume Visualization=volume_visualization ;***** Chapter 13, (projections.fm) 2 Mapping 3 Overview=overview_proj 3 The MAP_SET Procedure=MAP_SET_Procedure 3 The MAP_GRID Procedure=MAP_GRID_procedure 3 The MAP_CONTINENTS Procedure=map_contin_proc 3 Graphics Techniques for Mapping=graphics_techniques_mapping 3 Map Projections Described=map_projections_described 3 Azimuthal Projections=azimuthal_projections 3 Cylindrical Projections=cylindrical_projections 3 Pseudocylindrical Projections=pseudocylindrical_projections 3 Putting Data on Maps=data_on_maps 3 High-Resolution Continent Outlines=hires_maps ;***** Chapter 14, (image.fm) 2 Displaying Images ;3 Image Display Routines=image_intro 3 Overview=overview_images 3 Images=images_defn 3 Imaging Routines=imaging_routines 3 Image Display=image_display 3 Reading from the Display Device=reading_from_display 3 Color Tables=color_tables 3 TrueColor Displays=true_color_displays 3 Controlling the Device Cursor=controlling_device_cursor ;***** Chapter 15, (signal.fm) 2 Signal Processing 3 Overview=overview_signal 3 Digital Signals=digital_signals 3 Signal Analysis Transforms=sig_transforms 3 The Fourier Transform=sig_fourier 3 Interpreting FFT Results=sig_interpreting_fft 3 Displaying FFT Results=sig_displaying_fft 3 Using Windows=sig_using_windows 3 Aliasing=sig_aliasing 3 FFT Algorithm Details=sig_fft_algorithm 3 The Hilbert Transform=sig_hilbert 3 The Wavelet Transform=sig_wavelet 3 Convolution=sig_convolution 3 Correlation and Covariance=sig_correlation 3 Digital Filtering=sig_digital_filtering 3 Finite Impulse Response (FIR) Filters=sig_fir_filters 3 Fir Filter Implementation=sig_fir_imp 3 Infinite Impulse Response Filters=sig_iir_filters 3 Routines for Signal Processing=sig_routines 3 References=sig_references ;***** Chapter 16, (mathematics.fm) 2 Mathematics ;3 Mathematics=math 3 IDL's Numerical Recipes Functions=nr_functs 3 Accuracy & Floating-Point Operations=floating_point 3 Arrays and Matrices=arrays_and_matrices 3 Correlation Analysis=correlation 3 Curve and Surface Fitting=curve_fitting 3 Eigenvalues and Eigenvectors=eigenvalues 3 Gridding and Interpolation=gridding 3 Hypothesis Testing=hypothesis 3 Integration=integration 3 Linear Systems=linear_systems 3 Nonlinear Equations=nonlin_eqations 3 Optimization=optimization 3 Sparse Arrays=sparse_arrays 3 Time-Series Analysis=time_series 3 Multivariate Analysis=multivariate 3 References=math_references ;***** Chapter 17, (obj_graphics.fm) 2 Object Graphics 3 Overview=overview_obj_graphics 3 Direct vs. Object Graphics=direct_v_object 3 How to Use Object Graphics=use_objgraph 3 Overview of Object Graphics Classes=class_overview 3 Container Objects=use_container_obj 3 Structure Objects=structure_class 3 Atomic Graphic Objects=atoms_class 3 Composite Objects=composite_class 3 Attribute Objects=attribute_class 3 Helper Objects=helper_class 3 Destination Objects=srcdest_class 3 File Format Objects=fileformat_class 3 Properties of Objects=obj_properties 3 Undocumented Graphic Object Classes=obj_undoc ;***** Chapter 18, (obj_tree.fm) 2 The Graphics Object Hierarchy 3 Overview=overview_obj_t 3 Scenes=scene_obj 3 Viewgroups=viewgroup_obj 3 Views=view_obj 3 Models=model_obj 3 Atomic Graphic Objects=atoms_obj 3 Attribute and Helper Objects=attrib_obj 3 The Rendering Process=rendering_process 3 Simple Plot Example=simple_plot_examples ;***** Chapter 19, (obj_transform.fm) 2 Transformations ;3 Transformations=transformations 3 Viewport=viewport 3 Projection=projection 3 Eye Position=eye_position 3 View Volume=view_volume 3 Model Transformations=model_trans 3 Coordinate Conversion=coord_conversion 3 A Simple Example=simple_example 3 Virtual Trackball and 3D Transformations=trackball ;***** Chapter 20, (obj_color.fm) 2 Working with Color 3 Overview=overview_obj_c 3 Color and Digital Data=digital_data 3 Indexed Color Model=indexed_mode 3 RGB Color Model=rgb_color 3 Color and Destination Objects=Color_dest 3 Palettes=color_palettes 3 Using Color=using_color 3 How IDL Interprets Color Values=color_interp ;***** Chapter 21, (obj_attributes.fm) 2 Using Attribute and Helper Objects 3 Overview=overview_obj_a 3 Font Objects=font_obj 3 Palette Objects=palette_obj 3 Pattern Objects=pattern_obj 3 Symbol Objects=symbol_obj 3 Tessellator Objects=tessel_obj ;***** Chapter 22, (obj_axes.fm) 2 Axis and Text Objects 3 Overview=overview_obj_axes 3 Axis Objects=axis_objects 3 Text Objects=text_objects ;***** Chapter 23, (obj_plot.fm) 2 Plots and Graphs 3 Contour Objects=contour_obj2 3 Polygon Objects=polygon_obj2 3 Polyline Objects=polyline_obj2 3 Plot Objects=plot_obj2 3 Legend Objects=legend_obj2 3 A Plotting Routine=a_plotting_routine ;***** Chapter 24, (obj_surf.fm) 2 Surfaces 3 Surface Objects=surf_obj2 3 Light Objects=light_obj2 3 An Interactive Surface Example=surf_examp ;***** Chapter 25, (obj_image.fm) 2 Images ;3 Overview=overview_obj_i 3 Image Objects=image_obj2 3 Colorbar Objects=colorbar_obj2 3 Saving an Image to a File=save_image ;***** Chapter 26, (obj_volume.fm) 2 Volumes 3 Volume Objects=vol_obj2 3 Volume Object Attributes=vol_obj_attr ;***** Chapter 27, (obj_select.fm) 2 Selection and Manipulation 3 Selection and Data Picking=sel_pick 3 Selection=selection 3 Selection Example=selection_ex 3 Data Picking=datapick 3 Data Picking Example=datapick_ex ;***** Chapter 28, (obj_dest.fm) 2 Source and Destination Objects 3 Overview=overview_obj_dest 3 Window Objects=win_obj2 3 Using Window Objects=using_windows 3 Instancing=instancing 3 Buffer Objects=buffer_obj 3 Clipboard Objects=clipboard_obj 3 Printer Objects=printer_obj2 3 VRML Objects=vrml_obj ;***** Chapter 29, (obj_subclass.fm) 2 Subclassing from Object Graphics 3 Creating Composite Classes or Subclasses=create_composite ;***** Chapter 30, (obj_perform.fm) 2 Performance Tuning Object Graphics 3 Overview=overview_obj_perform 3 Polygon Mesh Optimization=polygon_opt 3 Normal Computations=normal_comp 3 Retained Graphics and Expose Events=retained_graph 3 Improving Redraw Performance=improving_redraw 3 Back-face Culling=back_face_culling 3 Lighting=lighting_perf ;*************************** ;******** Building ********* ;*************************** ; 1 Building IDL Applications ;Chapter 1, Overview (buildintro.fm) ;************************************ 2 Overview 3 What is an IDL Application?=idl_apps 3 About Building Applications in IDL=bld_about ;Chapter 2, Expressions and Operators (expressions.fm) ;***************************************************** 2 Expressions and Operators 3 Overview=op_express_overview 3 Operator Precedence=op_express_precedence 3 IDL Operators=op_express_IDL_operators 3 Type and Structure of Expressions=type_and_structure ;Chapter 3, Constants and Variables (constants.fm) ;************************************************* 2 Constants and Variables ;3 Overview=const_overview 3 Data Types=data_types 3 Constants=constants_main 3 Type Conversion Functions=type_conversion 3 Variables=variables 3 System Variables=constants_sysvars 3 Common Blocks=common_blocks ;Chapter 4, Arrays (arrays.fm) ;******************************************* 2 Arrays 3 Overview=arrays_overview 3 Array Subscripts=array_subscripts 3 Array Subscript Syntax=subscript_syntax 3 Subscript Examples=subscript_examples 3 Subscript Ranges=subscript_ranges 3 Structure of Subarrays=structure_of_subarrays 3 Using Arrays as Subscripts=arrays_as_subscripts 3 Combining Array Subscripts with Others=combining_array_subscripts 3 Storing Elements with Array Subscripts=storing_elements ;Chapter 5, Strings (strings.fm) ;******************************* 2 Strings 3 Overview=strings_overview 3 String Operations=string_ops 3 Non-string and Non-scalar Arguments=nonstring_arguments 3 String Concatenation=string_concatenation 3 Using STRING to Format Data=string_format_data 3 Byte Arguments and Strings=byte_arguments_strings 3 Case Folding=case_folding 3 Whitespace=whitespace 3 Finding the Length of a String=finding_string_length 3 Substrings=substrings 3 Splitting and Joining Strings=splitting_joining_strings 3 Comparing Strings=comparing_strings 3 Learning About Regular Expressions=regular_expressions ;Chapter 6, Structures (structures.fm) ;************************************* 2 Structures 3 Overview of Structures=struct_overview 3 Creating and Defining Structures=creating_structures 3 Structure References=structure_references 3 Using HELP with Structures=help_structures 3 Parameter Passing with Structures=parameter_passing_structures 3 Arrays of Structures=arrays_of_structures 3 Structure Input/Output=structure_io 3 Advanced Structure Usage=advanced_structures 3 Automatic Structure Definition=auto_structure_def 3 Relaxed Structure Assignment=relaxed_structure_assign ;Chapter 7, Pointers (pointers.fm) ;********************************** 2 Pointers 3 Overview=pointer_overview 3 Heap Variables=heap_variables 3 Creating Heap Variables=creating_heap 3 Saving and Restoring Heap Variables=save_heap_v 3 Pointer Heap Variables=ptr_heap_vars 3 IDL Pointers=idl_pointers 3 Operations on Pointers=ptr_operations 3 Dangling References=dangling_refs 3 Heap Variables Leakage=heap_leak 3 Pointer Validity=ptr_validity 3 Freeing Pointers=free_ptrs 3 Pointer Examples=ptr_examples ;Chapter 8, Files and Input/Output (files.fm) ;********************************************* 2 Files and Input/Output 3 Overview=file_overview 3 File I/O in IDL=file_io_overview 3 Unformatted Input/Output=unformatted_io 3 Formatted Input/Output=formatted_io 3 Opening Files=opening_files 3 Closing Files=closing_files 3 Logical Unit Numbers (LUNs)=logical_unit_numbers 3 Reading and Writing Very Large Files=rw_large 3 Using Free Format Input/Output=free_format_io 3 Using Explicitly Formatted Input/Output=exp_formatted_io 3 Format Codes=format_codes 3 Using Unformatted Input/Output=using_unformatted_io 3 Portable Unformatted Input/Output=portable_form_io 3 Associated Input/Output=associated_io 3 File Manipulation Operations=misc_io 3 UNIX-Specific Information=Unix_io 3 VMS-Specific Information=vms_io 3 Windows-Specific Information=windows_io 3 Macintosh-Specific Information=mac_io 3 Scientific Data Formats=sdf_short_desc 3 Support for Standard Image File Formats=standard_formats ;Chapter 9, Introduction to IDL Programming (intro_program.fm) ;************************************************************* 2 Introduction to IDL Programming 3 What is an IDL Program?=what_is_program 3 Using the IDL Editor=using_idl_editor 3 Creating a Simple Program=create_pro 3 Compiling and Running Your Program=compile_run 3 Commenting IDL Code=comments ;Chapter 10, Assignment (assignment.fm) ;************************************* 2 Assignment 3 Overview of the Assignment Statement=assignment_overview 3 Assigning a Value to a Variable=assignment_basic 3 Assigning Scalars to Array Elements=assignment_scalar 3 Assigning Arrays to Array Elements=assignment_array 3 Avoid Using Range Subscripts=assignment_range 3 Using Associated File Variables=assignment_assoc ;Chapter 11, Program Control (prog_control.fm) ;************************************ 2 Program Control 3 Overview=prog_control_overview 3 Compound Statements=compound_statements 3 Conditional Statements=conditional_statements 3 Loop Statements=loop_statements 3 Jump Statements=jump_statements ;Chapter 12, Procedures and Functions (procedures.fm) ;************************************************************* 2 Procedures and Functions 3 Overview=procedure_overview 3 Defining a Procedure=define_procedure 3 Calling a Procedure=calling_procedure 3 Defining a Function=define_function 3 Parameters=parameters 3 Using Keyword Parameters=using_keywords 3 Keyword Inheritance=keyword_inheritance 3 Entering Procedure Definitions=entering_procedure_defs 3 How IDL Resolves Routines=how_idl_resolves 3 Parameter Passing Mechanism=parameter_passing_mechanism 3 Calling Mechanism=calling_mechanism 3 Setting Compilation Options=setting_compilation_options 3 Advice for Library Authors=library_authors ;Chapter 13, Creating IDL Projects (projects.fm) ;********************************************** 2 Creating IDL Projects 3 Overview=projects_overview 3 Where to Store Source Files for a Project=projects_srcfiles 3 Creating a Project=project_create 3 Opening, Closing, and Saving Projects=project_open 3 Modifying Project Groups=mod_groups 3 Adding, Moving, and Removing Files=project_add 3 Working with Files in a Project=project_work 3 Setting the Options for a Project=project_set 3 Selecting the Build Order=project_order 3 Compiling an Application from a Project=project_compile 3 Building a Project=project_build 3 Running an Application from a Project=project_run 3 Exporting a Project=project_export ;Chapter 14, Writing Efficient IDL Programs (efficient.fm) ;********************************************************* 2 Writing Efficient IDL Programs 3 Overview=efficient_overview 3 Expression Evaluation Order=evaluation_order 3 Avoid IF Statements=avoid_IF 3 Use Vector and Array Operators=use_array_ops 3 Use System Functions and Procedures=use_system_functions 3 Use Constants of the Correct Type=use_correct_type 3 Eliminate Invariant Expressions=eliminate_invariant 3 Virtual Memory=virtual_memory 3 IDL Implementation=IDL_implementation 3 The IDL Code Profiler=build_code_profiler ;Chapter 15, Solutions to Common IDL Tasks (tasks.fm) ;****************************************************** 2 Solutions to Common IDL Tasks 3 Determining Variable Scope=determine_scope 3 Determining if a Keyword is Set=determine_set 3 Determining the Number of Array Elements in an Expression or Variable=determine_n_elements 3 Determining if a Variable is Defined=determine_vardef 3 Supplying Values for Missing Keywords=missing_keyword 3 Supplying Values for Missing Arguments=supply_values 3 Determining the Size/Type of an Array=determine_size 3 Determining if a Variable Contains a Scalar or Array Value=scalar_or_array 3 Calling Functions/Procedures Indirectly=call_indirect 3 Executing Dynamically-Created IDL Code=execute_dynamic ;Chapter 16, Controlling Errors (errors.fm) ;****************************************** 2 Controlling Errors 3 Overview=errors_overview 3 Default Error-Handling Mechanism=default_error_handling 3 Disappearing Variables=disappearing_variables 3 Controlling Errors Using CATCH=controlling_errors_with_CATCH 3 Controlling Errors Using ON_ERROR=controlling_errors_with_ONERROR 3 Controlling Input/Output Errors=controlling_IO_errors 3 Error Signaling=error_signaling 3 Obtaining Traceback Information=obtaining_traceback 3 Error Handling=error_system_variables 3 Math Errors=math_errors ;Chapter 17, Debugging an IDL Program (debug.fm) ;*********************************************** 2 Debugging an IDL Program 3 Overview=debug_overview 3 Debugging Commands=debugging_commands 3 The Variable Watch Window=var_watch ;Chapter 18, Building Cross-Platform Applications (xplatform.fm) ;*************************************************************** 2 Building Cross-Platform Applications 3 Overview=xplat_overview 3 Which Operating System is Running?=which_os 3 File and Path Specifications=filespec 3 Environment Variables used by IDL=env_vars 3 Files and Input/Output=files 3 Math Exceptions=math_excep 3 Operating System Access=os_access_x 3 Display Characteristics and Palettes=display_char 3 Fonts=fonts_x 3 Printing=print_x 3 SAVE and RESTORE=save_x 3 Widgets=wid_x 3 Using External Code=extern_x 3 IDL DataMiner Issues=data_x ;Chapter 19, Extending IDLs Online Help System (exthelp.fm) ;********************************************************** 2 Extending IDL's Online Help System 3 Overview=ehelp_overview 3 Online Help Viewers Included with IDL=help_viewers 3 Accessing Online Help from IDL=access_help 3 Alternatives to Traditional Help Systems=alternative_help ;Chapter 20, Distributing IDL Applications (runtime.fm) ;****************************************************** ;2 Distributing IDL Applications ;3 Overview=distrib_overview ;3 Creating Your Product Distribution Through Your IDL Project=distrib_export ;3 Customizing A Windows Distribution=cust_dist_win ;3 Customizing A Macintosh Distribution=cust_dist_mac ;3 Customizing A UNIX Distribution=cust_dist_unix ;3 For Applications That Use IDL DataMiner=dist_dm ;3 For Applications That Use ActiveX=dist_activex ;3 Using the make_rt Script=distrib_makert ;3 Adding IDL Files to the Distribution=distrib_manifest ;3 Replacing the Licensing Dialog Image=distrib_call_dial ;Chapter 20, Using IDL Objects (objects.fm) ;****************************************** 2 Using IDL Objects 3 Object-Oriented Programming=object_prog 3 IDL Object Overview=obj_overview 3 Class Structures=class_structures 3 Inheritance=obj_inherit 3 Object Heap Variables=obj_heap_vars 3 Null Objects=null_objects 3 The Object Lifecycle=obj_lifecycle 3 Operations on Object=obj_operations 3 Obtaining Information about Objects=obj_info 3 Method Routines=obj_methods 3 Method Overriding=obj_method_override 3 Object Examples=obj_examples ;Chapter 21, Using the IDL GUIBuilder (guibuild.fm) ;************************************************** 2 Using the IDL GUIBuilder 3 Overview=gui_overview 3 Starting the IDL GUIBuilder=start_gui 3 Creating an Example Application=gui_example 3 IDL GUIBuilder Tools=gui_tools 3 Widget Operations=opert_widgt 3 Generating Files=gui_files 3 IDL GUIBuilder Examples=examp_guicode 3 Widget Properties=define_propt 3 Common Widget Properties=common_propt 3 Base Widget Properties=base_propt 3 Button Widget Properties=button_propt 3 Text Widget Properties=text_propt 3 Label Widget Properties=label_propt 3 Slider Widget Properties=slider_propt 3 Droplist Widget Properties=droplist_propt 3 Listbox Widget Properties=listbox_propt 3 Draw Widget Properties=draw_propt 3 Table Widget Properties=table_propt ;Chapter 22, Widgets (widgets.fm) ;******************************** 2 Widgets 3 Overview=widget_overview 3 Widget Types=widget_types_building 3 Manipulating Widgets=manipulating_widgets 3 Examples of Widget Programming=examples_of_widget 3 The Widget Application Model=widget_appmodel 3 Creating Widget Applications=widget_apps 3 Widget Example 1=widget_example1 3 Widget Values=widget_values 3 Widget User Values=widget_user_values 3 Widget Events=widget_events 3 Widget Example 2=widget_example2 3 Using Draw Widgets=draw_widgets 3 Creating Menus=menus 3 Controlling Widgets=controlling_wid 3 Widget Sizing=widget_sizing 3 Event Processing and Callbacks=event_proc 3 Managing Widget Application State=managing_state 3 Compound Widgets=compound_widgets 3 Tips on Creating Widget Applications=widget_tips 3 Compound Widget Example=compound_widget ;Appendix A, VMS Floating-Point Arithmetic in IDL (ieee.fm) ;********************************************************** 2 VMS Floating-Point Arithmetic in IDL 3 Overview=overview_ieee 3 VAX Floating-Point Format Background=vms_background 3 Transition Issues=vms_trans_issues 3 A Warning About Floating-Point Conversions in IDL=vms_convert_warn 3 A Strategy for Converting VMS Programs=vms_convert_strat 3 Using CALL_EXTERNAL=vms_callext 3 A Note on the VMS G Float Format=vms_gfloat ;******************************************** ;***** External Development Guide ********* ;******************************************** 1 Developing External Applications ;Chapter 1: Overview ;******************************************** 2 Overview 3 Supported Inter-Language Communication Techniques=interlang_comm_tech 3 Dynamic Linking Terminology and Dynamic Linking Concepts=dynamic_linking 3 When is it Appropriate to Combine External Code with IDL?=appropriate_to_add_code 3 Skills Required to Combine External Code with IDL=skills_to_add_code ;3 Recommended Reading=recommended_reading 3 IDL Organization=IDL_organization 3 External Definitions=external_definitions 3 Linking Details=linking_details ;Chapter 2: Using SPAWN ;******************************************** 2 Using SPAWN 3 The SPAWN Procedure=spawn_procedure 3 Interactive Use of SPAWN=interactive_use 3 Noninteractive Use of SPAWN=non_interactive 3 Avoiding the Shell Under UNIX=avoid_shell 3 Communicating Through the Use of a UNIX Child Process=comm_unix ;Chapter 3: IDLDrawWidget ActiveX Control ;******************************************** 2 IDLDrawWidget ActiveX Control 3 Overview=activex_control 3 Creating an Interface and Handling Events=creating_an_interface 3 Working with IDL Procedures=working_with_idl 3 Advanced Examples=advanced_examples 3 Copying and Printing IDL Graphics=copying_printing 3 XLoadCT Functionality Using Visual Basic=xload_function 3 XPalette Functionality Using Visual Basic=xpalette_function 3 Integrating Your Object Graphics by Utilizing Visual Basic=integrate_object 3 Sharing a Grid Control Array with IDL=sharing_grid 3 Handling Events within Visual Basic=handling_events 3 Distributing Your ActiveX Control Application=distributing_app ;Chapter 4: IDL ActiveX Control Command Reference ;************************************************ 2 IDL ActiveX Control Command Reference 3 IDLDrawWidget=idl_draw_widget 3 Methods=Methods_x 3 Do Methods (Runtime Only)=do_methods_x 3 Properties=x_props 3 Read Only Properties=read_only_props 3 Auto Event Properties=auto_event_props 3 Events=x_events ;Chapter 5: AppleScript Support ;******************************************** 2 AppleScript Support 3 AppleScript and IDL=applescript_idl 3 Basic AppleScript Support=basic_applescript_support 3 Using IDL Commands via AppleScript=running_idl_commands_applescript 3 Moving Data To and From IDL=moving_data_applescript 3 Controlling Other Applications=controlling_other_mac_apps 3 IDL Apple Events=IDL_apple_events ;3 References=references_applescript ;Chapter 6: Remote Procedure Calls ;******************************************** 2 Remote Procedure Calls 3 IDL and Remote Procedure Calls=idl_rpc 3 Using IDL as an RPC Server=idl_as_rpc_server 3 Client Variables=client_variables 3 Linking to the Client Library=rpc_linking 3 Compatibility with Older IDL Code=rpc_compatibility 3 The IDL RPC Library 4 IDL_RPCCleanup=idl_rpccleanup 4 IDL_RPCDeltmp=idl_rpcdeltmp 4 IDL_PRCExecuteStr=idl_rpcexecutestr 4 IDL_RPCGetMainVariable=idl_rpcgetmainvariable 4 IDL_RPCGettmp=idl_rpcgettmp 4 IDL_RPCGetVariable=idl_rpcgetvariable 4 IDL_RPCImportArray=idl_rpcimportarray 4 IDL_RPCInit=idl_rpcinit 4 IDL_RPCMakeArray=idl_rpcmakearray 4 IDL_RPCOutputCapture=idl_rpcoutputcapture 4 IDL_RPCOutputGetStr=idl_rpcoutputgetstr 4 IDL_RPCSetMainVariable=idl_rpcsetmainvariable 4 IDL_RPCSetVariable=idl_rpcsetvariable 4 IDL_RPCStoreScalar=idl_rpcstorescalar 4 IDL_RPCStrDelete=idl_rpcstrdelete 4 IDL_RPCStrDup=idl_rpcstrdup 4 IDL_RPCEnsureLength=idl_rpcensurelength 4 IDL_RPCStrStore=idl_rpcstrstore 4 IDL_RPCTimeout=idl_rpctimeout 4 IDL_RPCVarCopy=idl_rpcvarcopy 4 IDL_RPCVarGetData=idl_rpcvargetdata 4 Variable Accessor Macros=var_access_macros 3 RPC Examples=rpc_examples ;Chapter 7: CALL_EXTERNAL ;******************************************** 2 CALL_EXTERNAL 3 IDL and CALL_EXTERNAL=idl_callex 3 The CALL_EXTERNAL Function=call_external_function 3 Handling Different Data Types=diff_data_types 3 CALL_EXTERNAL Under UNIX=call_ext_unix 3 CALL_EXTERNAL Under OpenVMS=call_ext_vms 3 CALL_EXTERNAL Under Windows=call_ext_win 3 CALL_EXTERNAL on the Macintosh=call_ext_mac ;Chapter 8: IDL Internals: Types ;******************************************** 2 IDL Internals 3 Types 4 Type Codes=type_codes 4 Mapping of Basic Types=mapping_of_basic_types 4 IDL_MEMINT and IDL_FILEINT Types=memint_fileint_types ;Chapter 9: IDL Internals: Variables ;******************************************** 3 Variables 4 IDL and Internal Variables=internal_variables 4 The IDL_VARIABLE Sturcture=the_idl_variable_structure 4 Scalar Variables=scalar_variables 4 Array Variables=array_variables 4 Structure Variables=structure_variables 4 Heap Variables=edg_heap_variables 4 Temporary Variables=temporary_variables 4 Creating an Array from Existing Data=creating_array_from_data 4 Getting Dynamic Memory=getting_dynamic_memory 4 Accessing Variable Data=accessing_variables 4 Copying Variables=copying_variables 4 Storing Scalar Values=storing_scalar_values 4 Obtaining the Name of a Variable=obtaining_name_of_variable 4 Looking Up Main Program Variables=looking_up_main_variables 4 Looking Up Variables in Current Scope=looking_up_local_variables ;Chapter 10: IDL Internals: Keyword Processing ;********************************************* 3 Keyword Processing 4 IDL and Keyword Processing=keyword_processing 4 Creating Routines that Accept Keywords=creating_routines_that_accept_keywords 4 The IDL_KW_PAR Structure=the_IDL_KW_PAR_structure 4 The IDL_KW_ARR_DESC Structure=the_IDL_KW_ARR_DESC_structure 4 Keyword Processing Options=keyword_processing_options 4 Processing Keywords=processing_keywords 4 Cleaning Up=cleaning_up 4 Keyword Examples=keyword_examples ;Chapter 11: IDL Internals: String Processing ;******************************************** 3 String Processing 4 String Processing and IDL=string_processing_idl 4 Accessing IDL_STRING Values=accessing_IDL_STRING_values 4 Copying Strings=copying_strings 4 Deleting Strings=deleting_strings 4 Setting an IDL_STRING Value=setting_an_IDL_STRING_value 4 Obtaining a String of a Given Length=obtaining_string_of_given_length ;Chapter 12: IDL Internals: Error Handling ;******************************************** 3 Error Handling 4 Message Blocks=message_blocks 4 Issuing Error Messages=issuing_error_messages 4 Specifying errno Explicitly=specifying_errno_explicitly 4 Issuing OpenVMS Messages=issuing_VMS_messages 4 Looking Up a Message Code by Name=looking_up_message 4 Checking Arguments=checking_arguments ;Chapter 13: IDL Internals: Type Conversion ;******************************************** 3 Type Conversion 4 Converting Arguments to C Scalars=converting_arguments_to_C_scalars 4 General Type Conversion=general_type_conversion 4 Converting to Specific Types=converting_between_specific_types ;Chapter 14: IDL Internals: Files and Input/Output ;************************************************* 3 Files and Input/Output 4 IDL and Input/Output Files=idl_io_files 4 File Information=file_information 4 Opening Files=edg_opening_files 4 Closing Files=edg_closing_files 4 Preventing File Closing=preventing_file_closing 4 Checking File Status=checking_file_status 4 Allocating and Freeing File Units=allocating_and_freeing_file_units 4 Detecting End of File=detecting_end_of_file 4 Flushing Buffered Data=flushing_buffered_data 4 Reading a Single Character=reading_a_single_character 4 Output of IDL Variables=output_of_IDL_variables 4 Adding to the Journal File=adding_to_the_journal_file ;Chapter 15: IDL Internals: Signals ;******************************************** 3 Signals 4 IDL and Signals=idl_signals 4 Signals Handlers=signal_handlers 4 Establishing a Signal Handler=establishing_a_signal_handler 4 Removing a Signal Handler=removing_a_signal_handler 4 UNIX Signal Masks=unix_signal_masks ;Chapter 16: IDL Internals: Timers ;******************************************** 3 Timers 4 IDL and Timers=idl_timers 4 Making Timer Requests=making_timer_requests 4 Canceling Asynchronous Timer Requests=canceling_asynchronous_timer_requests 4 Blocking UNIX Timers=blocking_unix_timers ;Chapter 17: IDL Internals: Miscellaneous Information ;**************************************************** 3 Miscellaneous Information 4 Dynamic Memory=dynamic_memory 4 Exit Handlers=exit_handlers 4 User Interrupts=user_interrupts 4 Functions for Returning System Variables=system_variables_edg 4 Terminal Information=terminal_information 4 Ensuring UNIX TTY State=unix_ttystate 4 Type Information=type_information 4 User Information=user_information 4 Constants=constants_edg 4 Macros=macros_edg 4 IDL Global Data Under VAX/OpenVMS=access_to_global_data ;Chapter 18: Adding System Routines ;******************************************** 2 Adding System Routines 3 IDL and System Routines=idl_sysroutines 3 The System Routine Interface=system_routine_interface 3 Example: Hello World=hello_world_example 3 Example: Doing a Little More (MULT2)=more_complex_example 3 Example: A Complete Numerical Routine Example (FZ_ROOTS2)=a_complete_example 3 Example: An Example Using Routine Design Iteration (RSUM)=rsum_example 3 Registering Routines=reg_routines 3 Enabling and Disabling System Routines=enabling_disabling_sysroutines 3 LINKIMAGE=link_image_edg 3 Dynamically Loadable Modules=dynam_load ;Chapter 19: Callable IDL ;******************************************** 2 Callable IDL 3 Calling IDL as a Subroutine=calling_idl_sub 3 When is Callable IDL Appropriate?=when_to_use_callable_IDL 3 Licensing Issues and Callable IDL=licensing_issues_callable 3 Using Callable IDL=using_callable_IDL 3 Initialization=initialization_callable 3 Diverting IDL Output=diverting_callable 3 Executing IDL Statements=executing_callable 3 Runtime IDL and Embedded IDL=runtime_callable 3 Cleanup=cleanup_callable 3 Issues and Examples: UNIX and VMS=issues_ex_unix_vms 3 Issues and Examples: Microsoft Windows=issues_ex_win 3 Issues and Examples: Macintosh=issues_ex_mac ;Chapter 20: Adding External Widgets to IDL ;******************************************** 2 Adding External Widgets to IDL 3 IDL and External Widgets=idl_external_widgets 3 WIDGET_STUB=WIDGET_STUB 3 WIDGET_CONTROL/WIDGET_STUB=WIDGET_CONTROL_edg 3 Function for Use with Stub Widgets=internal_functions_with_stub_widgets 3 Internal Callback Functions=internal_callback_functions 3 OpenVMS with WIDGET_STUB=vms_example_using_widget_stub ;********************** ;******** SDF ********* ;********************** ; 1 Scientific Data Formats 2 Scientific Data Formats Overview=SDF_Overview 2 CDF 3 Variables and Attributes=CDF_variables 3 CDF File Options=CDF_File_Options 3 Creating CDF Files=Creating_CDF_Files 3 CDF Routines=CDF_Routines 2 EOS 3 Feature Routines=Feature_Routines 3 HDF-EOS Programming Model=EOS_Prog_Model 3 EOS Routines=EOS_Routines 2 HDF 3 HDF Interfaces=HDF_Interfaces 3 Creating HDF Files=Creating_HDF_Files 3 HDF Scientific Dataset ID Numbers=HDF_SD 3 HDF Routines=HDF_Routines 2 NCDF 3 NetCDF Data Modes=NetCDF_Data_Modes 3 Attributes, Dimensions, and Variables=Attributes 3 Creating NetCDF Files=Creating_NCDF_Files 3 Type Conversion=NCDF_Type_Conv 3 Specifying Attributes and Variables=NCDF_Attributes_Vars 3 String Data in NetCDF Files=NCDF_String 3 NCDF Routines=NCDF_Routines 2 Obsolete SDF Routines 3 What are Obsolete Routines?=sdf_what_are_obs 3 SDF Routines Obsoleted in IDL 5.3=sdf_routines_obs_53 ;******************************************** ;********* IDL Wavelet Toolkit ************ ;******************************************** 1 IDL Wavelet Toolkit ;Chapter 1: Introduction to the IDL Wavelet Toolkit ;*************************************************** 2 Overview 3 What is the IDL Wavelet Toolkit?=wavelet_whatis 3 IDL Wavelet Toolkit Architecture=wavelet_arch ;Chapter 2: Using the IDL Wavelet Toolkit ;**************************************** 2 Using the IDL Wavelet Toolkit 3 Starting the Toolkit=wavelet_starting 3 Menu Description=wavelet_menu_desc 3 Dataset Viewer=wavelet_dataset_viewer 3 Importing Data=wavelet_importing_data 3 Wavelet Viewer=wavelet_viewer 3 Wavelet Power Spectrum=wavelet_power_spec 3 Multiresolution Analysis=wavelet_multires 3 Denoise Tool=wavelet_mdenoise 3 Adding User Tools=wavelet_addusertools ;Chapter 3: Theory and Examples ;****************************** 2 Theory and Examples 3 Wavelet Transform=wavelet_transform 3 Wavelet Power Spectrum=wavelet_theory_power 3 Denoise=wavelet_theory_denoise 3 Multiresolution Analysis=wavelet_theory_multires ;Chapter 4: IDL Wavelet Toolkit Reference ;**************************************** 2 IDL Wavelet Toolkit Reference 3 List of Commands by Functionality=wavelet_ref_byfunc 3 WV_APPLET=wv_applet 3 WV_CW_WAVELET=wv_cw_wavelet 3 WV_CWT=wv_cwt 3 WV_DENOISE=wv_denoise 3 WV_DWT=wv_dwt 3 WV_FN_COIFLET=wv_fn_coiflet 3 WV_FN_DAUBECHIES=wv_fn_daubechies 3 WV_FN_GAUSSIAN=wv_fn_gaussian 3 WV_FN_HAAR=wv_fn_haar 3 WV_FN_MORLET=wv_fn_morlet 3 WV_FN_PAUL=wv_fn_paul 3 WV_FN_SYMLET=wv_fn_symlet 3 WV_IMPORT_DATA=wv_import_data 3 WV_IMPORT_WAVELET=wv_import_wavelet 3 WV_PLOT3D_WPS=wv_plot3d_wps 3 WV_PLOT_MULTIRES=wv_plot_multires 3 WV_PWT=wv_pwt 3 WV_TOOL_DENOISE=wv_tool_denoise ;********** ; 1 How to Contact RSI 2 Contacting RSI=contacting_RSI 2 Reporting Problems=use_over04