\tgx[Xɂ摜č\\tgƋKiӂ̐

㐙

2026.05.04  ver. 1.7

0. oO⃊NGXg͍҂ɘAĂB

1. ʂ̍l
   a. 
      {Iimg`B

   b. o
      CT 32bit tiff ł̏o͂ƂȂBrec?????.tif (l5P^)
      ꂼ tiff ^Oɂ́A
      fTCYE]̈ʒuEeE]pItZbgẺ摜ł̍ŏEől
      ̏Ԃɖߍ܂ĂB
      Kiɂ́A܂ł̃^OɉAKi̍ŏőlǋLB
      Ač\ƋKiɊւẮAs cmd-hst.log ɃOc

   c. vO̓Y
      摜č\\tgɂ _t_c Ȃǂ̓YĂB
      ͉ZɎgpvZbT[ƍč\tB^[w肷B
      _P: vZbT[
          _t: CPU ̃}`Xbh@\gpBϐCBP_THREADSŐBftHg͂WXB
          _g: GPGPU gpBYtexe CUDA toolkit 10.2 ŃRpCς݁B
      _F: tB^[
          _c: Chesler tB^[
          _s: Shepp-Logan tB^[
          _r: Ramachandran(HAN)tB^[
      ƂȂĂB

   d. OA[eBt@Ng̏
      o[W1.4Vo et al.(2018)Algorithm 3^̃O@\݂B
      CBPvZ̒OɎsĂBϐw肷邱Ƃł̋@\ON/OFFłB
      ϐ KERNEL_SIZE 1Ɏw肷OFFBȊO̐̊ŌʂςB
      ftHgl5ƂĂ(ϐ`ĂȂꍇ5ɂȂ)B
      ܂AOOpenMPɂCPUvZōsĂAftHgl
      OMP_NUM_THREADS40ƂĂB1cŏqׂCBP_THREADSitevZp
      XbhAftHg8jƂ͓ƗݒłB

   e. missing angle ̏
      󎎗Ȃǂ̏ꍇApxɂĂ͓ߗɒ[ɒቺBɒ[Ȓl̏ꍇ
      炩̍׍HKvB́uxvRg[悤ɂB
      ϐ CT_REC_BLACK_THRESH Ŏw肷(ݒ̏ꍇ 1 Ƃ)B
      missing angle ꍇ̒l 1, 10, 100, 1000 ȂǕύX ct_rec s鎖
      摜č\̏󋵂ύX\B

2. 180deg scanBWIȋz̉摜č\B

   a. 1č\
      ct_rec_P_F layer {center} {pixel size} {offsetangle}
      
      layer: č\郌C[()
      center: ]̈ʒu(pixel)Bȗꍇ͎肷B
      pixel size: fTCY(um)Bȗꍇ1.0ɂȂB
      offset angle: ]̌_ItZbgBȗꍇ0.0ɂȂB
      
      *) q????.img fBNgŎsB
   
   b. 1č\
      tf_rec_P_F layer {center} {pixel size} {offsetangle}
      
      layer: č\郌C[()
      center: ]̈ʒu(pixel)Bȗꍇ͎肷B
      pixel size: fTCY(um)Bȗꍇ1.0ɂȂB
      offset angle: ]̌_ItZbgBȗꍇ0.0ɂȂB
      
      *) q????.tif fBNgŎsB
   
   c. Ač\
      hp_tg_P_F HiPic Dr RC RA0 rec
      tf_tg_P_F HiPic Dr RC RA0 rec
     (]XĂȂꍇBSC[)
      
      HiPic: q????.img  q????.tif i[ĂfBNgB(/ ͕sv)
      Dr: fTCY (um)
      RC: ]̈ʒu
      RA0: ]̌_ItZbg
      rec: č\摜o͂fBNg(vZOɍ쐬邱)
      
      hp_tg_P_F HiPic Dr L1 C1 L2 C2 RA0 rec
      tf_tg_P_F HiPic Dr L1 C1 L2 C2 RA0 rec
      (]XĂꍇB͈ꕔ̗݂̈̂̌vZ)
      
      HiPic: q????.img  q????.tif i[ĂfBNgB(/ ͕sv)
      Dr: fTCY (um)
      L1: vZJnC[
      C1: L1ł̉]̈ʒu
      L2: vZIC[
      C2: L2ł̉]̈ʒu
      RA0: ]̌_ItZbg
      rec: č\摜o͂fBNg(/ ͕svBvZOɍ쐬邱)
   
      *) q????.img fBNg̈ŎsB

   d. p摜̘Ač\
      p_rec_P_F p rec Dr RC RA0
      (]XĂȂꍇBSC[)
      
      p: p?????.tif i[ĂfBNgB(/ ͕sv)
      rec: č\摜o͂fBNg(vZOɍ쐬邱)
      Dr: fTCY (um)
      RC: ]̈ʒu
      RA0: ]̌_ItZbg
      
      p_rec_P_F p rec Dr L1 C1 L2 C2 RA0
      (]XĂꍇ)
      
      p: p?????.tif i[ĂfBNgB(/ ͕sv)
      rec: č\摜o͂fBNg(vZOɍ쐬邱)
      Dr: fTCY (um)
      L1: vZJnC[
      C1: L1ł̉]̈ʒu
      L2: vZIC[
      C2: L2ł̉]̈ʒu
      RA0: ]̌_ItZbg

3. 360deg scan (offset CT)BWIȋz̉摜č\
   a. ]ʒu̐
      ofct_xy HiPic {Ox1 Ox2 Oy1 Oy2} {MSD.tif}
      oftf_xy HiPic {Ox1 Ox2 Oy1 Oy2} {MSD.tif}
     
      HiPic: q????.img q????.tif i[ĂfBNg(/ ͕sv)
      Ox1: ̑{͈͊Jn_B(ȗ)
      Ox2: ̑{͈͏I_B(ȗ)
      Oy1: c̑{͈͊Jn_B(ȗ)
      Oy2: c̑{͈͏I_B(ȗ)
      MSD.tif: MSD摜o̓t@CB(ȗ)

      *) 摜o͎ɂ̓JbRɉ摜̃ItZbg\B

   b. Kvʂ̊mF
      ofct_srec_P_F HiPic Rc Oy

      HiPic: q????.img  q????.tif i[ĂfBNg(/ ͕sv)
      Rc: ]̈ʒu([̉f)
      Oy: cʁi 0 wjB

      őSxɌvZ邽߂ɕKvȃC̗ʂo͂B
      rangeList߂ۂ̖ڈɂȂB

   c. č\
      ofct_srec_P_F HiPic Rc Oy rangeList Dr RA0 rec
      oftf_srec_P_F HiPic Rc Oy rangeList Dr RA0 rec
      
      HiPic: q????.img  q????.tif i[ĂfBNg(/ ͕sv)
      Rc: ]̈ʒu([̉f)
      Oy: cʁi 0 wjB
      rangeList: č\郌C[wB
      Dr: fTCY
      RA0: ]̌_ItZbg
      rec: č\摜o͂fBNg(vZOɍ쐬邱)

      *) rangeList̗B
         100C[̏ꍇF100
         100-150 C[: 100-150
         S: -
   d. tiff f[^1č\
      otf_rec_P_F layer center {pixel size} {offsetangle}
      
      layer: č\郌C[()
      center: ]̈ʒu(pixel)B
      pixel size: fTCY(um)Bȗꍇ1.0ɂȂB
      offset angle: ]̌_ItZbgBȗꍇ0.0ɂȂB
      
      *) q????.tif fBNgŎsB
   


4. 32bit tiff 摜̋Ki
    tif_f2i bit rec out {LACmin LACmax} {x1 y1 x2 y2}
    
    bit: rbg 0  8  16 (0 ͔͈͂𒲂ׂ邾)
    rec: 32bit tiff č\摜fBNg
    out: Kỉ摜o͂fBNg(sOɍ쐬邱)
    LACmin: Ki̍ŏlB(ȗ)
    LACmax: Ki̍őlB(ȗ)
    x1: ؂o̎n܂B(ȗ)
    y1: c؂o̎n܂B(ȗ)
    x2: ؂ȍIB(ȗ)
    y2: c؂ȍIB(ȗ)
    LAC ̍őŏȗꍇ́Arec/ ̍őŏlpċKiB
    Ki̍őŏltiff̃^O̍ŌɕtĂB

5. 32bit tiff 摜ւgaussian filterKp
    rec_gf rec radius out
    
    rec: 32bit tiff č\摜fBNg
    radius: gaussian filter ̔l
    out: tB^[̉摜o͂fBNg(sOɍ쐬邱)

6. ̑܂
   a. tif 摜ɖߍ܂ꂽ^O(fTCYAeȂ)\
      pid tiff-file
      
   b. VmO쐬
      sinog layer {skip}
      32bit tiff ɂďóB^Oɂ͍őƍŏl̂ݓB
      skip w肷ƁAeskip1ɂďo͂B

   c. b ̃VmOč\
      sf_rec_P_F input output {Dr RC RA0}
      32bit tiff ɂďóB
      input: float tiff ŏoVmO
      output: float tiff ŏo
      Dr: fTCY
      RC: ]̈ʒu
      RA0: ]̌_ItZbg

   d. img 摜
      img_ave file1 file2... output
      img 摜𕽋ωBconv.bat sɕK{B

   e. his ۑ
      spl N-shot N-split
      ZXLGlM[XLƂɎg\B
      his t@C𕪊 img ɕۑB

   f. rec AԐUȂB
      rec_stk num_stack start end
      ZXLƂɎgBrec ̘AԂUȂ1̃X^bNɂB

   g. his t@CAԂ img ɕϊB
      his2img his-file (x1 x2 y1 y2)
      JbR̈wɂcrop\
      
   h. 180deg XL瓊e쐬
      ct_prj_f HiPic prj

   i. 32bit tiff qXgO
      tif2hst rec (x1 y1 x2 y2)
      rec: 32bit tiff č\摜fBNg
      x1: ؂o̎n܂B(ȗ)
      y1: c؂o̎n܂B(ȗ)
      x2: ؂ȍIB(ȗ)
      y2: c؂ȍIB(ȗ)

   j. 8bit or 16bit CT̒]
      si_rar orgDir nameFile hAxis vAxis dAxis newDir
      si_rar orgDir nameFile hAxis vAxis dAxis sliceNo newTIFF

      : si_rar.exe ro_xy - +y +z +x ro_yz
      : si_rar.exe ro_xy - +z +x +y ro_zx

   k. 8bit or 16bit CT̃rjO
      si_sir orgDir nameFile Bxyz newDir
      si_sir orgDir nameFile Bx By Bz newDir

      : si_sir ro_xy - 2 ro_2x2x2
      : si_sir ro_xy - 2 2 1 ro_2x2x1

   l. 8bit or 16bit CTgaussian filter
      si_gf orgDir nameFile radius {bias} newDir

      : si_gf rh - 1.0 rh_gf1
      : si_gf rh - 1.0 0.0 rh_gf1

   m. ZXL̎X^bN()
      1̎Be: 7501
      ZX^bN̐F8
      I[o[bv̏ꏊF 17 140
      fTCY 11.31
      
      spl 7501 8 > aaa.bat
      call aaa.bat
      chk-rc 8 75 > bbb.bat
      call bbb.bat
      set-rc 11.31 > ccc.bat
      call ccc.bat
      rec_stk 8 17 140 > ddd.bat
      call ddd.bat

   n. 32bit tiff 摜̐؂o
      rec_crop in out {x1 y1 x2 y2}
    
      in: 32bit tiff č\摜fBNg
      out: ؂ỏ摜o͂fBNg(sOɍ쐬邱)
      x1: ؂o̎n܂B
      y1: c؂o̎n܂B
      x2: ؂ȍIB
      y2: c؂ȍIB

   o. CbitCT filter
      Bilateral filter, Gaussian Filter, Median filter ȂǂB
      e\tg _g ŏÎGPUgp(Cuda toolkit ̃o[WmF邱)B
      tif_blf, tif_blf_g, tif_gsf, tif_gsf_g, tif_mdf, tif_mdf_g
      
      Bilateral filter
      tif_blf[_g] <input_dir> <output_dir>  [kernel_size] [spatial_sigma] [intensity_sigma]
      
      Gaussian filter
      tif_gsf[_g] <input_dir> <output_dir> [sigma]
      
      Median filter
      tif_md[_g]f <input_dir> <output_dir> [kernel_size]
      
      []̕ϐ͏ȗƁAIɃp[^߂B

      : tif_blf_g rh rh_blf1
      : tif_blf rh rh_blf1 5 20 200
      
      ̑̃tB^̏ڍׂfilter_readme.pdfQƂ̂ƁB
      

   p. tif摜median filterĂgaussian filterB
      tif_mgf <input_file> <output_file> [median_kernel_size] [gaussian_sigma]
      XߑɎŨmCYȂǂꍇɁA悤ȂƂɗpB
      
      : tif_mgf a000401.tif 001/raw/a0401.tif 3 1
      : tif_mgf a000401.tif 001/raw/a0401.tif 0 1

      
