Команды, которые вы ищете, возможно, описаны в разделе «LinePlotDisplays»:
Быстрый пример:
image spectrum := RealImage( "Test", 4, 512 )
spectrum = icol * sin( icol/iwidth * 10 * Pi() )
spectrum.ShowImage()
imageDisplay disp = spectrum.ImageGetImageDisplay(0)
disp.LinePlotImageDisplaySetDoAutoSurvey( 0, 0 ) // Switch auto-survey off!
disp.LinePlotImageDisplaySetContrastLimits( -50, 100 ) // Set limits (uncalibrated)
disp.LinePlotImageDisplaySetDisplayedChannels( 100, 200 ) // Set X-range in display (uncalibrated)
Однако, если вы имеете в виду настройки, которые можно получить из контекстного меню легенды, то есть
тогда, боюсь, у меня нет для вас никакой помощи.
Судя по всему, в текущей версии DigitalMicrograph нет скриптового доступа к этой функции.
Однако вы можете «сдвигать и масштабировать» отдельные фрагменты линейного графика относительно друг друга с помощью команд сценария. На самом деле в справочной документации есть пример скрипта, который я просто скопирую сюда:
number deltaX = 10
number deltaY = 20
number kLinePlotType = 3
image spec := GetFrontImage()
if ( !spec.ImageIsValid() ) Throw( "Invalid image" )
if ( 0 == spec.ImageCountImageDisplays() ) Throw( "No Image Display" )
imageDisplay disp = spec.ImageGetImageDisplay(0)
if ( kLinePlotType != disp.ImageDisplayGetDisplayType() ) Throw( "Not a LinePlot." )
number nSlices = disp.LinePlotImageDisplayCountSlices()
// get current reference slice index and its ID
number refSlice_idx = disp.LinePlotImageDisplayGetSlice()
object slice_ref = disp.ImageDisplayGetSliceIDByIndex( refSlice_idx )
for ( number i = 1; i < nSlices; i++ )
{
object slice_src = disp.ImageDisplayGetSliceIDByIndex( i )
number int_offset, int_scale
number pos_offset, pos_scale
// get current transform factors between slice and reference slice
disp.LinePlotImageDisplayGetImageToGroupTransform( slice_src, slice_ref, int_offset, int_scale, pos_offset, pos_scale )
pos_offset = ( i / nSlices ) * deltaX
int_offset = ( i / nSlices ) * deltaY
// set new transform factors between slice and reference slice
disp.LinePlotImageDisplaySetImageToGroupTransform( slice_src, slice_ref, int_offset, int_scale, pos_offset, pos_scale )
}
person
BmyGuest
schedule
28.06.2017