update data explorer: axis scale and labels in preview
This commit is contained in:
@ -613,3 +613,36 @@ threadsafe function calc_y_profile_mins(image)
|
||||
yminlocs[ix] = v_minloc
|
||||
endfor
|
||||
end
|
||||
|
||||
/// collect profiles from a multi-scan.
|
||||
///
|
||||
/// @warning experimental: name and interface of this function may change.
|
||||
///
|
||||
function ad_collect_multiscan_y(dataset, positions, destwave, [noavg])
|
||||
wave dataset
|
||||
wave positions
|
||||
wave destwave
|
||||
variable noavg
|
||||
|
||||
variable tol = (wavemax(positions) - wavemin(positions)) / numpnts(positions) / 100
|
||||
|
||||
duplicate /free positions, positions_sorted
|
||||
sort positions_sorted, positions_sorted
|
||||
duplicate /free positions_sorted, positions_diff
|
||||
differentiate /p /meth=2 positions_sorted /d=positions_diff
|
||||
positions_diff[0] = 1
|
||||
extract /free positions_sorted, positions_unique, positions_diff > tol
|
||||
variable n_unique = numpnts(positions_unique)
|
||||
redimension /n=(dimsize(dataset, 0), n_unique) destwave
|
||||
|
||||
variable i
|
||||
variable nx, ny
|
||||
for (i = 0; i < n_unique; i += 1)
|
||||
extract /free dataset, data_extract, abs(positions[q] - positions_unique[i]) < tol
|
||||
nx = dimsize(dataset, 0)
|
||||
ny = dimsize(data_extract, 0) / nx
|
||||
redimension /n=(nx, ny) data_extract
|
||||
wave profile = ad_profile_x(data_extract, -inf, inf, "", noavg=noavg)
|
||||
destwave[][i] = profile[p]
|
||||
endfor
|
||||
end
|
||||
|
Reference in New Issue
Block a user