[Previous]
[Next]
NAME:
UNIQ
PURPOSE:
Return the subscripts of the unique elements in an array.
Note that repeated elements must be adjacent in order to be
found. This routine is intended to be used with the SORT
function. See the discussion of the IDX argument below.
This command is inspired by the Unix uniq(1) command.
CATEGORY:
Array manipulation.
CALLING SEQUENCE:
UNIQ(Array [, Idx] [/first] )
INPUTS:
Array: The array to be scanned. The type and number of dimensions
of the array are not important. The array must be sorted
into monotonic order unless the optional parameter Idx is
supplied.
OPTIONAL INPUT PARAMETERS:
IDX: This optional parameter is an array of indices into Array
that order the elements into monotonic order.
That is, the expression:
Array(Idx)
yields an array in which the elements of Array are
rearranged into monotonic order. If the array is not
already in monotonic order, use the command:
UNIQ(Array, SORT(Array))
The expression below finds the unique elements of an unsorted
array:
Array(UNIQ(Array, SORT(Array)))
OUTPUTS:
An array of indicies into ARRAY is returned. The expression:
ARRAY(UNIQ(ARRAY))
will be a copy of the sorted Array with duplicate adjacent
elements removed.
Optional Keyword Parameter:
first - if set, return index of FIRST occurence for duplicates
(default is LAST occurence)
CALLS: ***
SXIM_UNIQ
CALLED BY:
ADD_ALT, ADD_DETAIL, ADD_FLAG, ADD_PLAN, ADJUST_REFCAL, ALL_VALS [1], ALL_VALS [2]
ANALYZE [1], ANALYZE_IMG, APPLY_CDS_ADEF, BATSE_LAD_DRM, BATSE_SPEC_DRM, BSC_VALID
CAT_OPEN [1], CHECK_DIST, CHK_DATAWIN, CHK_F_RASTER, CHK_F_STUDY, CHK_LINELIST
CHK_V_RASTER, CHK_V_STUDY, CONCAT2D, CONCAT3D, CTRCALCHEK, CleanGlitchBox
DATA_PATHS, DISPLAY_CDS_BURNIN, DISPLAY_NIMCP, DLASCAN, EIS_CPT_ASCII_TABLES [1]
EIS_CPT_ASCII_TABLES [2], EIS_CPT_CHECK_STUDY [1], EIS_CPT_CHECK_STUDY [2]
EIS_CPT_COMMAND_STORE_CHECK [1], EIS_CPT_COMMAND_STORE_CHECK [2]
EIS_CPT_TABLE_DIFFERENCE [1], EIS_CPT_TABLE_DIFFERENCE [2]
EIS_CPT_UNIQUE [1], EIS_CPT_UNIQUE [2], EIS_MULTIPLE_SEQUENCE_TABLES [1]
EIS_MULTIPLE_SEQUENCE_TABLES [2], FF_SUMMARY, FIND_CAMPAIGN, FIND_CDS_STUDIES
FIND_CLOSEST_ARR, FIND_DURATION, FIT_SPEC, FIX_IAP, FLAGOOL, FLARE_SORT
FRAMEWORK ABSTRACT CLASS DEFINITION, FUNCT_FIT, FXBWRITM, FindAllFiles, GAINCOR
GET_CDS_GIS, GET_NAR, GET_SLLD, GET_SUMER_FILES, GET_TIMING, GET_UNIQ_LIST
GHOST_BUSTER, GT_BSC_CHAN [1], GT_BSC_CHAN [2], GT_CDS_QL, GetColors, GetRng
HSI_DECIM_CORRECTION [1], HSI_DECIM_CORRECTION [2], HSI_HIST_GROUP
HSI_MAP_EVALUATOR [1], HSI_SPECTROGRAMCHAN_OVERLAP_FIX
HSI_SPECTROGRAM_DECIM_CORRECT, HSI_SPECTROGRAM_DECIM_TABLE
Hsi_contact2fits [1], Hsi_contact2fits [2], IMCONTOUR, INDEX2MAP, INTERP2INTEG
InsituTimeSeries, JOIN_STRUCT [2], LIST_ALT, LIST_ANOMALY, LIST_CAMPAIGN
LIST_CDROM, LIST_DETAIL, LIST_DSN, LIST_EXPER, LIST_EXP_COMM, LIST_FLAG
LIST_INST_DLYD, LIST_MAIN, LIST_MDI_M, LIST_NRT_RES, LIST_OP [1], LIST_OP [2]
LIST_OTHER_OBS, LIST_OTHER_RES, LIST_PLAN, LIST_SOHO_DET, MAP_DISCLA2CONT
MDI_SUMMARY_SUB1, MEAN_MAP, MELD_DISCSP [1], MK_CDS_PLAN, MK_LIBRARY_HELP
MK_PLAN_SORT, MK_SOHO_TARGET, NET_DIR_DIFF, NEWSCAN, NORH_F2EVF [1]
NORH_F2EVF [2], NORH_PR_EVX [1], NORH_PR_EVX [2], NORH_PR_INFO [1]
NORH_PR_INFO [2], NORH_RD_TCX [1], NORH_RD_TCX [2], NORH_RD_TSX [1]
NORH_RD_TSX [2], NORH_SYNTH_BYF [1], NORH_SYNTH_BYF [2], NORH_TRANS_BYF [1]
NORH_TRANS_BYF [2], NORP_RD_AVG [1], NORP_RD_AVG [2], NORP_RD_DAILY [1]
NORP_RD_DAILY [2], OCC_DBASE, OP_COM [1], OP_COM [2], OR_SHAPE
PICKFONT use to be XFONT, PLOT_GD_CALC, PLOT_MAP
PLOT_MAP2 WARNINGTEMPORARY FIX ONLY FOR 16 bit ZBuffer support
PLOT_SUPPORT, PRINT_STRUCT, RD_ADA, RD_BDA [1], READ_ANALIST, READ_HESI_DAT
READ_HESSI_DAT, READ_STTE, REGEN_SYNOP, REM_DUP_TAG, REM_FST, REM_SEQ
RESOLVE_NEW_OBS, ROWSORT, RdTap [1], RdTap [2], RdTap [3], SMK_FULLDET
SPECTROGRAM CLASS DEFINITION, SPEX_COMMONS [2], SPEX_COMMONS [4]
SPEX_PROC [1], SPEX_PROC [2], STEPPER [1], STEPPER [2], STEPPER [5], STEPPER_LP
SXT_WEIGHT, TEST_DIR2, TKI_UDPSLIT, TOK_RD_DAILY, TYKW_RD_DAILY, TimePosn
TimePosn_test, TimeXAxis, UNIQ_KEY, UPD_PLAN, UPD_SOHO_DET, UTPLOT_IMAGE, VSO_GET
VSO__DEFINE, WAMPHIT, WCS_HCLEAN, WDUMPREC, WHERE_VECTOR, WIDG_HELP, WRITE_HKBYDATE
W_HISTOGRAM, XCAMP, XDL [1], XDL [2], XSEL_LIST [1], XSEL_LIST [2], ads_into_att
ads_into_pnt, adsdirs [1], adsdirs [2], att_exst, bcs_chi_norm, big_eph
big_eph_short, cam_run_sum, chk_batse_env [1], chk_batse_env [2], chk_flares [1]
chk_flares [2], db_gbo, delete_week [1], delete_week [2], delind [1], delind [2]
doytim2ints, dpc_summary, eit_files, eit_fulldiskdb, ex2week [1], ex2week [2]
extract_val, fidrange [1], fidrange [2], find_pixel_intersects, fitshead2struct
flare_hist, flares2disk, fsp_11, fsp_mc, gen_file_id [1], gen_file_id [2]
get_afile_size [1], get_afile_size [2], get_att, get_dc_image [2]
get_dc_image [3], get_dc_warm, get_gevloc_data, get_hk_info [1], get_hk_info [2]
get_leak_image [1], get_leak_image [2], get_leak_image [3], get_most_comm [1]
get_most_comm [2], get_sfc_info, get_suncenter2, get_uniq, getwid, grid_data [1]
grid_data [2], hastogram, hesi_grid_trans, hessi_grid_trans, hessi_grm
hsi_as_appids, hsi_bad_pak, hsi_badpak_test, hsi_monthly_average
hsi_monthly_filename, hsi_qlook_concat, hsi_ras_rdevent
hsi_read_all_flare_list, hsi_sas_rdlimb, hsi_spectrogramACCBIN [2]
hsi_spectrogram__define [1], hsi_spectrogram__define [2]
hsi_spectrogram__define [3], hsi_spectrogram__get_obs [1]
hsi_spectrogram__livetime [1], hsi_write_txt_flare_list, hxsgrs_fsp, ihy_db
interp_img, ip_que_dmpver, iperr_sea, jitter_gif_xyimg, keyword_db
list_mo_log [1], list_mo_log [2], make_views, matchem [1], matchem [2], mdipdist
merge_batse_photons, merge_genxcat, mewe_spec mewe_spec_lwa, mewe_spec [1]
mewe_spec [2], mk_cd [1], mk_cd [2], mk_flick, mk_gsn_obs_s1, mk_mapfile [1]
mk_mapfile [2], mk_mo_disk, mk_mo_disk2, mk_query [1], mk_query [2], mk_sd2
mk_sdc [2], mk_sdc [3], mk_sdc [4], mk_sdm, mk_ssl, mo2wks, mo_check, mo_patch, mo_prep
mon_health [1], mon_health [2], mxf_read_data, nagoya_glevel, new_mon_health [1]
new_mon_health [2], norh_t2azel, path_data [1], path_data [2], path_sw [1]
path_sw [2], pfi_dominant, phoenix_filedb_get, plot_pcal, plot_ssw_fov
plot_trav [1], plot_trav [2], plot_trav [3], pmtras_analysis, pnt_exst
pr_mdihk_trans [1], pr_mdihk_trans [2], pr_sxt_term, pr_uniq_hk, pro_list [1]
pro_list [2], prt_afile_size [1], prt_afile_size [2], psk_correlate
qLine_Sequence, qNagoya_PointSources, qView_PickFiles, qView_Shortname
qsmei_sky_Pick, rd_fdss, rd_modb, rd_sumer [1], rd_sumer [2], rd_week_file [2]
rd_ydbtap, rdtbl, read_eit, save_data [2], sea, search_files, sel_dc_image [1]
sel_dc_image [2], sel_dc_image [3], seq_dset, seq_run_sum [1], seq_run_sum [2]
ser_dset, setssw_windows, sgt_det_y, sgt_wave, show_obs2, show_obs3, show_obs4
smei_buf_getframe, smei_buf_prep, smei_frm_get, smei_frm_name, smei_frm_property
smei_getfile, smei_sky, smei_star_list, soup_obs2, spex_energy_ranges [1]
spex_energy_ranges [2], ssc_files [1], ssc_files [2], ssc_files [3]
ssw_install [1], ssw_install [2], ssw_install_explinkages, ssw_start_rpcserver
ssw_strsplit, ssw_swmap_bestof, ssw_time2paths, ssw_upgrade [1], ssw_upgrade [2]
ssw_upgrade_backup, sswdb_upgrade, sswhere, str2html [1], str2html [2]
str2html [3], str_subset, str_top2sub, strjustify, strmids [1], strmids [2], strposn
strrempat [1], strrempat [2], strsplit, sxi_files, sxl2radiance, sxl_select
sxt_cen [1], sxt_cen [2], sxt_combine, sxt_decon [1], sxt_decon [2], sxt_eff_area
sxt_flux [1], sxt_flux [2], sxt_flux [3], sxt_his2dbase, sxt_low8_match [1]
sxt_low8_match [2], sxt_mwave, sxt_sumtime, sxt_suture [1], sxt_suture [2]
sxt_uniq [1], sxt_uniq [2], sxtpnt_sum, taer_rn, term_times
test_front_decimation_correct, test_rear_decimation_correct, tim2dbase
timegrid, timeline, timeline2html, topsdb [1], topsdb [2]
tr_mech_summary_img month, tr_reformat, trace_cat2data, trace_dph2struct [1]
trace_files, trace_get_vignette, trace_last_movie [1], trace_last_movie [3]
trace_movie_context, trace_movie_index [1], trace_movie_index [2]
trace_special_movie [1], trace_special_movie [2], trace_special_movie [3]
trace_special_movie2, trace_success_file, trace_uniq_movies, tvmulti
uniq_fid [1], uniq_fid [2], url_decode, vu_insitu, vu_insitu_raw, vu_mean, vu_movie
web_seq, weekfiles, weekid [2], wfilpck, wrt1orbit [1], wrt1orbit [2]
www_help_break, www_help_get_info, xcheckip, xdisp_sci5k, xgen_widget
xset_chain [1], xset_chain [2], xspr [1], xspr [2], ydb_exist [1], ydb_exist [2]
ydb_exist [3], ydb_exist [4], ydb_install [1], ydb_install [2], ydb_use
yo_index2path
COMMON BLOCKS:
None.
MODIFICATION HISTORY:
29 July 1992, ACY - Corrected for case of all elements the same.
30 Aug 1994, SLF - added /first keyword
1 Sep 1994, MDM - Modified to return a vector for the case of
a single element being returned (so it matches
the pre IDL Ver 3.0 version of UNIQ)
- Modified to return [0] for a scalar
10 Sep 1996, Zarro
- modified to return 0 for a scalar and a scalar
for single element being returned.
10 Oct 1996, Zarro
- added OLDWAY keyword to return,[value] for scalar
value