• sitk::ERROR: No ImageJ/Fiji application found.


    sitk::ERROR: No ImageJ/Fiji application found.

    目录

    sitk::ERROR: No ImageJ/Fiji application found.

    问题:

    解决:

    完整错误:


    问题:

    执行simpleITK框架进行图像配准时候发生如下错误:

    sitk::ERROR: No ImageJ/Fiji application found.

    执行命令如下,可以使用不同的变换器。

    python dalign.py 1703801.jpg 1703801_1.jpg composite.tfm
    python dalign.py 1703801.jpg 1703801_1.jpg euler2D.tfm
    python dalign.py 1703801.jpg 1703801_1.jpg RIRE_training_001_CT_2_mr_T1.tfm
    python dalign.py 1703801.jpg 1703801_1.jpg composescaleskewversor.tfm
    python dalign.py 1703801.jpg 1703801_1.jpg affine.tfm

    1. import SimpleITK as sitk
    2. import sys
    3. import os
    4. def command_iteration(filter):
    5. print(f"{filter.GetElapsedIterations():3} = {filter.GetMetric():10.5f}")
    6. if len(sys.argv) < 4:
    7. print(
    8. f"Usage: {sys.argv[0]}"
    9. + " "
    10. )
    11. sys.exit(1)
    12. fixed = sitk.ReadImage(sys.argv[1], sitk.sitkFloat32)
    13. moving = sitk.ReadImage(sys.argv[2], sitk.sitkFloat32)
    14. matcher = sitk.HistogramMatchingImageFilter()
    15. matcher.SetNumberOfHistogramLevels(1024)
    16. matcher.SetNumberOfMatchPoints(7)
    17. matcher.ThresholdAtMeanIntensityOn()
    18. moving = matcher.Execute(moving, fixed)
    19. # The basic Demons Registration Filter
    20. # Note there is a whole family of Demons Registration algorithms included in
    21. # SimpleITK
    22. demons = sitk.DemonsRegistrationFilter()
    23. demons.SetNumberOfIterations(50)
    24. # Standard deviation for Gaussian smoothing of displacement field
    25. demons.SetStandardDeviations(1.0)
    26. demons.AddCommand(sitk.sitkIterationEvent, lambda: command_iteration(demons))
    27. displacementField = demons.Execute(fixed, moving)
    28. print("-------")
    29. print(f"Number Of Iterations: {demons.GetElapsedIterations()}")
    30. print(f" RMS: {demons.GetRMSChange()}")
    31. outTx = sitk.DisplacementFieldTransform(displacementField)
    32. sitk.WriteTransform(outTx, sys.argv[3])
    33. if "SITK_NOSHOW" not in os.environ:
    34. resampler = sitk.ResampleImageFilter()
    35. resampler.SetReferenceImage(fixed)
    36. resampler.SetInterpolator(sitk.sitkLinear)
    37. resampler.SetDefaultPixelValue(100)
    38. resampler.SetTransform(outTx)
    39. out = resampler.Execute(moving)
    40. simg1 = sitk.Cast(sitk.RescaleIntensity(fixed), sitk.sitkUInt8)
    41. simg2 = sitk.Cast(sitk.RescaleIntensity(out), sitk.sitkUInt8)
    42. # Use the // floor division operator so that the pixel type is
    43. # the same for all three images which is the expectation for
    44. # the compose filter.
    45. cimg = sitk.Compose(simg1, simg2, simg1 // 2.0 + simg2 // 2.0)
    46. sitk.Show(cimg, "DeformableRegistration1 Composition")

    解决:

    注意:fiji软件包的底层环境是java,所以需要提前安装好java哦。

    可以再cmd中输入java命令测试,你的系统是否已经安装好了java.

    下载fiji软件包:笔者选择windows64位

    Fiji Downloads

    下载完成之后,解压,会得到一个叫做Fiji.app的文件夹。

    将Fiji.app的文件夹拷贝包笔者使用的anaconda主环境的Scripts文件夹中。

    D:\anaconda\Scripts\Fiji.app

    OK了

    完整错误:

    (base) C:\Users\users>python align.py 1703801.jpg 1703801_1.jpg euler2D.tfm
      1 =  316.08310
      2 =  309.61603
      3 =  305.84348
      4 =  303.55265
      5 =  301.97677
      6 =  300.83932
      7 =  299.98187
      8 =  299.30239
      9 =  298.74999
     10 =  298.26859
     11 =  297.87110
     12 =  297.51645
     13 =  297.20165
     14 =  296.92658
     15 =  296.66421
     16 =  296.44000
     17 =  296.22853
     18 =  296.03984
     19 =  295.86223
     20 =  295.70708
     21 =  295.54896
     22 =  295.39734
     23 =  295.27245
     24 =  295.14585
     25 =  295.02095
     26 =  294.90249
     27 =  294.78907
     28 =  294.69944
     29 =  294.59759
     30 =  294.51432
     31 =  294.42624
     32 =  294.35778
     33 =  294.27413
     34 =  294.21444
     35 =  294.13871
     36 =  294.07736
     37 =  294.01093
     38 =  293.96671
     39 =  293.89736
     40 =  293.85241
     41 =  293.79037
     42 =  293.75224
     43 =  293.69498
     44 =  293.66584
     45 =  293.60078
     46 =  293.57719
     47 =  293.52466
     48 =  293.49716
     49 =  293.45349
     50 =  293.41868
    -------
    Number Of Iterations: 50
     RMS: 0.25455084462799155
    Traceback (most recent call last):
      File "align.py", line 61, in
        sitk.Show(cimg, "DeformableRegistration1 Composition")
      File "D:\anaconda\lib\site-packages\SimpleITK\SimpleITK.py", line 7768, in Show
        return _SimpleITK.Show(*args, **kwargs)
    RuntimeError: Exception thrown in SimpleITK Show: D:\a\1\sitk\Code\IO\src\sitkImageViewer.cxx:620:
    sitk::ERROR: No ImageJ/Fiji application found.

    (base) C:\Users\users>

    参考:simpleITK

    参考:https://blog.csdn.net/weixin_44727457/article/details/109661412
    参考:https://blog.csdn.net/Magician0619/article/details/124046418

  • 相关阅读:
    【考研】数据结构考点——链式基数排序
    cpu设计和实现(数据访问)
    vue3 基于el-tree增加、删除节点(非TypeScript 写法)
    JPA在事务结束时自动更新查询数据
    Appium自动化测试基础 — Android模拟器(Genymotion)安装(一)
    图像处理:随机添加椒盐噪声和高斯噪声Python
    怎么剔除掉六十岁(退休)以上的人(python自动化办公)
    若依的环境的部署以及系统的运行
    java-net-php-python-jspm酒店信息管理系统计算机毕业设计程序
    ensp中查看带宽信息
  • 原文地址:https://blog.csdn.net/zhongkeyuanchongqing/article/details/126771350