Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing SimpleTk:使用复合变换进行配准_Image Processing_Simpleitk_Image Registration - Fatal编程技术网

Image processing SimpleTk:使用复合变换进行配准

Image processing SimpleTk:使用复合变换进行配准,image-processing,simpleitk,image-registration,Image Processing,Simpleitk,Image Registration,我尝试使用复合变换(TranslationTransform+ScaleTransform)进行注册。其概念是首先使用翻译进行注册,然后使用初始注册解决方案给出的翻译初始变换进行[翻译,缩放]。如果您尝试使用复合变换执行此操作,则只会修改添加的最后一个变换,并且所有高阶变换类型都包含旋转-请告诉我旋转已确定,不应作为自由度进行修改。我可以想出两种方法来解决这个问题: 提出一种允许在复合变换上注册的方法,允许修改来自两个变换的参数-可能使用基本变换类 提出了一种在配准过程中在高阶变换中保持某些参数

我尝试使用复合变换(TranslationTransform+ScaleTransform)进行注册。其概念是首先使用翻译进行注册,然后使用初始注册解决方案给出的翻译初始变换进行[翻译,缩放]。如果您尝试使用复合变换执行此操作,则只会修改添加的最后一个变换,并且所有高阶变换类型都包含旋转-请告诉我旋转已确定,不应作为自由度进行修改。我可以想出两种方法来解决这个问题:

  • 提出一种允许在复合变换上注册的方法,允许修改来自两个变换的参数-可能使用基本变换类
  • 提出了一种在配准过程中在高阶变换中保持某些参数不变的方法。 编辑我认为SetOptimizerWeights函数可以用来解决这个问题编辑不允许为L-BFGS类型优化器设置优化器权重,这意味着没有简单的方法来屏蔽尺寸。由于这些被证明在数据集上更加健壮,最后我可能只允许在高阶空间中进行注册

  • 我不知道如何做这两件事,也找不到任何(好的)文件上的任何。。。非常感谢您的帮助

    您提出的解决方案2是实现您想要的目标的简单方法:

  • 使用仿射变换(3)
  • 仿射变换
    GetParameters()
    的参数按行大顺序排列
  • 对于首次注册,仅翻译,
    SetOptimizerWeights([0,0,0,1,0,0,0,1,0,0,0,1])
    仅翻译部分处于活动状态
  • 对于第二次注册,仅缩放,
    SetOptimizerWeights([1,0,0,0,0,1,0,0,0,0,1,0])
    仅缩放部分处于活动状态
  • 顺便说一句,是的,这个特定的特性没有很好的文档记录,但是工具箱有大量的文档,包括工具箱上的文档和工具箱上的文档

    最后,答疑会的主要地点在网上