1 Star 0 Fork 0

小荷才露尖尖角/MY_invesalius

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Invesalius_note.hsj 35.60 KB
一键复制 编辑 原始数据 按行查看 历史
小荷才露尖尖角 提交于 2017-12-27 23:57 . 细小修改与添加
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801
#Invesalius_note_hsj
## http://git.oschina.net/Heconnor/my_invesalius
---------------------
安装
---------------------
<<'invesalius3-master'>>
程序记录:
<<'app.py'>>
class Invesalius(wx.App)
"""
InVesalius wxPython application class.
Invesalius wxPython 程序类
"""
def OnInit(self):
# Initialize splash screen and main frame.
# 初始化启动动画和主框架
wx.CallLater(1000,self.Startup2) #关于多线程的应用 "unfinished"
return True
def MacOpenFile(self, filename):
# 在darwin操作系统下拖放文件
def Startup2(self):
# ------------------------------------------------------------------
class SplashScreen(wx.SplashScreen):
"""
Splash screen to be shown in InVesalius initialization.
启动画面在 InVesalius 初始化中显示
"""
def __init__(self):
# Splash screen image will depend on currently language
# 启动画面图取决于当前的语言
# Language information is available in session configuration
# 语言信息在 会话配置文件中 可用
# file. First we need to check if this file exist, if now, it
# should be created
# 首先,我们需要先检查这个文件是否存在,存在,将会创建
# Check if there is a language set (if session file exists
# 会话配置文件存在,检查语言是否设置
# If no language is set into session file, show dialog so
# user can select language
# 如果语言没有在配置文件中设置,显示对话框,选择语言
# Session file should be created... So we set the recent
# choosen language
# 会话文件创建,将最新选择的语言写入
# Only after language was defined, splash screen will be shown
# 当语言设定结束后,启动画面显示
def Startup(self):
# Importing takes sometime, therefore it will be done
# while splash is being shown
# 导入需要一定时间,当启动画面显示时,他将完成
# 检查更新
def OnClose(self, evt):
# Make sure the default handler runs too so this window gets
# destroyed
# 确定默认处理程序运行太多将导致窗口崩溃
# 如果计时器仍在运行,将继续显示当前主框架
def ShowMain(self):
# Show main frame
# 显示主框架
# ------------------------------------------------------------------
def parse_comand_line():
"""
Handle command line arguments.
处理命令行参数
"""
# Parse command line arguments
# 解析命令行参数
# -d or --debug: print all pubsub messagessent
# -i or --import: import DICOM directory
# chooses largest series
# 选择做大系列
# If debug argument...
# If import DICOM argument...
# Check if there is a file path somewhere in what the user wrote
# In case there is, try opening as it was a inv3
# 检查这里是否有用户所写的文件路径,若有,尝试以‘inv3’格式打开
def print_events(data):
def main():
"""
Initialize InVesalius GUI
Invesalius GUI 的初始化
"""
application = InVesalius(0)
application.MainLoop()
if __name__ == '__main__':
# Is needed because of pyinstaller
main()
<<'invesalius/data/bases.py'>>
def angle_calculation(ap_axis, coil_axis):
'''
计算两个给定轴之间的角度(度)
'''
def base_creation(fiducials):
'''
坐标系统转换,q:坐标原点,g1,g2,g3:正交向量
'''
def calculate_fre(fiducials, minv, n, q1, q2):
def flip_x(point):
'''
按x轴旋转向量的坐标,返回:翻转坐标
'''
return x,y,z
<<'invesalius/gui/data_notebook.py'>>
Invesalius软件中GUI——Data部分notebook的使用分成Masks/3D surfaces/Measures(详情见界面和代码)
<<'invesalius/gui/default_tasks.py'>>
Invesalius软件中GUI——左边一竖功能布局的使用分成相应步骤(详情见界面和代码)
<<'invesalius/gui/default_viewers.py'>>
前200行,图形4分部分显示布局;200-300,volume的设置;300-end volumeTools
<<'invesalius/gui/frame.py'>>
对invesalius的 TOP 栏进行说明
<<'invesalius/data/converters.py'>>
<<'invesalius/gui/frame.py'>>
<<'invesalius/gui/default_tasks.py'>>
<<'invesalius/gui/task_projection.py'>>
---------------------
更改
添加了zh_CN.png zh_CN.po .mo 文件,实现 中文-简体 语言的显示
<default_viewers.py>_ class VolumeViewerCover
gui/widgets/slice_menu.py
data/viewer_volume.py
invesalius/data/viewer_slice.py
<data/measures.py> 多研究
invesalius/gui/frame.py class ObjectToolBar(AuiToolBar) class SliceToolBar(AuiToolBar)
invesalius/data/surface.py
'OnCrossMove interactor style'
task_exporter.py
def AddPointReference(self, position, radius=1, colour=(1, 0, 0)):
"""
Add a point representation in the given x,y,z position with a optional
radius and colour.
"""
point = vtk.vtkSphereSource()
point.SetCenter(position)
point.SetRadius(radius)
mapper = vtk.vtkPolyDataMapper()
mapper.SetInput(point.GetOutput())
p = vtk.vtkProperty()
p.SetColor(colour)
actor = vtk.vtkActor()
actor.SetMapper(mapper)
actor.SetProperty(p)
actor.PickableOff()
self.ren.AddActor(actor)
self.points_reference.append(actor)
def RemoveAllPointsReference(self):
for actor in self.points_reference:
self.ren.RemoveActor(actor)
self.points_reference = []
def RemovePointReference(self, point):
"""
Remove the point reference. The point argument is the position that is
added.
"""
actor = self.points_reference.pop(point)
self.ren.RemoveActor(actor)
class CirclePointRepresentation(object):
"""
This class represents a circle that indicate a point in the surface
"""
def __init__(self, colour=(1, 0, 0), radius=1.0):
"""
colour: the colour of the representation
radius: the radius of circle representation
"""
self.colour = colour
self.radius = radius
def GetRepresentation(self, x, y, z):
"""
Return a actor that represents the point in the given x, y, z point
"""
sphere = vtk.vtkSphereSource()
sphere.SetCenter(x, y, z)
sphere.SetRadius(self.radius)
# c = vtk.vtkCoordinate()
# c.SetCoordinateSystemToWorld()
m = vtk.vtkPolyDataMapper()
m.SetInputConnection(sphere.GetOutputPort())
# m.SetTransformCoordinate(c)
a = vtk.vtkActor()
a.SetMapper(m)
a.GetProperty().SetColor(self.colour)
return a
##-------------------------------------------------
Recording: <publisher> Subscribe or sendMessage
app.py
Publisher.subscribe(print_events, Publisher.ALL_TOPICS)
def print_events(data):
"""
Print pubsub messages
"""
utils.debug(data.topic)
invesalius/control.py
Publisher.subscribe(self.OnImportMedicalImages, 'Import directory')
Publisher.subscribe(self.OnShowDialogImportDirectory,
'Show import directory dialog')
Publisher.subscribe(self.OnShowDialogImportOtherFiles,
'Show import other files dialog')
Publisher.subscribe(self.OnShowDialogOpenProject,
'Show open project dialog')
Publisher.subscribe(self.OnShowDialogSaveProject, 'Show save dialog')
Publisher.subscribe(self.LoadRaycastingPreset,
'Load raycasting preset')
Publisher.subscribe(self.SaveRaycastingPreset,
'Save raycasting preset')
Publisher.subscribe(self.OnOpenDicomGroup,
'Open DICOM group')
Publisher.subscribe(self.OnOpenBitmapFiles,
'Open bitmap files')
Publisher.subscribe(self.OnOpenOtherFiles,
'Open other files')
Publisher.subscribe(self.Progress, "Update dicom load")
Publisher.subscribe(self.Progress, "Update bitmap load")
Publisher.subscribe(self.OnLoadImportPanel, "End dicom load")
Publisher.subscribe(self.OnLoadImportBitmapPanel, "End bitmap load")
Publisher.subscribe(self.OnCancelImport, 'Cancel DICOM load')
Publisher.subscribe(self.OnCancelImportBitmap, 'Cancel bitmap load')
Publisher.subscribe(self.OnShowDialogCloseProject, 'Close Project')
Publisher.subscribe(self.OnOpenProject, 'Open project')
Publisher.subscribe(self.OnOpenRecentProject, 'Open recent project')
Publisher.subscribe(self.OnShowBitmapFile, 'Show bitmap dialog')
Publisher.subscribe(self.ShowBooleanOpDialog, 'Show boolean dialog')
Publisher.subscribe(self.ApplyReorientation, 'Apply reorientation')
Publisher.subscribe(self.SetBitmapSpacing, 'Set bitmap spacing')
invesalius/presets.py
Publisher.subscribe(self.UpdateThresholdModes,
'Update threshold limits list')
invesalius/data/imagedata_utils.py
Publisher.subscribe(self.CancelImageDataLoad, "Cancel DICOM load")
invesalius/data/mask.py
Publisher.subscribe(self.OnFlipVolume, 'Flip volume')
Publisher.subscribe(self.OnSwapVolumeAxes, 'Swap volume axes')
invesalius/data/measures.py
Publisher.subscribe(self._add_point, "Add measurement point")
Publisher.subscribe(self._change_name, "Change measurement name")
Publisher.subscribe(self._remove_measurements, "Remove measurements")
Publisher.subscribe(self._set_visibility, "Show measurement")
Publisher.subscribe(self._load_measurements, "Load measurement dict")
Publisher.subscribe(self._rm_incomplete_measurements,
"Remove incomplete measurements")
Publisher.subscribe(self._change_measure_point_pos, 'Change measurement point position')
Publisher.subscribe(self.OnCloseProject, 'Close project data')
invesalius/data/slice.py
Publisher.subscribe(self.CreateSurfaceFromIndex,
'Create surface from index')
Publisher.subscribe(self.__add_mask_thresh, 'Create new mask')
Publisher.subscribe(self.__select_current_mask,
'Change mask selected')
Publisher.subscribe(self.__set_current_mask_edition_threshold,
'Set edition threshold values')
Publisher.subscribe(self.__set_current_mask_threshold,
'Set threshold values')
Publisher.subscribe(self.__set_current_mask_threshold_actual_slice,
'Changing threshold values')
Publisher.subscribe(self.__set_current_mask_colour,
'Change mask colour')
Publisher.subscribe(self.__set_mask_name, 'Change mask name')
Publisher.subscribe(self.__show_mask, 'Show mask')
Publisher.subscribe(self.__hide_current_mask, 'Hide current mask')
Publisher.subscribe(self.__show_current_mask, 'Show current mask')
Publisher.subscribe(self.__clean_current_mask, 'Clean current mask')
Publisher.subscribe(self.__set_current_mask_threshold_limits,
'Update threshold limits')
Publisher.subscribe(self.UpdateWindowLevelBackground,\
'Bright and contrast adjustment image')
Publisher.subscribe(self.UpdateColourTableBackground,\
'Change colour table from background image')
Publisher.subscribe(self.UpdateColourTableBackgroundPlist,\
'Change colour table from background image from plist')
Publisher.subscribe(self.UpdateColourTableBackgroundWidget,\
'Change colour table from background image from widget')
Publisher.subscribe(self._set_projection_type, 'Set projection type')
Publisher.subscribe(self._do_boolean_op, 'Do boolean operation')
Publisher.subscribe(self.OnExportMask,'Export mask to file')
Publisher.subscribe(self.OnCloseProject, 'Close project data')
Publisher.subscribe(self.OnEnableStyle, 'Enable style')
Publisher.subscribe(self.OnDisableStyle, 'Disable style')
Publisher.subscribe(self.OnDisableActualStyle, 'Disable actual style')
Publisher.subscribe(self.OnRemoveMasks, 'Remove masks')
Publisher.subscribe(self.OnDuplicateMasks, 'Duplicate masks')
Publisher.subscribe(self.UpdateSlice3D,'Update slice 3D')
Publisher.subscribe(self.OnFlipVolume, 'Flip volume')
Publisher.subscribe(self.OnSwapVolumeAxes, 'Swap volume axes')
Publisher.subscribe(self.__undo_edition, 'Undo edition')
Publisher.subscribe(self.__redo_edition, 'Redo edition')
Publisher.subscribe(self._fill_holes_auto, 'Fill holes automatically')
invesalius/data/styles.py
Publisher.subscribe(self.set_bsize, 'Set edition brush size')
Publisher.subscribe(self.set_bformat, 'Set brush format')
Publisher.subscribe(self.set_boperation, 'Set edition operation')
Publisher.unsubscribe(self.set_bsize, 'Set edition brush size')
Publisher.unsubscribe(self.set_bformat, 'Set brush format')
Publisher.unsubscribe(self.set_boperation, 'Set edition operation')
Publisher.subscribe(self.set_operation, 'Set watershed operation')
Publisher.subscribe(self.set_use_ww_wl, 'Set use ww wl')
Publisher.subscribe(self.set_algorithm, "Set watershed algorithm")
Publisher.subscribe(self.set_2dcon, "Set watershed 2d con")
Publisher.subscribe(self.set_3dcon, "Set watershed 3d con")
Publisher.subscribe(self.set_gaussian_size, "Set watershed gaussian size")
Publisher.subscribe(self.expand_watershed, 'Expand watershed to 3D ' + self.orientation)
Publisher.subscribe(self.set_bsize, 'Set watershed brush size')
Publisher.subscribe(self.set_bformat, 'Set watershed brush format')
Publisher.subscribe(self.CropMask, "Crop mask")
Publisher.unsubscribe(self.expand_watershed, 'Expand watershed to 3D ' + self.orientation)
Publisher.unsubscribe(self.set_bformat, 'Set watershed brush format')
Publisher.unsubscribe(self.set_bsize, 'Set watershed brush size')
invesalius/data/surface.py
Publisher.subscribe(self.AddNewActor, 'Create surface')
Publisher.subscribe(self.SetActorTransparency,
'Set surface transparency')
Publisher.subscribe(self.SetActorColour,
'Set surface colour')
Publisher.subscribe(self.OnChangeSurfaceName, 'Change surface name')
Publisher.subscribe(self.OnShowSurface, 'Show surface')
Publisher.subscribe(self.OnExportSurface,'Export surface to file')
Publisher.subscribe(self.OnLoadSurfaceDict, 'Load surface dict')
Publisher.subscribe(self.OnCloseProject, 'Close project data')
Publisher.subscribe(self.OnSelectSurface, 'Change surface selected')
Publisher.subscribe(self.OnSplitSurface, 'Split surface')
Publisher.subscribe(self.OnLargestSurface,
'Create surface from largest region')
Publisher.subscribe(self.OnSeedSurface, "Create surface from seeds")
Publisher.subscribe(self.OnDuplicate, "Duplicate surfaces")
Publisher.subscribe(self.OnRemove,"Remove surfaces")
Publisher.subscribe(self.UpdateSurfaceInterpolation, 'Update Surface Interpolation')
Publisher.subscribe(self.OnImportSurfaceFile, 'Import surface file')
invesalius/data/trigger.py
Publisher.subscribe(self.OnStylusPLH, 'PLH Stylus Button On')
invesalius/data/viewer_slice.py
Publisher.subscribe(self._set_projection_type, 'Set projection type')
Publisher.subscribe(self.LoadImagedata,
'Load slice to viewer')
Publisher.subscribe(self.SetBrushColour,
'Change mask colour')
Publisher.subscribe(self.UpdateRender,
'Update slice viewer')
Publisher.subscribe(self.UpdateRender,
'Update slice viewer %s' % self.orientation)
Publisher.subscribe(self.UpdateCanvas,
'Redraw canvas')
Publisher.subscribe(self.UpdateCanvas,
'Redraw canvas %s' % self.orientation)
Publisher.subscribe(self.ChangeSliceNumber,
('Set scroll position',
self.orientation))
Publisher.subscribe(self.__update_cross_position,
'Update cross position')
Publisher.subscribe(self.UpdateSlicesNavigation,
'Co-registered points')
Publisher.subscribe(self.UpdateWindowLevelValue,
'Update window level value')
Publisher.subscribe(self.UpdateWindowLevelText,
'Update window level text')
#Publisher.subscribe(self._set_cross_visibility,\
# 'Set cross visibility')
###
Publisher.subscribe(self.__set_layout,
'Set slice viewer layout')
Publisher.subscribe(self.OnSetInteractorStyle,
'Set slice interaction style')
Publisher.subscribe(self.OnCloseProject, 'Close project data')
#####
Publisher.subscribe(self.OnShowText,
'Show text actors on viewers')
Publisher.subscribe(self.OnHideText,
'Hide text actors on viewers')
Publisher.subscribe(self.OnExportPicture,'Export picture to file')
Publisher.subscribe(self.SetDefaultCursor, 'Set interactor default cursor')
Publisher.subscribe(self.SetSizeNSCursor, 'Set interactor resize NS cursor')
Publisher.subscribe(self.SetSizeWECursor, 'Set interactor resize WE cursor')
Publisher.subscribe(self.SetSizeNWSECursor, 'Set interactor resize NSWE cursor')
Publisher.subscribe(self.AddActors, 'Add actors ' + str(ORIENTATIONS[self.orientation]))
Publisher.subscribe(self.RemoveActors, 'Remove actors ' + str(ORIENTATIONS[self.orientation]))
Publisher.subscribe(self.OnSwapVolumeAxes, 'Swap volume axes')
Publisher.subscribe(self.ReloadActualSlice, 'Reload actual slice')
Publisher.subscribe(self.ReloadActualSlice, 'Reload actual slice %s' % self.orientation)
Publisher.subscribe(self.OnUpdateScroll, 'Update scroll')
Publisher.subscribe(self.OnSetMIPSize, 'Set MIP size %s' % self.orientation)
Publisher.subscribe(self.OnSetMIPBorder, 'Set MIP border %s' % self.orientation)
Publisher.subscribe(self.OnSetMIPInvert, 'Set MIP Invert %s' % self.orientation)
Publisher.subscribe(self.OnShowMIPInterface, 'Show MIP interface')
Publisher.subscribe(self.OnSetOverwriteMask, "Set overwrite mask")
Publisher.subscribe(self.RefreshViewer, "Refresh viewer")
Publisher.subscribe(self.SetInterpolatedSlices, "Set interpolated slices")
Publisher.subscribe(self.UpdateInterpolatedSlice, "Update Slice Interpolation")
invesalius/data/viewer_volume.py
Publisher.subscribe(self.LoadActor,
'Load surface actor into viewer')
Publisher.subscribe(self.RemoveActor,
'Remove surface actor from viewer')
Publisher.subscribe(self.OnShowSurface, 'Show surface')
Publisher.subscribe(self.UpdateRender,
'Render volume viewer')
Publisher.subscribe(self.ChangeBackgroundColour,
'Change volume viewer background colour')
Publisher.subscribe(self.LoadVolume,
'Load volume into viewer')
Publisher.subscribe(self.UnloadVolume,
'Unload volume')
Publisher.subscribe(self.OnSetWindowLevelText,
'Set volume window and level text')
Publisher.subscribe(self.OnHideRaycasting,
'Hide raycasting volume')
Publisher.subscribe(self.OnShowRaycasting,
'Update raycasting preset')
Publisher.subscribe(self.AppendActor,'AppendActor')
Publisher.subscribe(self.SetWidgetInteractor,
'Set Widget Interactor')
Publisher.subscribe(self.OnSetViewAngle,
'Set volume view angle')
Publisher.subscribe(self.OnDisableBrightContrast,
'Set interaction mode '+
str(const.MODE_SLICE_EDITOR))
Publisher.subscribe(self.OnExportSurface, 'Export surface to file')
Publisher.subscribe(self.LoadSlicePlane, 'Load slice plane')
Publisher.subscribe(self.ResetCamClippingRange, 'Reset cam clipping range')
Publisher.subscribe(self.SetVolumeCamera, 'Set camera in volume')
Publisher.subscribe(self.SetVolumeCameraState, 'Update volume camera state')
Publisher.subscribe(self.OnEnableStyle, 'Enable style')
Publisher.subscribe(self.OnDisableStyle, 'Disable style')
Publisher.subscribe(self.OnHideText,
'Hide text actors on viewers')
Publisher.subscribe(self.AddActors, 'Add actors ' + str(const.SURFACE))
Publisher.subscribe(self.RemoveActors, 'Remove actors ' + str(const.SURFACE))
Publisher.subscribe(self.OnShowText,
'Show text actors on viewers')
Publisher.subscribe(self.OnCloseProject, 'Close project data')
Publisher.subscribe(self.RemoveAllActor, 'Remove all volume actors')
Publisher.subscribe(self.OnExportPicture,'Export picture to file')
Publisher.subscribe(self.OnStartSeed,'Create surface by seeding - start')
Publisher.subscribe(self.OnEndSeed,'Create surface by seeding - end')
Publisher.subscribe(self.SetStereoMode, 'Set stereo mode')
Publisher.subscribe(self.Reposition3DPlane, 'Reposition 3D Plane')
Publisher.subscribe(self.RemoveVolume, 'Remove Volume')
Publisher.subscribe(self.SetBallReferencePosition,
'Set ball reference position')
Publisher.subscribe(self._check_ball_reference, 'Enable style')
Publisher.subscribe(self._uncheck_ball_reference, 'Disable style')
Publisher.subscribe(self.OnSensors, 'Sensors ID')
Publisher.subscribe(self.OnRemoveSensorsID, 'Remove sensors ID')
Publisher.subscribe(self.AddMarker, 'Add marker')
Publisher.subscribe(self.HideAllMarkers, 'Hide all markers')
Publisher.subscribe(self.ShowAllMarkers, 'Show all markers')
Publisher.subscribe(self.RemoveAllMarkers, 'Remove all markers')
Publisher.subscribe(self.RemoveMarker, 'Remove marker')
Publisher.subscribe(self.BlinkMarker, 'Blink Marker')
Publisher.subscribe(self.StopBlinkMarker, 'Stop Blink Marker')
Publisher.subscribe(self.Enable, 'Enable plane')
Publisher.subscribe(self.Disable, 'Disable plane')
Publisher.subscribe(self.ChangeSlice, 'Change slice from slice plane')
Publisher.subscribe(self.UpdateAllSlice, 'Update all slice')
invesalius/data/volume.py
Publisher.subscribe(self.OnHideVolume,
'Hide raycasting volume')
Publisher.subscribe(self.OnUpdatePreset,
'Update raycasting preset')
Publisher.subscribe(self.OnSetCurve,
'Set raycasting curve')
Publisher.subscribe(self.OnSetWindowLevel,
'Set raycasting wwwl')
Publisher.subscribe(self.Refresh,
'Set raycasting refresh')
Publisher.subscribe(self.OnSetRelativeWindowLevel,
'Set raycasting relative window and level')
Publisher.subscribe(self.OnEnableTool,
'Enable raycasting tool')
Publisher.subscribe(self.OnCloseProject, 'Close project data')
Publisher.subscribe(self.ChangeBackgroundColour,
'Change volume viewer background colour')
Publisher.subscribe(self.ResetRayCasting, 'Reset Reaycasting')
Publisher.subscribe(self.OnFlipVolume, 'Flip volume')
Publisher.subscribe(self.Reset,
'Reset Cut Plane')
Publisher.subscribe(self.Enable,
'Enable Cut Plane')
Publisher.subscribe(self.Disable,
'Disable Cut Plane')
invesalius/gui/bitmap_preview.py
Publisher.subscribe(self.RemovePanel, 'Remove preview panel')
Publisher.subscribe(self.ShowBitmapByPosition, 'Set bitmap in preview panel')
Publisher.subscribe(self.UpdateMaxValueSliderBar, 'Update max of slidebar in single preview image')
Publisher.subscribe(self.ShowBlackSlice, 'Show black slice in single preview image')
invesalius/gui/data_notebook.py
Publisher.subscribe(self._FoldSurface,
'Fold surface task')
Publisher.subscribe(self._FoldSurface,
'Fold surface page')
Publisher.subscribe(self._FoldMeasure,
'Fold measure task')
Publisher.subscribe(self._FoldMask,
'Fold mask task')
Publisher.subscribe(self._FoldMask,
'Fold mask page')
Publisher.subscribe(self.AddMask, 'Add mask')
Publisher.subscribe(self.EditMaskThreshold,
'Set mask threshold in notebook')
Publisher.subscribe(self.EditMaskColour,
'Change mask colour in notebook')
Publisher.subscribe(self.OnChangeCurrentMask, 'Change mask selected')
Publisher.subscribe(self.__hide_current_mask, 'Hide current mask')
Publisher.subscribe(self.__show_current_mask, 'Show current mask')
Publisher.subscribe(self.OnCloseProject, 'Close project data')
Publisher.subscribe(self.AddSurface,
'Update surface info in GUI')
Publisher.subscribe(self.EditSurfaceTransparency,
'Set surface transparency')
Publisher.subscribe(self.EditSurfaceColour,
'Set surface colour')
Publisher.subscribe(self.OnCloseProject, 'Close project data')
Publisher.subscribe(self.OnHideSurface, 'Hide surface items')
Publisher.subscribe(self.OnShowSingle, 'Show single surface')
Publisher.subscribe(self.OnShowMultiple, 'Show multiple surfaces')
Publisher.subscribe(self.AddItem_,
'Update measurement info in GUI')
Publisher.subscribe(self.EditItemColour,
'Set measurement colour')
Publisher.subscribe(self.OnCloseProject, 'Close project data')
Publisher.subscribe(self.OnShowSingle, 'Show single measurement')
Publisher.subscribe(self.OnShowMultiple, 'Show multiple measurements')
Publisher.subscribe(self.OnLoadData, 'Load measurement dict')
Publisher.subscribe(self.OnRemoveGUIMeasure, 'Remove GUI measurement')
invesalius/gui/default_tasks.py
Publisher.subscribe(self.OnEnableState, "Enable state project")
Publisher.subscribe(self.OnOverwrite, 'Create surface from index')
Publisher.subscribe(self.OnFoldSurface, 'Fold surface task')
Publisher.subscribe(self.OnFoldExport, 'Fold export task')
Publisher.subscribe(self.SetNavigationMode, "Set navigation mode")
invesalius/gui/default_viewers.py
Publisher.subscribe(self.ShowRaycastingWidget,
'Show raycasting widget')
Publisher.subscribe(self.HideRaycastingWidget,
'Hide raycasting widget')
Publisher.subscribe(self.OnSetRaycastPreset,
'Update raycasting preset')
Publisher.subscribe(self.RefreshPoints,
'Refresh raycasting widget points')
Publisher.subscribe(self.LoadHistogram,
'Load histogram')
Publisher.subscribe(self.ChangeButtonColour,
'Change volume viewer gui colour')
Publisher.subscribe(self.DisablePreset, 'Close project data')
Publisher.subscribe(self.Uncheck, 'Uncheck image plane menu')
Publisher.subscribe(self.DisableVolumeCutMenu, 'Disable volume cut menu')
invesalius/gui/dialogs.py
Publisher.subscribe(self._OnCloseInV, 'Exit')
Publisher.subscribe(self._refresh_widget, 'Update clut imagedata widget')
Publisher.subscribe(self._update_angles, 'Update reorient angles')
Publisher.subscribe(self._close_dialog, 'Close reorient dialog')
Publisher.subscribe(self.UpdateValues, 'Update crop limits into gui')
invesalius/gui/frame.py
sub = Publisher.subscribe
sub(self._BeginBusyCursor, 'Begin busy cursor')
sub(self._ShowContentPanel, 'Cancel DICOM load')
sub(self._EndBusyCursor, 'End busy cursor')
sub(self._HideContentPanel, 'Hide content panel')
sub(self._HideImportPanel, 'Hide import panel')
sub(self._HideTask, 'Hide task panel')
sub(self._SetProjectName, 'Set project name')
sub(self._ShowContentPanel, 'Show content panel')
sub(self._ShowImportPanel, 'Show import panel in frame')
#sub(self._ShowHelpMessage, 'Show help message')
sub(self._ShowImportNetwork, 'Show retrieve dicom panel')
sub(self._ShowImportBitmap, 'Show import bitmap panel in frame')
sub(self._ShowTask, 'Show task panel')
sub(self._UpdateAUI, 'Update AUI')
sub(self._Exit, 'Exit')
sub = Publisher.subscribe
sub(self.OnEnableState, "Enable state project")
sub(self.OnEnableUndo, "Enable undo")
sub(self.OnEnableRedo, "Enable redo")
sub(self.OnEnableNavigation, "Navigation Status")
sub(self.OnAddMask, "Add mask")
sub(self.OnRemoveMasks, "Remove masks")
sub(self.OnShowMask, "Show mask")
sub(self.OnUpdateSliceInterpolation, "Update Slice Interpolation MenuBar")
sub(self.OnUpdateNavigationMode, "Update Navigation Mode MenuBar")
sub = Publisher.subscribe
sub(self._Layout, 'ProgressBar Reposition')
sub = Publisher.subscribe
sub(self._SetProgressValue, 'Update status in GUI')
sub(self._SetProgressLabel, 'Update status text in GUI')
sub = Publisher.subscribe
sub(self._EnableState, "Enable state project")
sub = Publisher.subscribe
sub(self._EnableState, "Enable state project")
sub(self._UntoggleAllItems, 'Untoggle object toolbar items')
sub(self._ToggleLinearMeasure, "Set tool linear measure")
sub(self._ToggleAngularMeasure, "Set tool angular measure")
sub(self.ToggleItem, 'Toggle toolbar item')
sub = Publisher.subscribe
sub(self._EnableState, "Enable state project")
sub(self._UntoggleAllItems, 'Untoggle slice toolbar items')
sub(self.OnToggle, 'Toggle Cross')
sub(self.ToggleItem, 'Toggle toolbar item')
sub = Publisher.subscribe
sub(self._EnableState, "Enable state project")
sub(self._SetLayoutWithTask, "Set layout button data only")
sub(self._SetLayoutWithoutTask, "Set layout button full")
sub = Publisher.subscribe
sub(self.OnEnableUndo, "Enable undo")
sub(self.OnEnableRedo, "Enable redo")
invesalius/gui/import_bitmap_panel.py
Publisher.subscribe(self.ShowBitmapPreview, "Load import bitmap panel")
Publisher.subscribe(self.GetSelectedImages ,"Selected Import Images")
Publisher.subscribe(self.SelectSeries, 'Select series in import panel')
Publisher.subscribe(self.SetBitmapFiles, 'Load bitmap into import panel')
invesalius/gui/import_network_panel.py
Publisher.subscribe(self.Populate, 'Populate tree')
Publisher.subscribe(self.SetHostsList, 'Set FindPanel hosts list')
Publisher.subscribe(self.SetHostsList, 'Set FindPanel hosts list')
Publisher.subscribe(self.CheckItemDict, "Check item dict")
Publisher.subscribe(self.GetHostsList, "Get NodesPanel host list")
invesalius/gui/import_panel.py
Publisher.subscribe(self.ShowDicomPreview, "Load import panel")
Publisher.subscribe(self.GetSelectedImages ,"Selected Import Images")
Publisher.subscribe(self.SelectSeries, 'Select series in import panel')
Publisher.subscribe(self.ShowDicomSeries, 'Load dicom preview')
Publisher.subscribe(self.SetDicomSeries, 'Load group into import panel')
Publisher.subscribe(self.SetPatientSeries, 'Load patient into import panel')
invesalius/gui/preferences.py
Publisher.subscribe(self.LoadPreferences, 'Load Preferences')
invesalius/gui/task_navigator.py
Publisher.subscribe(self.OnTrigger, 'Navigation Status')
Publisher.subscribe(self.LoadImageFiducials, 'Load image fiducials')
Publisher.subscribe(self.UpdateTriggerState, 'Update trigger state')
Publisher.subscribe(self.UpdateImageCoordinates, 'Set ball reference position')
Publisher.subscribe(self.OnDisconnectTracker, 'Disconnect tracker')
Publisher.subscribe(self.UpdateCurrentCoord, 'Set ball reference position')
Publisher.subscribe(self.OnDeleteSingleMarker, 'Delete fiducial marker')
Publisher.subscribe(self.OnCreateMarker, 'Create marker')
invesalius/gui/task_slice.py
Publisher.subscribe(self.OnRetrieveStyle, 'Retrieve task slice style')
Publisher.subscribe(self.OnDisableStyle, 'Disable task slice style')
Publisher.subscribe(self.OnCloseProject, 'Close project data')
Publisher.subscribe(self.OnColapsePanel, 'Show panel')
Publisher.subscribe(self.AddMask, 'Add mask')
Publisher.subscribe(self.SetThresholdBounds,
'Update threshold limits')
Publisher.subscribe(self.SetThresholdModes, 'Set threshold modes')
Publisher.subscribe(self.SetItemsColour, 'Set GUI items colour')
Publisher.subscribe(self.SetThresholdValues,
'Set threshold values in gradient')
Publisher.subscribe(self.SelectMaskName, 'Select mask name in combo')
Publisher.subscribe(self.ChangeMaskName, 'Change mask name')
Publisher.subscribe(self.OnRemoveMasks, 'Remove masks')
Publisher.subscribe(self.OnCloseProject, 'Close project data')
Publisher.subscribe(self.SetThresholdValues2, 'Set threshold values')
Publisher.subscribe(self.SetThresholdBounds,
'Update threshold limits')
Publisher.subscribe(self.ChangeMaskColour, 'Change mask colour')
Publisher.subscribe(self.SetGradientColour, 'Add mask')
Publisher.subscribe(self._set_brush_size, 'Set edition brush size')
Publisher.subscribe(self._set_brush_size, 'Set watershed brush size')
invesalius/gui/task_surface.py
Publisher.subscribe(self.InsertNewSurface,
'Update surface info in GUI')
Publisher.subscribe(self.ChangeSurfaceName,
'Change surface name')
Publisher.subscribe(self.OnCloseProject, 'Close project data')
Publisher.subscribe(self.OnRemoveSurfaces, 'Remove surfaces')
invesalius/gui/widgets/slice_menu.py
Publisher.subscribe(self.CheckWindowLevelOther, 'Check window and level other')
Publisher.subscribe(self.FirstItemSelect, 'Select first item from slice menu')
Publisher.subscribe(self._close, 'Close project data')
Publisher.subscribe(self._check_projection_menu, 'Check projection menu')
invesalius/reader/bitmap_reader.py
Publisher.subscribe(self.CancelLoad, "Cancel bitmap load")
invesalius/reader/dicom_reder.py
Publisher.subscribe(self.CancelLoad, "Cancel DICOM load")
##-------------------------------------------------
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/Heconnor/my_invesalius.git
[email protected]:Heconnor/my_invesalius.git
Heconnor
my_invesalius
MY_invesalius
master

搜索帮助