Skip to content

Latest commit

 

History

History
110 lines (107 loc) · 8.96 KB

README.md

File metadata and controls

110 lines (107 loc) · 8.96 KB

BraTSReg

Prepared for MICCAI 2022 challenge

references

  • BraTS-Reg Challenge 2022 dataset: B.Baheti, D.Waldmannstetter, S.Chakrabarty, et al., "The Brain Tumor Sequence Registration Challenge: Establishing Correspondence between Pre-Operative and Follow-up MRI scans of diffuse glioma patients", arXiv preprint arXiv:2112.06979
  • QPDIR algorithm: Castillo E. Quadratic penalty method for intensity-based deformable image registration and 4DCT lung motion recovery. Med Phys. 2019 May;46(5):2194-2203. doi: 10.1002/mp.13457. Epub 2019 Mar 14. PMID: 30801729; PMCID: PMC6510611.

dependency

OS: Ubuntu 18.04.6 LTS
DUDA version: 10.2
python packages: numpy, nibabel, opencv, numba 0.50.1

sample run: case141

input dims(HWC): 240 240 155
sliced input dims(HWC): 240 240 155
saving images...
block radius(HWC): 3 3 3
init search window radius(HWC): 10 10 10
alpha: 1.0
----------------- Kid = 1 -----------------
throwing darts...
# of list points for mls: 12539
voxel dim by mm (HWC): 1 1 1
iter#: 0 F(Z): 8750.751416243613 f(z): 7123.231416501105 ||AX-Z||: 58394.0 ||Xk+1-Xk|| 58394 sw: 10
iter#: 1 F(Z): 8113.955675981939 f(z): 6591.860350482166 ||AX-Z||: 58800.73442599941 ||Xk+1-Xk|| 31739 sw: 10
iter#: 2 F(Z): 7474.294260323048 f(z): 6201.357568413019 ||AX-Z||: 53679.64322966381 ||Xk+1-Xk|| 29332 sw: 10
iter#: 3 F(Z): 6986.102229546756 f(z): 5914.73673062399 ||AX-Z||: 48285.745902162365 ||Xk+1-Xk|| 24798 sw: 10
iter#: 4 F(Z): 6630.6663386672735 f(z): 5709.696053300053 ||AX-Z||: 43796.88951031421 ||Xk+1-Xk|| 20113 sw: 10
iter#: 5 F(Z): 6355.955696903169 f(z): 5538.430163130164 ||AX-Z||: 40694.453215456655 ||Xk+1-Xk|| 16354 sw: 10
iter#: 6 F(Z): 6122.198137726635 f(z): 5425.182062048465 ||AX-Z||: 37660.08491729272 ||Xk+1-Xk|| 13177 sw: 10
iter#: 7 F(Z): 5951.954391110688 f(z): 5345.5629230849445 ||AX-Z||: 35327.89451317692 ||Xk+1-Xk|| 9587 sw: 10
iter#: 8 F(Z): 5853.830146446824 f(z): 5309.645438503474 ||AX-Z||: 33561.691456114575 ||Xk+1-Xk|| 6739 sw: 10
iter#: 9 F(Z): 5802.314880296588 f(z): 5288.417894423008 ||AX-Z||: 32643.635301657094 ||Xk+1-Xk|| 4516 sw: 10
iter#: 10 F(Z): 5776.7351303473115 f(z): 5275.023750588298 ||AX-Z||: 32186.29921452514 ||Xk+1-Xk|| 3320 sw: 10
iter#: 11 F(Z): 5761.007447760552 f(z): 5266.487800695002 ||AX-Z||: 31941.426783730803 ||Xk+1-Xk|| 2427 sw: 10
iter#: 12 F(Z): 5751.769812464714 f(z): 5261.8261209875345 ||AX-Z||: 31815.112007082953 ||Xk+1-Xk|| 1598 sw: 10
iter#: 13 F(Z): 5747.144813228399 f(z): 5260.8330857381225 ||AX-Z||: 31689.797582176943 ||Xk+1-Xk|| 1285 sw: 10
iter#: 14 F(Z): 5744.6728398017585 f(z): 5259.171883381903 ||AX-Z||: 31653.412758998536 ||Xk+1-Xk|| 845 sw: 10
iter#: 0 F(Z): 6383.013206701726 f(z): 5814.543450042605 ||AX-Z||: 17600.720429709287 ||Xk+1-Xk|| 15145 sw: 5
iter#: 1 F(Z): 6398.0266914740205 f(z): 5834.986553050578 ||AX-Z||: 17484.618598626403 ||Xk+1-Xk|| 1079 sw: 5
iter#: 2 F(Z): 6397.071215908974 f(z): 5839.457244768739 ||AX-Z||: 17383.760998859856 ||Xk+1-Xk|| 272 sw: 5
iter#: 3 F(Z): 6396.900441315025 f(z): 5840.325055986643 ||AX-Z||: 17359.487900589498 ||Xk+1-Xk|| 106 sw: 5
iter#: 4 F(Z): 6396.697838805616 f(z): 5840.649446338415 ||AX-Z||: 17345.46975236698 ||Xk+1-Xk|| 58 sw: 5
iter#: 5 F(Z): 6396.512213893235 f(z): 5840.870322629809 ||AX-Z||: 17338.55697103308 ||Xk+1-Xk|| 30 sw: 5
iter#: 6 F(Z): 6396.349002178758 f(z): 5840.524214461446 ||AX-Z||: 17340.080350585893 ||Xk+1-Xk|| 23 sw: 5
iter#: 7 F(Z): 6396.2326991818845 f(z): 5840.5879386514425 ||AX-Z||: 17336.057266157943 ||Xk+1-Xk|| 14 sw: 5
iter#: 8 F(Z): 6396.189319979399 f(z): 5840.538112342358 ||AX-Z||: 17336.222369461775 ||Xk+1-Xk|| 17 sw: 5
iter#: 9 F(Z): 6396.13262642175 f(z): 5840.642754495144 ||AX-Z||: 17334.448294546233 ||Xk+1-Xk|| 5 sw: 5
iter#: 10 F(Z): 6396.122023999691 f(z): 5840.579093068838 ||AX-Z||: 17334.30499820187 ||Xk+1-Xk|| 8 sw: 5
iter#: 11 F(Z): 6396.103491641581 f(z): 5840.80118894577 ||AX-Z||: 17330.970093228236 ||Xk+1-Xk|| 10 sw: 5
iter#: 12 F(Z): 6396.097296778113 f(z): 5840.901069536805 ||AX-Z||: 17329.14810953155 ||Xk+1-Xk|| 9 sw: 5
iter#: 13 F(Z): 6396.102672632784 f(z): 5840.741410210729 ||AX-Z||: 17331.403230801006 ||Xk+1-Xk|| 5 sw: 5
iter#: 14 F(Z): 6396.072690371424 f(z): 5840.6920896321535 ||AX-Z||: 17332.130096465327 ||Xk+1-Xk|| 1 sw: 5
iter#: 0 F(Z): 7137.304021216929 f(z): 6244.1068697199225 ||AX-Z||: 9488.917738457718 ||Xk+1-Xk|| 4137 sw: 2
iter#: 1 F(Z): 7150.908417209983 f(z): 6279.4110721722245 ||AX-Z||: 9256.369885916089 ||Xk+1-Xk|| 446 sw: 2
iter#: 2 F(Z): 7144.3746321983635 f(z): 6282.10247772187 ||AX-Z||: 9183.47431488623 ||Xk+1-Xk|| 53 sw: 2
iter#: 3 F(Z): 7142.621401082724 f(z): 6283.440934665501 ||AX-Z||: 9163.95976148981 ||Xk+1-Xk|| 14 sw: 2
iter#: 4 F(Z): 7142.422237411141 f(z): 6283.556151665747 ||AX-Z||: 9161.158412343952 ||Xk+1-Xk|| 2 sw: 2
iter#: 5 F(Z): 7142.354898661375 f(z): 6283.567158974707 ||AX-Z||: 9160.531935440484 ||Xk+1-Xk|| 1 sw: 2
iter#: 6 F(Z): 7142.3110000267625 f(z): 6283.567158974707 ||AX-Z||: 9160.174651469422 ||Xk+1-Xk|| 0 sw: 2
iter#: 0 F(Z): 7132.017534997314 f(z): 6283.567158974707 ||AX-Z||: 4555.533378241227 ||Xk+1-Xk|| 0 sw: 1
----------------- Kid = 2 -----------------
throwing darts...
# of list points for mls: 4751
voxel dim by mm (HWC): 1 1 1
iter#: 0 F(Z): 3561.7881055772305 f(z): 2956.2281037569046 ||AX-Z||: 21552.0 ||Xk+1-Xk|| 21552 sw: 10
iter#: 1 F(Z): 3368.464021280408 f(z): 2740.6166465096176 ||AX-Z||: 23000.188451890583 ||Xk+1-Xk|| 12535 sw: 10
iter#: 2 F(Z): 3112.7786633446813 f(z): 2531.898045603186 ||AX-Z||: 22271.07904422985 ||Xk+1-Xk|| 13625 sw: 10
iter#: 3 F(Z): 2846.651408955455 f(z): 2344.5990319661796 ||AX-Z||: 20471.92700396374 ||Xk+1-Xk|| 12696 sw: 10
iter#: 4 F(Z): 2596.020800627768 f(z): 2197.8142089284956 ||AX-Z||: 18038.386875627413 ||Xk+1-Xk|| 10673 sw: 10
iter#: 5 F(Z): 2398.7384224385023 f(z): 2130.296378083527 ||AX-Z||: 14870.661352217996 ||Xk+1-Xk|| 7103 sw: 10
iter#: 6 F(Z): 2319.92280203104 f(z): 2112.1870971769094 ||AX-Z||: 12927.48790768386 ||Xk+1-Xk|| 3591 sw: 10
iter#: 7 F(Z): 2302.860008686781 f(z): 2109.035119190812 ||AX-Z||: 12370.602228552601 ||Xk+1-Xk|| 1717 sw: 10
iter#: 8 F(Z): 2299.1725229024887 f(z): 2106.983637407422 ||AX-Z||: 12298.620608257845 ||Xk+1-Xk|| 750 sw: 10
iter#: 9 F(Z): 2298.293370626867 f(z): 2106.534247174859 ||AX-Z||: 12284.173560662586 ||Xk+1-Xk|| 295 sw: 10
iter#: 10 F(Z): 2298.066355332732 f(z): 2106.7960285395384 ||AX-Z||: 12260.173419532413 ||Xk+1-Xk|| 118 sw: 10
iter#: 11 F(Z): 2297.99944293499 f(z): 2106.5497309863567 ||AX-Z||: 12267.01735026135 ||Xk+1-Xk|| 47 sw: 10
iter#: 12 F(Z): 2297.982580564916 f(z): 2106.3879671394825 ||AX-Z||: 12274.256016118 ||Xk+1-Xk|| 27 sw: 10
iter#: 13 F(Z): 2297.9735907539725 f(z): 2106.444996096194 ||AX-Z||: 12270.705241040445 ||Xk+1-Xk|| 10 sw: 10
iter#: 14 F(Z): 2297.973263926804 f(z): 2106.440317504108 ||AX-Z||: 12270.886180665915 ||Xk+1-Xk|| 1 sw: 10
iter#: 0 F(Z): 2560.6907151192427 f(z): 2329.0174329280853 ||AX-Z||: 6913.287791847394 ||Xk+1-Xk|| 5802 sw: 5
iter#: 1 F(Z): 2566.5122639760375 f(z): 2332.1633443683386 ||AX-Z||: 6924.0964838305 ||Xk+1-Xk|| 317 sw: 5
iter#: 2 F(Z): 2565.9283970594406 f(z): 2332.8339407145977 ||AX-Z||: 6900.466566373984 ||Xk+1-Xk|| 68 sw: 5
iter#: 3 F(Z): 2565.7558469995856 f(z): 2333.058573514223 ||AX-Z||: 6894.259094391053 ||Xk+1-Xk|| 13 sw: 5
iter#: 4 F(Z): 2565.750027000904 f(z): 2333.180796921253 ||AX-Z||: 6891.136720360307 ||Xk+1-Xk|| 9 sw: 5
iter#: 5 F(Z): 2565.74382468313 f(z): 2333.384203106165 ||AX-Z||: 6889.9825335521555 ||Xk+1-Xk|| 3 sw: 5
iter#: 6 F(Z): 2565.7461304962635 f(z): 2333.4424512684345 ||AX-Z||: 6888.404531163399 ||Xk+1-Xk|| 2 sw: 5
iter#: 7 F(Z): 2565.741987645626 f(z): 2333.496034383774 ||AX-Z||: 6887.419165863951 ||Xk+1-Xk|| 2 sw: 5
iter#: 8 F(Z): 2565.7406885251403 f(z): 2333.496034383774 ||AX-Z||: 6887.499332642806 ||Xk+1-Xk|| 0 sw: 5
iter#: 0 F(Z): 2878.5972037911415 f(z): 2514.3176529556513 ||AX-Z||: 3721.6339670500606 ||Xk+1-Xk|| 1801 sw: 2
iter#: 1 F(Z): 2882.111036464572 f(z): 2529.091221809387 ||AX-Z||: 3610.0067400769444 ||Xk+1-Xk|| 202 sw: 2
iter#: 2 F(Z): 2879.1734439581633 f(z): 2531.6095792353153 ||AX-Z||: 3573.0594306696007 ||Xk+1-Xk|| 34 sw: 2
iter#: 3 F(Z): 2878.4662485569715 f(z): 2531.991385385394 ||AX-Z||: 3565.324196548013 ||Xk+1-Xk|| 9 sw: 2
iter#: 4 F(Z): 2877.9365112632513 f(z): 2532.227330625057 ||AX-Z||: 3560.9632683245372 ||Xk+1-Xk|| 7 sw: 2
iter#: 5 F(Z): 2877.6348164603114 f(z): 2532.4727155268192 ||AX-Z||: 3557.6388461425677 ||Xk+1-Xk|| 3 sw: 2
iter#: 6 F(Z): 2877.569587752223 f(z): 2532.4727155268192 ||AX-Z||: 3557.0437792781204 ||Xk+1-Xk|| 0 sw: 2
iter#: 0 F(Z): 2878.305821247399 f(z): 2532.4727155268192 ||AX-Z||: 1781.371732714529 ||Xk+1-Xk|| 0 sw: 1

visualization(image slice in the middle, 240 x 240 x 1, mm)

inputs:

moving image:
moving image
fixed image:
fixed image

itermediate result:

mask image:
mask image

result:

pred image