├── 2dVnet.png ├── Image.jpeg ├── README.md ├── landmarkdetection ├── dataprocess │ ├── __init__.py │ ├── data │ │ ├── 3167.mha │ │ ├── hand_xray_dataset │ │ │ ├── images │ │ │ │ ├── 3167.mha │ │ │ │ ├── 3177.mha │ │ │ │ ├── 3229.mha │ │ │ │ ├── 3231.mha │ │ │ │ ├── 5245.mha │ │ │ │ ├── 7081.mha │ │ │ │ ├── 7088.mha │ │ │ │ ├── 7232.mha │ │ │ │ └── 7236.mha │ │ │ └── setup │ │ │ │ ├── all.csv │ │ │ │ ├── cv │ │ │ │ ├── set1 │ │ │ │ │ ├── test.txt │ │ │ │ │ ├── train.txt │ │ │ │ │ └── train_10.txt │ │ │ │ ├── set2 │ │ │ │ │ ├── test.txt │ │ │ │ │ ├── train.txt │ │ │ │ │ └── train_10.txt │ │ │ │ └── set3 │ │ │ │ │ ├── test.txt │ │ │ │ │ ├── test_single.txt │ │ │ │ │ ├── train.txt │ │ │ │ │ └── train_10.txt │ │ │ │ ├── cv_rand │ │ │ │ ├── 10 │ │ │ │ │ ├── 1 │ │ │ │ │ │ ├── set1 │ │ │ │ │ │ │ ├── test.txt │ │ │ │ │ │ │ └── train.txt │ │ │ │ │ │ ├── set2 │ │ │ │ │ │ │ ├── test.txt │ │ │ │ │ │ │ └── train.txt │ │ │ │ │ │ └── set3 │ │ │ │ │ │ │ ├── test.txt │ │ │ │ │ │ │ └── train.txt │ │ │ │ │ └── 2 │ │ │ │ │ │ ├── set1 │ │ │ │ │ │ ├── test.txt │ │ │ │ │ │ └── train.txt │ │ │ │ │ │ ├── set2 │ │ │ │ │ │ ├── test.txt │ │ │ │ │ │ └── train.txt │ │ │ │ │ │ └── set3 │ │ │ │ │ │ ├── test.txt │ │ │ │ │ │ └── train.txt │ │ │ │ ├── 50 │ │ │ │ │ ├── 1 │ │ │ │ │ │ ├── set1 │ │ │ │ │ │ │ ├── test.txt │ │ │ │ │ │ │ └── train.txt │ │ │ │ │ │ ├── set2 │ │ │ │ │ │ │ ├── test.txt │ │ │ │ │ │ │ └── train.txt │ │ │ │ │ │ └── set3 │ │ │ │ │ │ │ ├── test.txt │ │ │ │ │ │ │ └── train.txt │ │ │ │ │ └── 2 │ │ │ │ │ │ ├── set1 │ │ │ │ │ │ ├── test.txt │ │ │ │ │ │ └── train.txt │ │ │ │ │ │ ├── set2 │ │ │ │ │ │ ├── test.txt │ │ │ │ │ │ └── train.txt │ │ │ │ │ │ └── set3 │ │ │ │ │ │ ├── test.txt │ │ │ │ │ │ └── train.txt │ │ │ │ └── 100 │ │ │ │ │ ├── 1 │ │ │ │ │ ├── set1 │ │ │ │ │ │ ├── test.txt │ │ │ │ │ │ └── train.txt │ │ │ │ │ ├── set2 │ │ │ │ │ │ ├── test.txt │ │ │ │ │ │ └── train.txt │ │ │ │ │ └── set3 │ │ │ │ │ │ ├── test.txt │ │ │ │ │ │ └── train.txt │ │ │ │ │ └── 2 │ │ │ │ │ ├── set1 │ │ │ │ │ ├── test.txt │ │ │ │ │ └── train.txt │ │ │ │ │ ├── set2 │ │ │ │ │ ├── test.txt │ │ │ │ │ └── train.txt │ │ │ │ │ └── set3 │ │ │ │ │ ├── test.txt │ │ │ │ │ └── train.txt │ │ │ │ └── cv_reduced │ │ │ │ ├── set1 │ │ │ │ ├── test.txt │ │ │ │ └── train.txt │ │ │ │ ├── set2 │ │ │ │ ├── test.txt │ │ │ │ └── train.txt │ │ │ │ └── set3 │ │ │ │ ├── test.txt │ │ │ │ └── train.txt │ │ ├── landmark.csv │ │ └── landmarktraining.csv │ ├── data2dprepare.py │ └── utils.py ├── detection │ ├── __init__.py │ ├── layer.py │ ├── model_detection.py │ └── utils.py ├── detection_inference.py └── detection_train.py ├── landmarksheatmaps.bmp ├── loss.bmp └── result.bmp /2dVnet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/junqiangchen/LandMarksDetection/af95435a0528b1da15262e4e19c2a80062a0a58a/2dVnet.png -------------------------------------------------------------------------------- /Image.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/junqiangchen/LandMarksDetection/af95435a0528b1da15262e4e19c2a80062a0a58a/Image.jpeg -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # LandMarksDetection 2 | > This is an example of the X-ray hand landmarks detection with heatmap regression 3 | 4 | ## Prerequisities 5 | The following dependencies are needed: 6 | - numpy >= 1.11.1 7 | - SimpleITK >=1.0.1 8 | - tensorflow-gpu ==1.8.0 9 | - pandas >=0.20.1 10 | 11 | ## How to Use 12 | 13 | **1、Preprocess** 14 | 15 | * first,load image and landmark coords from csv,then resize to net input size,last generate landmarks heatmaps:run the data2dprepare.py 16 | * image and landmarks heatmaps 17 | 18 | ![](Image.jpeg) 19 | 20 | ![](landmarksheatmaps.bmp) 21 | 22 | 23 | * save image and mask into csv file: run the utils.py,like file traindetection.csv 24 | 25 | **2、LandMarks Detection** 26 | 27 | * the VNet model 28 | 29 | ![](2dVnet.png) 30 | 31 | ## Result 32 | 33 | * the train loss 34 | 35 | ![](loss.bmp) 36 | 37 | * result 38 | 39 | ![](result.bmp) 40 | 41 | ## Author 42 | 43 | junqiangChen 44 | 45 | ## Contact 46 | * https://github.com/junqiangchen 47 | * email: 1207173174@qq.com 48 | * Contact: junqiangChen 49 | * WeChat Number: 1207173174 50 | * WeChat Public number: 最新医学影像技术 51 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/__init__.py: -------------------------------------------------------------------------------- 1 | __author__ = 'junqiang chen' 2 | __version__ = '1.0.0' 3 | __Time__ = '2.19.4.9' 4 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/3167.mha: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/junqiangchen/LandMarksDetection/af95435a0528b1da15262e4e19c2a80062a0a58a/landmarkdetection/dataprocess/data/3167.mha -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/images/3167.mha: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/junqiangchen/LandMarksDetection/af95435a0528b1da15262e4e19c2a80062a0a58a/landmarkdetection/dataprocess/data/hand_xray_dataset/images/3167.mha -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/images/3177.mha: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/junqiangchen/LandMarksDetection/af95435a0528b1da15262e4e19c2a80062a0a58a/landmarkdetection/dataprocess/data/hand_xray_dataset/images/3177.mha -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/images/3229.mha: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/junqiangchen/LandMarksDetection/af95435a0528b1da15262e4e19c2a80062a0a58a/landmarkdetection/dataprocess/data/hand_xray_dataset/images/3229.mha -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/images/3231.mha: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/junqiangchen/LandMarksDetection/af95435a0528b1da15262e4e19c2a80062a0a58a/landmarkdetection/dataprocess/data/hand_xray_dataset/images/3231.mha -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/images/5245.mha: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/junqiangchen/LandMarksDetection/af95435a0528b1da15262e4e19c2a80062a0a58a/landmarkdetection/dataprocess/data/hand_xray_dataset/images/5245.mha -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/images/7081.mha: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/junqiangchen/LandMarksDetection/af95435a0528b1da15262e4e19c2a80062a0a58a/landmarkdetection/dataprocess/data/hand_xray_dataset/images/7081.mha -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/images/7088.mha: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/junqiangchen/LandMarksDetection/af95435a0528b1da15262e4e19c2a80062a0a58a/landmarkdetection/dataprocess/data/hand_xray_dataset/images/7088.mha -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/images/7232.mha: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/junqiangchen/LandMarksDetection/af95435a0528b1da15262e4e19c2a80062a0a58a/landmarkdetection/dataprocess/data/hand_xray_dataset/images/7232.mha -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/images/7236.mha: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/junqiangchen/LandMarksDetection/af95435a0528b1da15262e4e19c2a80062a0a58a/landmarkdetection/dataprocess/data/hand_xray_dataset/images/7236.mha -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv/set1/test.txt: -------------------------------------------------------------------------------- 1 | 4105 2 | 6036 3 | 4157 4 | 6115 5 | 5715 6 | 4523 7 | 5159 8 | 7023 9 | 4156 10 | 5707 11 | 4173 12 | 5305 13 | 5211 14 | 5565 15 | 5341 16 | 7084 17 | 5196 18 | 5032 19 | 5756 20 | 5549 21 | 5089 22 | 7241 23 | 4481 24 | 7036 25 | 4116 26 | 5308 27 | 5919 28 | 5501 29 | 4160 30 | 5158 31 | 4741 32 | 5395 33 | 3208 34 | 5527 35 | 5603 36 | 5349 37 | 4166 38 | 5099 39 | 5275 40 | 3263 41 | 5183 42 | 6029 43 | 4367 44 | 5315 45 | 4329 46 | 3280 47 | 3265 48 | 4183 49 | 5754 50 | 4742 51 | 5759 52 | 4344 53 | 4357 54 | 6027 55 | 5336 56 | 3769 57 | 5299 58 | 5317 59 | 5003 60 | 5723 61 | 4124 62 | 5324 63 | 3775 64 | 7247 65 | 4483 66 | 5210 67 | 7105 68 | 5197 69 | 6147 70 | 5194 71 | 3160 72 | 7037 73 | 4330 74 | 3288 75 | 7072 76 | 5558 77 | 7227 78 | 3209 79 | 6035 80 | 3184 81 | 5321 82 | 5218 83 | 5081 84 | 5345 85 | 5207 86 | 7018 87 | 7214 88 | 7066 89 | 3216 90 | 7088 91 | 7081 92 | 5359 93 | 3827 94 | 5295 95 | 3217 96 | 7170 97 | 5327 98 | 6053 99 | 5578 100 | 7021 101 | 3228 102 | 5174 103 | 3165 104 | 4491 105 | 5344 106 | 6042 107 | 5037 108 | 4722 109 | 5719 110 | 6022 111 | 6110 112 | 5611 113 | 5043 114 | 5066 115 | 6019 116 | 5747 117 | 4181 118 | 6108 119 | 7150 120 | 5369 121 | 5310 122 | 5195 123 | 5726 124 | 4089 125 | 4500 126 | 7109 127 | 7111 128 | 4504 129 | 7171 130 | 5382 131 | 3289 132 | 5019 133 | 5010 134 | 5164 135 | 5908 136 | 5350 137 | 6109 138 | 3829 139 | 3771 140 | 3221 141 | 6024 142 | 5901 143 | 3159 144 | 5760 145 | 7131 146 | 3212 147 | 5301 148 | 4525 149 | 6045 150 | 5150 151 | 5014 152 | 6028 153 | 7216 154 | 4208 155 | 5139 156 | 7225 157 | 4353 158 | 5059 159 | 4527 160 | 4492 161 | 4532 162 | 3206 163 | 4721 164 | 3239 165 | 5236 166 | 5378 167 | 3819 168 | 7138 169 | 6041 170 | 3259 171 | 4724 172 | 5773 173 | 5375 174 | 3760 175 | 7095 176 | 4090 177 | 5370 178 | 5237 179 | 3231 180 | 3151 181 | 5387 182 | 5204 183 | 4366 184 | 7232 185 | 5312 186 | 5512 187 | 5267 188 | 6013 189 | 5319 190 | 4730 191 | 6153 192 | 5292 193 | 6032 194 | 5610 195 | 3224 196 | 4529 197 | 7019 198 | 5040 199 | 5246 200 | 5503 201 | 5046 202 | 4340 203 | 5191 204 | 7108 205 | 5916 206 | 5013 207 | 5763 208 | 7151 209 | 4381 210 | 3190 211 | 4355 212 | 5721 213 | 5147 214 | 5537 215 | 4364 216 | 3852 217 | 5323 218 | 5389 219 | 5209 220 | 4378 221 | 5563 222 | 5508 223 | 5737 224 | 5075 225 | 5368 226 | 4194 227 | 7077 228 | 5294 229 | 4103 230 | 4192 231 | 3846 232 | 5534 233 | 4341 234 | 6133 235 | 5084 236 | 7022 237 | 6120 238 | 7159 239 | 5526 240 | 4533 241 | 7257 242 | 4365 243 | 5401 244 | 4182 245 | 5522 246 | 6043 247 | 5755 248 | 5170 249 | 4049 250 | 3162 251 | 5125 252 | 4345 253 | 5338 254 | 5529 255 | 4386 256 | 4167 257 | 5725 258 | 4739 259 | 3187 260 | 4088 261 | 7163 262 | 7175 263 | 5151 264 | 4493 265 | 5518 266 | 5273 267 | 5330 268 | 7071 269 | 5392 270 | 5104 271 | 5129 272 | 5020 273 | 3245 274 | 6054 275 | 3840 276 | 4524 277 | 4184 278 | 6126 279 | 4338 280 | 7280 281 | 5114 282 | 7288 283 | 5200 284 | 5082 285 | 3147 286 | 5530 287 | 7224 288 | 5118 289 | 7100 290 | 4384 291 | 3156 292 | 5352 293 | 4114 294 | 3237 295 | 5230 296 | 4531 297 | 5911 298 | 5383 299 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv/set1/train.txt: -------------------------------------------------------------------------------- 1 | 7272 2 | 5347 3 | 5083 4 | 3148 5 | 5553 6 | 3761 7 | 5229 8 | 5602 9 | 5198 10 | 3189 11 | 3170 12 | 4342 13 | 3755 14 | 3236 15 | 4053 16 | 3767 17 | 4193 18 | 3181 19 | 5390 20 | 5918 21 | 5071 22 | 6020 23 | 7145 24 | 4488 25 | 3230 26 | 5746 27 | 5240 28 | 6026 29 | 5181 30 | 4358 31 | 5554 32 | 4530 33 | 5135 34 | 6051 35 | 5717 36 | 5504 37 | 4334 38 | 7064 39 | 5774 40 | 4052 41 | 4331 42 | 4526 43 | 5283 44 | 5169 45 | 3832 46 | 5110 47 | 5339 48 | 3152 49 | 5744 50 | 7059 51 | 5331 52 | 7274 53 | 6119 54 | 4374 55 | 7008 56 | 3776 57 | 5268 58 | 5247 59 | 6056 60 | 3772 61 | 5927 62 | 5030 63 | 3838 64 | 5225 65 | 5581 66 | 4178 67 | 3214 68 | 5734 69 | 5577 70 | 3145 71 | 3176 72 | 5353 73 | 7113 74 | 5044 75 | 5101 76 | 5309 77 | 5733 78 | 4496 79 | 5228 80 | 5524 81 | 4356 82 | 5167 83 | 4094 84 | 5502 85 | 5348 86 | 5514 87 | 3842 88 | 5579 89 | 5363 90 | 5902 91 | 5398 92 | 3816 93 | 6055 94 | 6105 95 | 5304 96 | 5391 97 | 5163 98 | 5253 99 | 7092 100 | 4169 101 | 7212 102 | 3246 103 | 3281 104 | 4095 105 | 7223 106 | 4205 107 | 5008 108 | 4377 109 | 5376 110 | 5342 111 | 6025 112 | 5201 113 | 4091 114 | 6052 115 | 3274 116 | 7078 117 | 3279 118 | 5155 119 | 6037 120 | 5393 121 | 4362 122 | 5086 123 | 3146 124 | 4206 125 | 7253 126 | 3166 127 | 7091 128 | 7009 129 | 5100 130 | 7157 131 | 5213 132 | 5550 133 | 5400 134 | 3313 135 | 7107 136 | 7222 137 | 7209 138 | 3300 139 | 3843 140 | 4387 141 | 5567 142 | 5509 143 | 3822 144 | 5186 145 | 3235 146 | 5116 147 | 4487 148 | 6016 149 | 4723 150 | 5123 151 | 3269 152 | 3171 153 | 7090 154 | 7130 155 | 5045 156 | 3758 157 | 3213 158 | 3144 159 | 5171 160 | 3241 161 | 7238 162 | 7075 163 | 7146 164 | 6017 165 | 7162 166 | 7010 167 | 7058 168 | 7057 169 | 5765 170 | 5905 171 | 4104 172 | 5535 173 | 5112 174 | 5199 175 | 3835 176 | 3154 177 | 7154 178 | 3207 179 | 3183 180 | 5560 181 | 4383 182 | 7165 183 | 5340 184 | 5233 185 | 5215 186 | 5354 187 | 5507 188 | 5039 189 | 6128 190 | 5379 191 | 5277 192 | 4484 193 | 7065 194 | 5601 195 | 3153 196 | 5364 197 | 5280 198 | 7005 199 | 5190 200 | 5556 201 | 3177 202 | 5238 203 | 5525 204 | 4110 205 | 6111 206 | 4522 207 | 4363 208 | 4352 209 | 7180 210 | 7259 211 | 5906 212 | 7256 213 | 5162 214 | 7233 215 | 5528 216 | 4174 217 | 5180 218 | 5130 219 | 7260 220 | 5047 221 | 3249 222 | 5505 223 | 7267 224 | 6007 225 | 7137 226 | 4717 227 | 5318 228 | 7246 229 | 7101 230 | 3266 231 | 5371 232 | 7147 233 | 5708 234 | 5161 235 | 5777 236 | 5055 237 | 6129 238 | 5346 239 | 3275 240 | 3243 241 | 5511 242 | 4520 243 | 4360 244 | 3817 245 | 7184 246 | 4121 247 | 7283 248 | 3844 249 | 5531 250 | 5279 251 | 7229 252 | 7178 253 | 5284 254 | 5226 255 | 6021 256 | 3824 257 | 5007 258 | 7004 259 | 5709 260 | 5216 261 | 3821 262 | 3849 263 | 3301 264 | 3833 265 | 7063 266 | 7035 267 | 5909 268 | 4162 269 | 3774 270 | 7186 271 | 4731 272 | 3298 273 | 5582 274 | 5562 275 | 6139 276 | 7236 277 | 6049 278 | 5187 279 | 3267 280 | 6006 281 | 5337 282 | 5366 283 | 3283 284 | 5552 285 | 5231 286 | 5770 287 | 5258 288 | 7067 289 | 7206 290 | 4519 291 | 5533 292 | 6014 293 | 5206 294 | 6012 295 | 4732 296 | 5254 297 | 4393 298 | 7293 299 | 5126 300 | 7094 301 | 7189 302 | 7073 303 | 3830 304 | 5189 305 | 3828 306 | 5924 307 | 3751 308 | 3220 309 | 3297 310 | 5910 311 | 5242 312 | 7116 313 | 3271 314 | 5217 315 | 3763 316 | 7218 317 | 6044 318 | 3316 319 | 3227 320 | 5152 321 | 4175 322 | 7055 323 | 5320 324 | 4505 325 | 4113 326 | 6144 327 | 4100 328 | 3753 329 | 4172 330 | 5188 331 | 4359 332 | 7125 333 | 7275 334 | 4376 335 | 5920 336 | 3185 337 | 4123 338 | 7126 339 | 4097 340 | 7106 341 | 3834 342 | 3770 343 | 7024 344 | 3825 345 | 4503 346 | 5705 347 | 5710 348 | 3172 349 | 6116 350 | 4096 351 | 5205 352 | 4111 353 | 7286 354 | 5925 355 | 7219 356 | 4177 357 | 3164 358 | 3188 359 | 4502 360 | 3752 361 | 7155 362 | 7054 363 | 3240 364 | 7098 365 | 4054 366 | 7266 367 | 5557 368 | 4713 369 | 4507 370 | 4718 371 | 5303 372 | 5741 373 | 6009 374 | 4518 375 | 4508 376 | 5119 377 | 3168 378 | 7085 379 | 5224 380 | 4715 381 | 5259 382 | 6132 383 | 5260 384 | 3314 385 | 3191 386 | 7161 387 | 3196 388 | 5555 389 | 7289 390 | 5351 391 | 5245 392 | 4388 393 | 7134 394 | 7135 395 | 7284 396 | 4354 397 | 6152 398 | 5176 399 | 5103 400 | 6112 401 | 4375 402 | 3169 403 | 5559 404 | 7062 405 | 5381 406 | 5758 407 | 6154 408 | 6145 409 | 3244 410 | 5287 411 | 5182 412 | 7169 413 | 7173 414 | 5285 415 | 5250 416 | 7061 417 | 7205 418 | 5235 419 | 5566 420 | 4497 421 | 3204 422 | 3260 423 | 4719 424 | 5361 425 | 3831 426 | 3845 427 | 5580 428 | 4170 429 | 5701 430 | 5702 431 | 6023 432 | 7020 433 | 5202 434 | 5728 435 | 5394 436 | 3809 437 | 4117 438 | 4480 439 | 5536 440 | 5399 441 | 5307 442 | 4335 443 | 4494 444 | 3142 445 | 5360 446 | 5355 447 | 5564 448 | 5282 449 | 5058 450 | 5386 451 | 3210 452 | 5313 453 | 4479 454 | 5291 455 | 7273 456 | 3836 457 | 3272 458 | 4195 459 | 7287 460 | 3773 461 | 5714 462 | 7076 463 | 5743 464 | 3167 465 | 7251 466 | 3143 467 | 6039 468 | 6050 469 | 3173 470 | 5600 471 | 5049 472 | 7269 473 | 4521 474 | 5314 475 | 5769 476 | 7056 477 | 5506 478 | 3276 479 | 5727 480 | 5261 481 | 5703 482 | 5402 483 | 5900 484 | 4390 485 | 5296 486 | 5520 487 | 4385 488 | 7166 489 | 5519 490 | 5300 491 | 6046 492 | 3205 493 | 5094 494 | 5241 495 | 5523 496 | 5706 497 | 4490 498 | 7264 499 | 6008 500 | 3270 501 | 7183 502 | 5244 503 | 5222 504 | 5332 505 | 3226 506 | 7210 507 | 5532 508 | 7172 509 | 5922 510 | 4161 511 | 3296 512 | 5609 513 | 5257 514 | 5716 515 | 3273 516 | 5735 517 | 5745 518 | 5311 519 | 5513 520 | 4740 521 | 5274 522 | 5271 523 | 5365 524 | 7237 525 | 3186 526 | 6150 527 | 5113 528 | 3754 529 | 3277 530 | 5397 531 | 3150 532 | 3818 533 | 7263 534 | 4729 535 | 5096 536 | 3161 537 | 5251 538 | 7118 539 | 6038 540 | 4716 541 | 7006 542 | 3837 543 | 7060 544 | 5923 545 | 3715 546 | 5396 547 | 5914 548 | 5249 549 | 5092 550 | 5322 551 | 7176 552 | 4209 553 | 6057 554 | 3759 555 | 5023 556 | 3229 557 | 4380 558 | 4482 559 | 5915 560 | 4528 561 | 5561 562 | 5290 563 | 3256 564 | 5278 565 | 5583 566 | 5286 567 | 5718 568 | 3174 569 | 7086 570 | 4389 571 | 3157 572 | 7277 573 | 6018 574 | 5298 575 | 5208 576 | 7201 577 | 7102 578 | 7252 579 | 3175 580 | 5127 581 | 7235 582 | 3757 583 | 7167 584 | 5031 585 | 4101 586 | 6034 587 | 5517 588 | 3823 589 | 7110 590 | 5729 591 | 7279 592 | 5256 593 | 5306 594 | 3182 595 | 4093 596 | 7245 597 | 5160 598 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv/set1/train_10.txt: -------------------------------------------------------------------------------- 1 | 7272 2 | 5347 3 | 5083 4 | 3148 5 | 5553 6 | 3761 7 | 5229 8 | 5602 9 | 5198 10 | 3189 11 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv/set2/test.txt: -------------------------------------------------------------------------------- 1 | 7272 2 | 5347 3 | 5083 4 | 3148 5 | 5553 6 | 3761 7 | 5229 8 | 5602 9 | 5198 10 | 3189 11 | 3170 12 | 4342 13 | 3755 14 | 3236 15 | 4053 16 | 3767 17 | 4193 18 | 3181 19 | 5390 20 | 5918 21 | 5071 22 | 6020 23 | 7145 24 | 4488 25 | 3230 26 | 5746 27 | 5240 28 | 6026 29 | 5181 30 | 4358 31 | 5554 32 | 4530 33 | 5135 34 | 6051 35 | 5717 36 | 5504 37 | 4334 38 | 7064 39 | 5774 40 | 4052 41 | 4331 42 | 4526 43 | 5283 44 | 5169 45 | 3832 46 | 5110 47 | 5339 48 | 3152 49 | 5744 50 | 7059 51 | 5331 52 | 7274 53 | 6119 54 | 4374 55 | 7008 56 | 3776 57 | 5268 58 | 5247 59 | 6056 60 | 3772 61 | 5927 62 | 5030 63 | 3838 64 | 5225 65 | 5581 66 | 4178 67 | 3214 68 | 5734 69 | 5577 70 | 3145 71 | 3176 72 | 5353 73 | 7113 74 | 5044 75 | 5101 76 | 5309 77 | 5733 78 | 4496 79 | 5228 80 | 5524 81 | 4356 82 | 5167 83 | 4094 84 | 5502 85 | 5348 86 | 5514 87 | 3842 88 | 5579 89 | 5363 90 | 5902 91 | 5398 92 | 3816 93 | 6055 94 | 6105 95 | 5304 96 | 5391 97 | 5163 98 | 5253 99 | 7092 100 | 4169 101 | 7212 102 | 3246 103 | 3281 104 | 4095 105 | 7223 106 | 4205 107 | 5008 108 | 4377 109 | 5376 110 | 5342 111 | 6025 112 | 5201 113 | 4091 114 | 6052 115 | 3274 116 | 7078 117 | 3279 118 | 5155 119 | 6037 120 | 5393 121 | 4362 122 | 5086 123 | 3146 124 | 4206 125 | 7253 126 | 3166 127 | 7091 128 | 7009 129 | 5100 130 | 7157 131 | 5213 132 | 5550 133 | 5400 134 | 3313 135 | 7107 136 | 7222 137 | 7209 138 | 3300 139 | 3843 140 | 4387 141 | 5567 142 | 5509 143 | 3822 144 | 5186 145 | 3235 146 | 5116 147 | 4487 148 | 6016 149 | 4723 150 | 5123 151 | 3269 152 | 3171 153 | 7090 154 | 7130 155 | 5045 156 | 3758 157 | 3213 158 | 3144 159 | 5171 160 | 3241 161 | 7238 162 | 7075 163 | 7146 164 | 6017 165 | 7162 166 | 7010 167 | 7058 168 | 7057 169 | 5765 170 | 5905 171 | 4104 172 | 5535 173 | 5112 174 | 5199 175 | 3835 176 | 3154 177 | 7154 178 | 3207 179 | 3183 180 | 5560 181 | 4383 182 | 7165 183 | 5340 184 | 5233 185 | 5215 186 | 5354 187 | 5507 188 | 5039 189 | 6128 190 | 5379 191 | 5277 192 | 4484 193 | 7065 194 | 5601 195 | 3153 196 | 5364 197 | 5280 198 | 7005 199 | 5190 200 | 5556 201 | 3177 202 | 5238 203 | 5525 204 | 4110 205 | 6111 206 | 4522 207 | 4363 208 | 4352 209 | 7180 210 | 7259 211 | 5906 212 | 7256 213 | 5162 214 | 7233 215 | 5528 216 | 4174 217 | 5180 218 | 5130 219 | 7260 220 | 5047 221 | 3249 222 | 5505 223 | 7267 224 | 6007 225 | 7137 226 | 4717 227 | 5318 228 | 7246 229 | 7101 230 | 3266 231 | 5371 232 | 7147 233 | 5708 234 | 5161 235 | 5777 236 | 5055 237 | 6129 238 | 5346 239 | 3275 240 | 3243 241 | 5511 242 | 4520 243 | 4360 244 | 3817 245 | 7184 246 | 4121 247 | 7283 248 | 3844 249 | 5531 250 | 5279 251 | 7229 252 | 7178 253 | 5284 254 | 5226 255 | 6021 256 | 3824 257 | 5007 258 | 7004 259 | 5709 260 | 5216 261 | 3821 262 | 3849 263 | 3301 264 | 3833 265 | 7063 266 | 7035 267 | 5909 268 | 4162 269 | 3774 270 | 7186 271 | 4731 272 | 3298 273 | 5582 274 | 5562 275 | 6139 276 | 7236 277 | 6049 278 | 5187 279 | 3267 280 | 6006 281 | 5337 282 | 5366 283 | 3283 284 | 5552 285 | 5231 286 | 5770 287 | 5258 288 | 7067 289 | 7206 290 | 4519 291 | 5533 292 | 6014 293 | 5206 294 | 6012 295 | 4732 296 | 5254 297 | 4393 298 | 7293 299 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv/set2/train.txt: -------------------------------------------------------------------------------- 1 | 4105 2 | 6036 3 | 4157 4 | 6115 5 | 5715 6 | 4523 7 | 5159 8 | 7023 9 | 4156 10 | 5707 11 | 4173 12 | 5305 13 | 5211 14 | 5565 15 | 5341 16 | 7084 17 | 5196 18 | 5032 19 | 5756 20 | 5549 21 | 5089 22 | 7241 23 | 4481 24 | 7036 25 | 4116 26 | 5308 27 | 5919 28 | 5501 29 | 4160 30 | 5158 31 | 4741 32 | 5395 33 | 3208 34 | 5527 35 | 5603 36 | 5349 37 | 4166 38 | 5099 39 | 5275 40 | 3263 41 | 5183 42 | 6029 43 | 4367 44 | 5315 45 | 4329 46 | 3280 47 | 3265 48 | 4183 49 | 5754 50 | 4742 51 | 5759 52 | 4344 53 | 4357 54 | 6027 55 | 5336 56 | 3769 57 | 5299 58 | 5317 59 | 5003 60 | 5723 61 | 4124 62 | 5324 63 | 3775 64 | 7247 65 | 4483 66 | 5210 67 | 7105 68 | 5197 69 | 6147 70 | 5194 71 | 3160 72 | 7037 73 | 4330 74 | 3288 75 | 7072 76 | 5558 77 | 7227 78 | 3209 79 | 6035 80 | 3184 81 | 5321 82 | 5218 83 | 5081 84 | 5345 85 | 5207 86 | 7018 87 | 7214 88 | 7066 89 | 3216 90 | 7088 91 | 7081 92 | 5359 93 | 3827 94 | 5295 95 | 3217 96 | 7170 97 | 5327 98 | 6053 99 | 5578 100 | 7021 101 | 3228 102 | 5174 103 | 3165 104 | 4491 105 | 5344 106 | 6042 107 | 5037 108 | 4722 109 | 5719 110 | 6022 111 | 6110 112 | 5611 113 | 5043 114 | 5066 115 | 6019 116 | 5747 117 | 4181 118 | 6108 119 | 7150 120 | 5369 121 | 5310 122 | 5195 123 | 5726 124 | 4089 125 | 4500 126 | 7109 127 | 7111 128 | 4504 129 | 7171 130 | 5382 131 | 3289 132 | 5019 133 | 5010 134 | 5164 135 | 5908 136 | 5350 137 | 6109 138 | 3829 139 | 3771 140 | 3221 141 | 6024 142 | 5901 143 | 3159 144 | 5760 145 | 7131 146 | 3212 147 | 5301 148 | 4525 149 | 6045 150 | 5150 151 | 5014 152 | 6028 153 | 7216 154 | 4208 155 | 5139 156 | 7225 157 | 4353 158 | 5059 159 | 4527 160 | 4492 161 | 4532 162 | 3206 163 | 4721 164 | 3239 165 | 5236 166 | 5378 167 | 3819 168 | 7138 169 | 6041 170 | 3259 171 | 4724 172 | 5773 173 | 5375 174 | 3760 175 | 7095 176 | 4090 177 | 5370 178 | 5237 179 | 3231 180 | 3151 181 | 5387 182 | 5204 183 | 4366 184 | 7232 185 | 5312 186 | 5512 187 | 5267 188 | 6013 189 | 5319 190 | 4730 191 | 6153 192 | 5292 193 | 6032 194 | 5610 195 | 3224 196 | 4529 197 | 7019 198 | 5040 199 | 5246 200 | 5503 201 | 5046 202 | 4340 203 | 5191 204 | 7108 205 | 5916 206 | 5013 207 | 5763 208 | 7151 209 | 4381 210 | 3190 211 | 4355 212 | 5721 213 | 5147 214 | 5537 215 | 4364 216 | 3852 217 | 5323 218 | 5389 219 | 5209 220 | 4378 221 | 5563 222 | 5508 223 | 5737 224 | 5075 225 | 5368 226 | 4194 227 | 7077 228 | 5294 229 | 4103 230 | 4192 231 | 3846 232 | 5534 233 | 4341 234 | 6133 235 | 5084 236 | 7022 237 | 6120 238 | 7159 239 | 5526 240 | 4533 241 | 7257 242 | 4365 243 | 5401 244 | 4182 245 | 5522 246 | 6043 247 | 5755 248 | 5170 249 | 4049 250 | 3162 251 | 5125 252 | 4345 253 | 5338 254 | 5529 255 | 4386 256 | 4167 257 | 5725 258 | 4739 259 | 3187 260 | 4088 261 | 7163 262 | 7175 263 | 5151 264 | 4493 265 | 5518 266 | 5273 267 | 5330 268 | 7071 269 | 5392 270 | 5104 271 | 5129 272 | 5020 273 | 3245 274 | 6054 275 | 3840 276 | 4524 277 | 4184 278 | 6126 279 | 4338 280 | 7280 281 | 5114 282 | 7288 283 | 5200 284 | 5082 285 | 3147 286 | 5530 287 | 7224 288 | 5118 289 | 7100 290 | 4384 291 | 3156 292 | 5352 293 | 4114 294 | 3237 295 | 5230 296 | 4531 297 | 5911 298 | 5383 299 | 5126 300 | 7094 301 | 7189 302 | 7073 303 | 3830 304 | 5189 305 | 3828 306 | 5924 307 | 3751 308 | 3220 309 | 3297 310 | 5910 311 | 5242 312 | 7116 313 | 3271 314 | 5217 315 | 3763 316 | 7218 317 | 6044 318 | 3316 319 | 3227 320 | 5152 321 | 4175 322 | 7055 323 | 5320 324 | 4505 325 | 4113 326 | 6144 327 | 4100 328 | 3753 329 | 4172 330 | 5188 331 | 4359 332 | 7125 333 | 7275 334 | 4376 335 | 5920 336 | 3185 337 | 4123 338 | 7126 339 | 4097 340 | 7106 341 | 3834 342 | 3770 343 | 7024 344 | 3825 345 | 4503 346 | 5705 347 | 5710 348 | 3172 349 | 6116 350 | 4096 351 | 5205 352 | 4111 353 | 7286 354 | 5925 355 | 7219 356 | 4177 357 | 3164 358 | 3188 359 | 4502 360 | 3752 361 | 7155 362 | 7054 363 | 3240 364 | 7098 365 | 4054 366 | 7266 367 | 5557 368 | 4713 369 | 4507 370 | 4718 371 | 5303 372 | 5741 373 | 6009 374 | 4518 375 | 4508 376 | 5119 377 | 3168 378 | 7085 379 | 5224 380 | 4715 381 | 5259 382 | 6132 383 | 5260 384 | 3314 385 | 3191 386 | 7161 387 | 3196 388 | 5555 389 | 7289 390 | 5351 391 | 5245 392 | 4388 393 | 7134 394 | 7135 395 | 7284 396 | 4354 397 | 6152 398 | 5176 399 | 5103 400 | 6112 401 | 4375 402 | 3169 403 | 5559 404 | 7062 405 | 5381 406 | 5758 407 | 6154 408 | 6145 409 | 3244 410 | 5287 411 | 5182 412 | 7169 413 | 7173 414 | 5285 415 | 5250 416 | 7061 417 | 7205 418 | 5235 419 | 5566 420 | 4497 421 | 3204 422 | 3260 423 | 4719 424 | 5361 425 | 3831 426 | 3845 427 | 5580 428 | 4170 429 | 5701 430 | 5702 431 | 6023 432 | 7020 433 | 5202 434 | 5728 435 | 5394 436 | 3809 437 | 4117 438 | 4480 439 | 5536 440 | 5399 441 | 5307 442 | 4335 443 | 4494 444 | 3142 445 | 5360 446 | 5355 447 | 5564 448 | 5282 449 | 5058 450 | 5386 451 | 3210 452 | 5313 453 | 4479 454 | 5291 455 | 7273 456 | 3836 457 | 3272 458 | 4195 459 | 7287 460 | 3773 461 | 5714 462 | 7076 463 | 5743 464 | 3167 465 | 7251 466 | 3143 467 | 6039 468 | 6050 469 | 3173 470 | 5600 471 | 5049 472 | 7269 473 | 4521 474 | 5314 475 | 5769 476 | 7056 477 | 5506 478 | 3276 479 | 5727 480 | 5261 481 | 5703 482 | 5402 483 | 5900 484 | 4390 485 | 5296 486 | 5520 487 | 4385 488 | 7166 489 | 5519 490 | 5300 491 | 6046 492 | 3205 493 | 5094 494 | 5241 495 | 5523 496 | 5706 497 | 4490 498 | 7264 499 | 6008 500 | 3270 501 | 7183 502 | 5244 503 | 5222 504 | 5332 505 | 3226 506 | 7210 507 | 5532 508 | 7172 509 | 5922 510 | 4161 511 | 3296 512 | 5609 513 | 5257 514 | 5716 515 | 3273 516 | 5735 517 | 5745 518 | 5311 519 | 5513 520 | 4740 521 | 5274 522 | 5271 523 | 5365 524 | 7237 525 | 3186 526 | 6150 527 | 5113 528 | 3754 529 | 3277 530 | 5397 531 | 3150 532 | 3818 533 | 7263 534 | 4729 535 | 5096 536 | 3161 537 | 5251 538 | 7118 539 | 6038 540 | 4716 541 | 7006 542 | 3837 543 | 7060 544 | 5923 545 | 3715 546 | 5396 547 | 5914 548 | 5249 549 | 5092 550 | 5322 551 | 7176 552 | 4209 553 | 6057 554 | 3759 555 | 5023 556 | 3229 557 | 4380 558 | 4482 559 | 5915 560 | 4528 561 | 5561 562 | 5290 563 | 3256 564 | 5278 565 | 5583 566 | 5286 567 | 5718 568 | 3174 569 | 7086 570 | 4389 571 | 3157 572 | 7277 573 | 6018 574 | 5298 575 | 5208 576 | 7201 577 | 7102 578 | 7252 579 | 3175 580 | 5127 581 | 7235 582 | 3757 583 | 7167 584 | 5031 585 | 4101 586 | 6034 587 | 5517 588 | 3823 589 | 7110 590 | 5729 591 | 7279 592 | 5256 593 | 5306 594 | 3182 595 | 4093 596 | 7245 597 | 5160 598 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv/set2/train_10.txt: -------------------------------------------------------------------------------- 1 | 4105 2 | 6036 3 | 4157 4 | 6115 5 | 5715 6 | 4523 7 | 5159 8 | 7023 9 | 4156 10 | 5707 11 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv/set3/test.txt: -------------------------------------------------------------------------------- 1 | 5126 2 | 7094 3 | 7189 4 | 7073 5 | 3830 6 | 5189 7 | 3828 8 | 5924 9 | 3751 10 | 3220 11 | 3297 12 | 5910 13 | 5242 14 | 7116 15 | 3271 16 | 5217 17 | 3763 18 | 7218 19 | 6044 20 | 3316 21 | 3227 22 | 5152 23 | 4175 24 | 7055 25 | 5320 26 | 4505 27 | 4113 28 | 6144 29 | 4100 30 | 3753 31 | 4172 32 | 5188 33 | 4359 34 | 7125 35 | 7275 36 | 4376 37 | 5920 38 | 3185 39 | 4123 40 | 7126 41 | 4097 42 | 7106 43 | 3834 44 | 3770 45 | 7024 46 | 3825 47 | 4503 48 | 5705 49 | 5710 50 | 3172 51 | 6116 52 | 4096 53 | 5205 54 | 4111 55 | 7286 56 | 5925 57 | 7219 58 | 4177 59 | 3164 60 | 3188 61 | 4502 62 | 3752 63 | 7155 64 | 7054 65 | 3240 66 | 7098 67 | 4054 68 | 7266 69 | 5557 70 | 4713 71 | 4507 72 | 4718 73 | 5303 74 | 5741 75 | 6009 76 | 4518 77 | 4508 78 | 5119 79 | 3168 80 | 7085 81 | 5224 82 | 4715 83 | 5259 84 | 6132 85 | 5260 86 | 3314 87 | 3191 88 | 7161 89 | 3196 90 | 5555 91 | 7289 92 | 5351 93 | 5245 94 | 4388 95 | 7134 96 | 7135 97 | 7284 98 | 4354 99 | 6152 100 | 5176 101 | 5103 102 | 6112 103 | 4375 104 | 3169 105 | 5559 106 | 7062 107 | 5381 108 | 5758 109 | 6154 110 | 6145 111 | 3244 112 | 5287 113 | 5182 114 | 7169 115 | 7173 116 | 5285 117 | 5250 118 | 7061 119 | 7205 120 | 5235 121 | 5566 122 | 4497 123 | 3204 124 | 3260 125 | 4719 126 | 5361 127 | 3831 128 | 3845 129 | 5580 130 | 4170 131 | 5701 132 | 5702 133 | 6023 134 | 7020 135 | 5202 136 | 5728 137 | 5394 138 | 3809 139 | 4117 140 | 4480 141 | 5536 142 | 5399 143 | 5307 144 | 4335 145 | 4494 146 | 3142 147 | 5360 148 | 5355 149 | 5564 150 | 5282 151 | 5058 152 | 5386 153 | 3210 154 | 5313 155 | 4479 156 | 5291 157 | 7273 158 | 3836 159 | 3272 160 | 4195 161 | 7287 162 | 3773 163 | 5714 164 | 7076 165 | 5743 166 | 3167 167 | 7251 168 | 3143 169 | 6039 170 | 6050 171 | 3173 172 | 5600 173 | 5049 174 | 7269 175 | 4521 176 | 5314 177 | 5769 178 | 7056 179 | 5506 180 | 3276 181 | 5727 182 | 5261 183 | 5703 184 | 5402 185 | 5900 186 | 4390 187 | 5296 188 | 5520 189 | 4385 190 | 7166 191 | 5519 192 | 5300 193 | 6046 194 | 3205 195 | 5094 196 | 5241 197 | 5523 198 | 5706 199 | 4490 200 | 7264 201 | 6008 202 | 3270 203 | 7183 204 | 5244 205 | 5222 206 | 5332 207 | 3226 208 | 7210 209 | 5532 210 | 7172 211 | 5922 212 | 4161 213 | 3296 214 | 5609 215 | 5257 216 | 5716 217 | 3273 218 | 5735 219 | 5745 220 | 5311 221 | 5513 222 | 4740 223 | 5274 224 | 5271 225 | 5365 226 | 7237 227 | 3186 228 | 6150 229 | 5113 230 | 3754 231 | 3277 232 | 5397 233 | 3150 234 | 3818 235 | 7263 236 | 4729 237 | 5096 238 | 3161 239 | 5251 240 | 7118 241 | 6038 242 | 4716 243 | 7006 244 | 3837 245 | 7060 246 | 5923 247 | 3715 248 | 5396 249 | 5914 250 | 5249 251 | 5092 252 | 5322 253 | 7176 254 | 4209 255 | 6057 256 | 3759 257 | 5023 258 | 3229 259 | 4380 260 | 4482 261 | 5915 262 | 4528 263 | 5561 264 | 5290 265 | 3256 266 | 5278 267 | 5583 268 | 5286 269 | 5718 270 | 3174 271 | 7086 272 | 4389 273 | 3157 274 | 7277 275 | 6018 276 | 5298 277 | 5208 278 | 7201 279 | 7102 280 | 7252 281 | 3175 282 | 5127 283 | 7235 284 | 3757 285 | 7167 286 | 5031 287 | 4101 288 | 6034 289 | 5517 290 | 3823 291 | 7110 292 | 5729 293 | 7279 294 | 5256 295 | 5306 296 | 3182 297 | 4093 298 | 7245 299 | 5160 300 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv/set3/test_single.txt: -------------------------------------------------------------------------------- 1 | 5126 2 | 5274 3 | 5126 4 | 5126 5 | 5126 6 | 5126 7 | 5126 8 | 5126 9 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv/set3/train.txt: -------------------------------------------------------------------------------- 1 | 4105 2 | 6036 3 | 4157 4 | 6115 5 | 5715 6 | 4523 7 | 5159 8 | 7023 9 | 4156 10 | 5707 11 | 4173 12 | 5305 13 | 5211 14 | 5565 15 | 5341 16 | 7084 17 | 5196 18 | 5032 19 | 5756 20 | 5549 21 | 5089 22 | 7241 23 | 4481 24 | 7036 25 | 4116 26 | 5308 27 | 5919 28 | 5501 29 | 4160 30 | 5158 31 | 4741 32 | 5395 33 | 3208 34 | 5527 35 | 5603 36 | 5349 37 | 4166 38 | 5099 39 | 5275 40 | 3263 41 | 5183 42 | 6029 43 | 4367 44 | 5315 45 | 4329 46 | 3280 47 | 3265 48 | 4183 49 | 5754 50 | 4742 51 | 5759 52 | 4344 53 | 4357 54 | 6027 55 | 5336 56 | 3769 57 | 5299 58 | 5317 59 | 5003 60 | 5723 61 | 4124 62 | 5324 63 | 3775 64 | 7247 65 | 4483 66 | 5210 67 | 7105 68 | 5197 69 | 6147 70 | 5194 71 | 3160 72 | 7037 73 | 4330 74 | 3288 75 | 7072 76 | 5558 77 | 7227 78 | 3209 79 | 6035 80 | 3184 81 | 5321 82 | 5218 83 | 5081 84 | 5345 85 | 5207 86 | 7018 87 | 7214 88 | 7066 89 | 3216 90 | 7088 91 | 7081 92 | 5359 93 | 3827 94 | 5295 95 | 3217 96 | 7170 97 | 5327 98 | 6053 99 | 5578 100 | 7021 101 | 3228 102 | 5174 103 | 3165 104 | 4491 105 | 5344 106 | 6042 107 | 5037 108 | 4722 109 | 5719 110 | 6022 111 | 6110 112 | 5611 113 | 5043 114 | 5066 115 | 6019 116 | 5747 117 | 4181 118 | 6108 119 | 7150 120 | 5369 121 | 5310 122 | 5195 123 | 5726 124 | 4089 125 | 4500 126 | 7109 127 | 7111 128 | 4504 129 | 7171 130 | 5382 131 | 3289 132 | 5019 133 | 5010 134 | 5164 135 | 5908 136 | 5350 137 | 6109 138 | 3829 139 | 3771 140 | 3221 141 | 6024 142 | 5901 143 | 3159 144 | 5760 145 | 7131 146 | 3212 147 | 5301 148 | 4525 149 | 6045 150 | 5150 151 | 5014 152 | 6028 153 | 7216 154 | 4208 155 | 5139 156 | 7225 157 | 4353 158 | 5059 159 | 4527 160 | 4492 161 | 4532 162 | 3206 163 | 4721 164 | 3239 165 | 5236 166 | 5378 167 | 3819 168 | 7138 169 | 6041 170 | 3259 171 | 4724 172 | 5773 173 | 5375 174 | 3760 175 | 7095 176 | 4090 177 | 5370 178 | 5237 179 | 3231 180 | 3151 181 | 5387 182 | 5204 183 | 4366 184 | 7232 185 | 5312 186 | 5512 187 | 5267 188 | 6013 189 | 5319 190 | 4730 191 | 6153 192 | 5292 193 | 6032 194 | 5610 195 | 3224 196 | 4529 197 | 7019 198 | 5040 199 | 5246 200 | 5503 201 | 5046 202 | 4340 203 | 5191 204 | 7108 205 | 5916 206 | 5013 207 | 5763 208 | 7151 209 | 4381 210 | 3190 211 | 4355 212 | 5721 213 | 5147 214 | 5537 215 | 4364 216 | 3852 217 | 5323 218 | 5389 219 | 5209 220 | 4378 221 | 5563 222 | 5508 223 | 5737 224 | 5075 225 | 5368 226 | 4194 227 | 7077 228 | 5294 229 | 4103 230 | 4192 231 | 3846 232 | 5534 233 | 4341 234 | 6133 235 | 5084 236 | 7022 237 | 6120 238 | 7159 239 | 5526 240 | 4533 241 | 7257 242 | 4365 243 | 5401 244 | 4182 245 | 5522 246 | 6043 247 | 5755 248 | 5170 249 | 4049 250 | 3162 251 | 5125 252 | 4345 253 | 5338 254 | 5529 255 | 4386 256 | 4167 257 | 5725 258 | 4739 259 | 3187 260 | 4088 261 | 7163 262 | 7175 263 | 5151 264 | 4493 265 | 5518 266 | 5273 267 | 5330 268 | 7071 269 | 5392 270 | 5104 271 | 5129 272 | 5020 273 | 3245 274 | 6054 275 | 3840 276 | 4524 277 | 4184 278 | 6126 279 | 4338 280 | 7280 281 | 5114 282 | 7288 283 | 5200 284 | 5082 285 | 3147 286 | 5530 287 | 7224 288 | 5118 289 | 7100 290 | 4384 291 | 3156 292 | 5352 293 | 4114 294 | 3237 295 | 5230 296 | 4531 297 | 5911 298 | 5383 299 | 7272 300 | 5347 301 | 5083 302 | 3148 303 | 5553 304 | 3761 305 | 5229 306 | 5602 307 | 5198 308 | 3189 309 | 3170 310 | 4342 311 | 3755 312 | 3236 313 | 4053 314 | 3767 315 | 4193 316 | 3181 317 | 5390 318 | 5918 319 | 5071 320 | 6020 321 | 7145 322 | 4488 323 | 3230 324 | 5746 325 | 5240 326 | 6026 327 | 5181 328 | 4358 329 | 5554 330 | 4530 331 | 5135 332 | 6051 333 | 5717 334 | 5504 335 | 4334 336 | 7064 337 | 5774 338 | 4052 339 | 4331 340 | 4526 341 | 5283 342 | 5169 343 | 3832 344 | 5110 345 | 5339 346 | 3152 347 | 5744 348 | 7059 349 | 5331 350 | 7274 351 | 6119 352 | 4374 353 | 7008 354 | 3776 355 | 5268 356 | 5247 357 | 6056 358 | 3772 359 | 5927 360 | 5030 361 | 3838 362 | 5225 363 | 5581 364 | 4178 365 | 3214 366 | 5734 367 | 5577 368 | 3145 369 | 3176 370 | 5353 371 | 7113 372 | 5044 373 | 5101 374 | 5309 375 | 5733 376 | 4496 377 | 5228 378 | 5524 379 | 4356 380 | 5167 381 | 4094 382 | 5502 383 | 5348 384 | 5514 385 | 3842 386 | 5579 387 | 5363 388 | 5902 389 | 5398 390 | 3816 391 | 6055 392 | 6105 393 | 5304 394 | 5391 395 | 5163 396 | 5253 397 | 7092 398 | 4169 399 | 7212 400 | 3246 401 | 3281 402 | 4095 403 | 7223 404 | 4205 405 | 5008 406 | 4377 407 | 5376 408 | 5342 409 | 6025 410 | 5201 411 | 4091 412 | 6052 413 | 3274 414 | 7078 415 | 3279 416 | 5155 417 | 6037 418 | 5393 419 | 4362 420 | 5086 421 | 3146 422 | 4206 423 | 7253 424 | 3166 425 | 7091 426 | 7009 427 | 5100 428 | 7157 429 | 5213 430 | 5550 431 | 5400 432 | 3313 433 | 7107 434 | 7222 435 | 7209 436 | 3300 437 | 3843 438 | 4387 439 | 5567 440 | 5509 441 | 3822 442 | 5186 443 | 3235 444 | 5116 445 | 4487 446 | 6016 447 | 4723 448 | 5123 449 | 3269 450 | 3171 451 | 7090 452 | 7130 453 | 5045 454 | 3758 455 | 3213 456 | 3144 457 | 5171 458 | 3241 459 | 7238 460 | 7075 461 | 7146 462 | 6017 463 | 7162 464 | 7010 465 | 7058 466 | 7057 467 | 5765 468 | 5905 469 | 4104 470 | 5535 471 | 5112 472 | 5199 473 | 3835 474 | 3154 475 | 7154 476 | 3207 477 | 3183 478 | 5560 479 | 4383 480 | 7165 481 | 5340 482 | 5233 483 | 5215 484 | 5354 485 | 5507 486 | 5039 487 | 6128 488 | 5379 489 | 5277 490 | 4484 491 | 7065 492 | 5601 493 | 3153 494 | 5364 495 | 5280 496 | 7005 497 | 5190 498 | 5556 499 | 3177 500 | 5238 501 | 5525 502 | 4110 503 | 6111 504 | 4522 505 | 4363 506 | 4352 507 | 7180 508 | 7259 509 | 5906 510 | 7256 511 | 5162 512 | 7233 513 | 5528 514 | 4174 515 | 5180 516 | 5130 517 | 7260 518 | 5047 519 | 3249 520 | 5505 521 | 7267 522 | 6007 523 | 7137 524 | 4717 525 | 5318 526 | 7246 527 | 7101 528 | 3266 529 | 5371 530 | 7147 531 | 5708 532 | 5161 533 | 5777 534 | 5055 535 | 6129 536 | 5346 537 | 3275 538 | 3243 539 | 5511 540 | 4520 541 | 4360 542 | 3817 543 | 7184 544 | 4121 545 | 7283 546 | 3844 547 | 5531 548 | 5279 549 | 7229 550 | 7178 551 | 5284 552 | 5226 553 | 6021 554 | 3824 555 | 5007 556 | 7004 557 | 5709 558 | 5216 559 | 3821 560 | 3849 561 | 3301 562 | 3833 563 | 7063 564 | 7035 565 | 5909 566 | 4162 567 | 3774 568 | 7186 569 | 4731 570 | 3298 571 | 5582 572 | 5562 573 | 6139 574 | 7236 575 | 6049 576 | 5187 577 | 3267 578 | 6006 579 | 5337 580 | 5366 581 | 3283 582 | 5552 583 | 5231 584 | 5770 585 | 5258 586 | 7067 587 | 7206 588 | 4519 589 | 5533 590 | 6014 591 | 5206 592 | 6012 593 | 4732 594 | 5254 595 | 4393 596 | 7293 597 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv/set3/train_10.txt: -------------------------------------------------------------------------------- 1 | 4105 2 | 6036 3 | 4157 4 | 6115 5 | 5715 6 | 4523 7 | 5159 8 | 7023 9 | 4156 10 | 5707 11 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/10/1/set1/test.txt: -------------------------------------------------------------------------------- 1 | 4105 2 | 6036 3 | 4157 4 | 6115 5 | 5715 6 | 4523 7 | 5159 8 | 7023 9 | 4156 10 | 5707 11 | 4173 12 | 5305 13 | 5211 14 | 5565 15 | 5341 16 | 7084 17 | 5196 18 | 5032 19 | 5756 20 | 5549 21 | 5089 22 | 7241 23 | 4481 24 | 7036 25 | 4116 26 | 5308 27 | 5919 28 | 5501 29 | 4160 30 | 5158 31 | 4741 32 | 5395 33 | 3208 34 | 5527 35 | 5603 36 | 5349 37 | 4166 38 | 5099 39 | 5275 40 | 3263 41 | 5183 42 | 6029 43 | 4367 44 | 5315 45 | 4329 46 | 3280 47 | 3265 48 | 4183 49 | 5754 50 | 4742 51 | 5759 52 | 4344 53 | 4357 54 | 6027 55 | 5336 56 | 3769 57 | 5299 58 | 5317 59 | 5003 60 | 5723 61 | 4124 62 | 5324 63 | 3775 64 | 7247 65 | 4483 66 | 5210 67 | 7105 68 | 5197 69 | 6147 70 | 5194 71 | 3160 72 | 7037 73 | 4330 74 | 3288 75 | 7072 76 | 5558 77 | 7227 78 | 3209 79 | 6035 80 | 3184 81 | 5321 82 | 5218 83 | 5081 84 | 5345 85 | 5207 86 | 7018 87 | 7214 88 | 7066 89 | 3216 90 | 7088 91 | 7081 92 | 5359 93 | 3827 94 | 5295 95 | 3217 96 | 7170 97 | 5327 98 | 6053 99 | 5578 100 | 7021 101 | 3228 102 | 5174 103 | 3165 104 | 4491 105 | 5344 106 | 6042 107 | 5037 108 | 4722 109 | 5719 110 | 6022 111 | 6110 112 | 5611 113 | 5043 114 | 5066 115 | 6019 116 | 5747 117 | 4181 118 | 6108 119 | 7150 120 | 5369 121 | 5310 122 | 5195 123 | 5726 124 | 4089 125 | 4500 126 | 7109 127 | 7111 128 | 4504 129 | 7171 130 | 5382 131 | 3289 132 | 5019 133 | 5010 134 | 5164 135 | 5908 136 | 5350 137 | 6109 138 | 3829 139 | 3771 140 | 3221 141 | 6024 142 | 5901 143 | 3159 144 | 5760 145 | 7131 146 | 3212 147 | 5301 148 | 4525 149 | 6045 150 | 5150 151 | 5014 152 | 6028 153 | 7216 154 | 4208 155 | 5139 156 | 7225 157 | 4353 158 | 5059 159 | 4527 160 | 4492 161 | 4532 162 | 3206 163 | 4721 164 | 3239 165 | 5236 166 | 5378 167 | 3819 168 | 7138 169 | 6041 170 | 3259 171 | 4724 172 | 5773 173 | 5375 174 | 3760 175 | 7095 176 | 4090 177 | 5370 178 | 5237 179 | 3231 180 | 3151 181 | 5387 182 | 5204 183 | 4366 184 | 7232 185 | 5312 186 | 5512 187 | 5267 188 | 6013 189 | 5319 190 | 4730 191 | 6153 192 | 5292 193 | 6032 194 | 5610 195 | 3224 196 | 4529 197 | 7019 198 | 5040 199 | 5246 200 | 5503 201 | 5046 202 | 4340 203 | 5191 204 | 7108 205 | 5916 206 | 5013 207 | 5763 208 | 7151 209 | 4381 210 | 3190 211 | 4355 212 | 5721 213 | 5147 214 | 5537 215 | 4364 216 | 3852 217 | 5323 218 | 5389 219 | 5209 220 | 4378 221 | 5563 222 | 5508 223 | 5737 224 | 5075 225 | 5368 226 | 4194 227 | 7077 228 | 5294 229 | 4103 230 | 4192 231 | 3846 232 | 5534 233 | 4341 234 | 6133 235 | 5084 236 | 7022 237 | 6120 238 | 7159 239 | 5526 240 | 4533 241 | 7257 242 | 4365 243 | 5401 244 | 4182 245 | 5522 246 | 6043 247 | 5755 248 | 5170 249 | 4049 250 | 3162 251 | 5125 252 | 4345 253 | 5338 254 | 5529 255 | 4386 256 | 4167 257 | 5725 258 | 4739 259 | 3187 260 | 4088 261 | 7163 262 | 7175 263 | 5151 264 | 4493 265 | 5518 266 | 5273 267 | 5330 268 | 7071 269 | 5392 270 | 5104 271 | 5129 272 | 5020 273 | 3245 274 | 6054 275 | 3840 276 | 4524 277 | 4184 278 | 6126 279 | 4338 280 | 7280 281 | 5114 282 | 7288 283 | 5200 284 | 5082 285 | 3147 286 | 5530 287 | 7224 288 | 5118 289 | 7100 290 | 4384 291 | 3156 292 | 5352 293 | 4114 294 | 3237 295 | 5230 296 | 4531 297 | 5911 298 | 5383 299 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/10/1/set1/train.txt: -------------------------------------------------------------------------------- 1 | 7236 2 | 3177 3 | 5245 4 | 3230 5 | 5187 6 | 5277 7 | 5086 8 | 5528 9 | 5758 10 | 5557 11 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/10/1/set2/test.txt: -------------------------------------------------------------------------------- 1 | 7272 2 | 5347 3 | 5083 4 | 3148 5 | 5553 6 | 3761 7 | 5229 8 | 5602 9 | 5198 10 | 3189 11 | 3170 12 | 4342 13 | 3755 14 | 3236 15 | 4053 16 | 3767 17 | 4193 18 | 3181 19 | 5390 20 | 5918 21 | 5071 22 | 6020 23 | 7145 24 | 4488 25 | 3230 26 | 5746 27 | 5240 28 | 6026 29 | 5181 30 | 4358 31 | 5554 32 | 4530 33 | 5135 34 | 6051 35 | 5717 36 | 5504 37 | 4334 38 | 7064 39 | 5774 40 | 4052 41 | 4331 42 | 4526 43 | 5283 44 | 5169 45 | 3832 46 | 5110 47 | 5339 48 | 3152 49 | 5744 50 | 7059 51 | 5331 52 | 7274 53 | 6119 54 | 4374 55 | 7008 56 | 3776 57 | 5268 58 | 5247 59 | 6056 60 | 3772 61 | 5927 62 | 5030 63 | 3838 64 | 5225 65 | 5581 66 | 4178 67 | 3214 68 | 5734 69 | 5577 70 | 3145 71 | 3176 72 | 5353 73 | 7113 74 | 5044 75 | 5101 76 | 5309 77 | 5733 78 | 4496 79 | 5228 80 | 5524 81 | 4356 82 | 5167 83 | 4094 84 | 5502 85 | 5348 86 | 5514 87 | 3842 88 | 5579 89 | 5363 90 | 5902 91 | 5398 92 | 3816 93 | 6055 94 | 6105 95 | 5304 96 | 5391 97 | 5163 98 | 5253 99 | 7092 100 | 4169 101 | 7212 102 | 3246 103 | 3281 104 | 4095 105 | 7223 106 | 4205 107 | 5008 108 | 4377 109 | 5376 110 | 5342 111 | 6025 112 | 5201 113 | 4091 114 | 6052 115 | 3274 116 | 7078 117 | 3279 118 | 5155 119 | 6037 120 | 5393 121 | 4362 122 | 5086 123 | 3146 124 | 4206 125 | 7253 126 | 3166 127 | 7091 128 | 7009 129 | 5100 130 | 7157 131 | 5213 132 | 5550 133 | 5400 134 | 3313 135 | 7107 136 | 7222 137 | 7209 138 | 3300 139 | 3843 140 | 4387 141 | 5567 142 | 5509 143 | 3822 144 | 5186 145 | 3235 146 | 5116 147 | 4487 148 | 6016 149 | 4723 150 | 5123 151 | 3269 152 | 3171 153 | 7090 154 | 7130 155 | 5045 156 | 3758 157 | 3213 158 | 3144 159 | 5171 160 | 3241 161 | 7238 162 | 7075 163 | 7146 164 | 6017 165 | 7162 166 | 7010 167 | 7058 168 | 7057 169 | 5765 170 | 5905 171 | 4104 172 | 5535 173 | 5112 174 | 5199 175 | 3835 176 | 3154 177 | 7154 178 | 3207 179 | 3183 180 | 5560 181 | 4383 182 | 7165 183 | 5340 184 | 5233 185 | 5215 186 | 5354 187 | 5507 188 | 5039 189 | 6128 190 | 5379 191 | 5277 192 | 4484 193 | 7065 194 | 5601 195 | 3153 196 | 5364 197 | 5280 198 | 7005 199 | 5190 200 | 5556 201 | 3177 202 | 5238 203 | 5525 204 | 4110 205 | 6111 206 | 4522 207 | 4363 208 | 4352 209 | 7180 210 | 7259 211 | 5906 212 | 7256 213 | 5162 214 | 7233 215 | 5528 216 | 4174 217 | 5180 218 | 5130 219 | 7260 220 | 5047 221 | 3249 222 | 5505 223 | 7267 224 | 6007 225 | 7137 226 | 4717 227 | 5318 228 | 7246 229 | 7101 230 | 3266 231 | 5371 232 | 7147 233 | 5708 234 | 5161 235 | 5777 236 | 5055 237 | 6129 238 | 5346 239 | 3275 240 | 3243 241 | 5511 242 | 4520 243 | 4360 244 | 3817 245 | 7184 246 | 4121 247 | 7283 248 | 3844 249 | 5531 250 | 5279 251 | 7229 252 | 7178 253 | 5284 254 | 5226 255 | 6021 256 | 3824 257 | 5007 258 | 7004 259 | 5709 260 | 5216 261 | 3821 262 | 3849 263 | 3301 264 | 3833 265 | 7063 266 | 7035 267 | 5909 268 | 4162 269 | 3774 270 | 7186 271 | 4731 272 | 3298 273 | 5582 274 | 5562 275 | 6139 276 | 7236 277 | 6049 278 | 5187 279 | 3267 280 | 6006 281 | 5337 282 | 5366 283 | 3283 284 | 5552 285 | 5231 286 | 5770 287 | 5258 288 | 7067 289 | 7206 290 | 4519 291 | 5533 292 | 6014 293 | 5206 294 | 6012 295 | 4732 296 | 5254 297 | 4393 298 | 7293 299 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/10/1/set2/train.txt: -------------------------------------------------------------------------------- 1 | 5506 2 | 3775 3 | 5402 4 | 5209 5 | 5160 6 | 4390 7 | 5195 8 | 3167 9 | 3229 10 | 7088 11 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/10/1/set3/test.txt: -------------------------------------------------------------------------------- 1 | 5126 2 | 7094 3 | 7189 4 | 7073 5 | 3830 6 | 5189 7 | 3828 8 | 5924 9 | 3751 10 | 3220 11 | 3297 12 | 5910 13 | 5242 14 | 7116 15 | 3271 16 | 5217 17 | 3763 18 | 7218 19 | 6044 20 | 3316 21 | 3227 22 | 5152 23 | 4175 24 | 7055 25 | 5320 26 | 4505 27 | 4113 28 | 6144 29 | 4100 30 | 3753 31 | 4172 32 | 5188 33 | 4359 34 | 7125 35 | 7275 36 | 4376 37 | 5920 38 | 3185 39 | 4123 40 | 7126 41 | 4097 42 | 7106 43 | 3834 44 | 3770 45 | 7024 46 | 3825 47 | 4503 48 | 5705 49 | 5710 50 | 3172 51 | 6116 52 | 4096 53 | 5205 54 | 4111 55 | 7286 56 | 5925 57 | 7219 58 | 4177 59 | 3164 60 | 3188 61 | 4502 62 | 3752 63 | 7155 64 | 7054 65 | 3240 66 | 7098 67 | 4054 68 | 7266 69 | 5557 70 | 4713 71 | 4507 72 | 4718 73 | 5303 74 | 5741 75 | 6009 76 | 4518 77 | 4508 78 | 5119 79 | 3168 80 | 7085 81 | 5224 82 | 4715 83 | 5259 84 | 6132 85 | 5260 86 | 3314 87 | 3191 88 | 7161 89 | 3196 90 | 5555 91 | 7289 92 | 5351 93 | 5245 94 | 4388 95 | 7134 96 | 7135 97 | 7284 98 | 4354 99 | 6152 100 | 5176 101 | 5103 102 | 6112 103 | 4375 104 | 3169 105 | 5559 106 | 7062 107 | 5381 108 | 5758 109 | 6154 110 | 6145 111 | 3244 112 | 5287 113 | 5182 114 | 7169 115 | 7173 116 | 5285 117 | 5250 118 | 7061 119 | 7205 120 | 5235 121 | 5566 122 | 4497 123 | 3204 124 | 3260 125 | 4719 126 | 5361 127 | 3831 128 | 3845 129 | 5580 130 | 4170 131 | 5701 132 | 5702 133 | 6023 134 | 7020 135 | 5202 136 | 5728 137 | 5394 138 | 3809 139 | 4117 140 | 4480 141 | 5536 142 | 5399 143 | 5307 144 | 4335 145 | 4494 146 | 3142 147 | 5360 148 | 5355 149 | 5564 150 | 5282 151 | 5058 152 | 5386 153 | 3210 154 | 5313 155 | 4479 156 | 5291 157 | 7273 158 | 3836 159 | 3272 160 | 4195 161 | 7287 162 | 3773 163 | 5714 164 | 7076 165 | 5743 166 | 3167 167 | 7251 168 | 3143 169 | 6039 170 | 6050 171 | 3173 172 | 5600 173 | 5049 174 | 7269 175 | 4521 176 | 5314 177 | 5769 178 | 7056 179 | 5506 180 | 3276 181 | 5727 182 | 5261 183 | 5703 184 | 5402 185 | 5900 186 | 4390 187 | 5296 188 | 5520 189 | 4385 190 | 7166 191 | 5519 192 | 5300 193 | 6046 194 | 3205 195 | 5094 196 | 5241 197 | 5523 198 | 5706 199 | 4490 200 | 7264 201 | 6008 202 | 3270 203 | 7183 204 | 5244 205 | 5222 206 | 5332 207 | 3226 208 | 7210 209 | 5532 210 | 7172 211 | 5922 212 | 4161 213 | 3296 214 | 5609 215 | 5257 216 | 5716 217 | 3273 218 | 5735 219 | 5745 220 | 5311 221 | 5513 222 | 4740 223 | 5274 224 | 5271 225 | 5365 226 | 7237 227 | 3186 228 | 6150 229 | 5113 230 | 3754 231 | 3277 232 | 5397 233 | 3150 234 | 3818 235 | 7263 236 | 4729 237 | 5096 238 | 3161 239 | 5251 240 | 7118 241 | 6038 242 | 4716 243 | 7006 244 | 3837 245 | 7060 246 | 5923 247 | 3715 248 | 5396 249 | 5914 250 | 5249 251 | 5092 252 | 5322 253 | 7176 254 | 4209 255 | 6057 256 | 3759 257 | 5023 258 | 3229 259 | 4380 260 | 4482 261 | 5915 262 | 4528 263 | 5561 264 | 5290 265 | 3256 266 | 5278 267 | 5583 268 | 5286 269 | 5718 270 | 3174 271 | 7086 272 | 4389 273 | 3157 274 | 7277 275 | 6018 276 | 5298 277 | 5208 278 | 7201 279 | 7102 280 | 7252 281 | 3175 282 | 5127 283 | 7235 284 | 3757 285 | 7167 286 | 5031 287 | 4101 288 | 6034 289 | 5517 290 | 3823 291 | 7110 292 | 5729 293 | 7279 294 | 5256 295 | 5306 296 | 3182 297 | 4093 298 | 7245 299 | 5160 300 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/10/1/set3/train.txt: -------------------------------------------------------------------------------- 1 | 5556 2 | 5363 3 | 4182 4 | 6007 5 | 4487 6 | 5390 7 | 5195 8 | 7232 9 | 7081 10 | 3231 11 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/10/2/set1/test.txt: -------------------------------------------------------------------------------- 1 | 4105 2 | 6036 3 | 4157 4 | 6115 5 | 5715 6 | 4523 7 | 5159 8 | 7023 9 | 4156 10 | 5707 11 | 4173 12 | 5305 13 | 5211 14 | 5565 15 | 5341 16 | 7084 17 | 5196 18 | 5032 19 | 5756 20 | 5549 21 | 5089 22 | 7241 23 | 4481 24 | 7036 25 | 4116 26 | 5308 27 | 5919 28 | 5501 29 | 4160 30 | 5158 31 | 4741 32 | 5395 33 | 3208 34 | 5527 35 | 5603 36 | 5349 37 | 4166 38 | 5099 39 | 5275 40 | 3263 41 | 5183 42 | 6029 43 | 4367 44 | 5315 45 | 4329 46 | 3280 47 | 3265 48 | 4183 49 | 5754 50 | 4742 51 | 5759 52 | 4344 53 | 4357 54 | 6027 55 | 5336 56 | 3769 57 | 5299 58 | 5317 59 | 5003 60 | 5723 61 | 4124 62 | 5324 63 | 3775 64 | 7247 65 | 4483 66 | 5210 67 | 7105 68 | 5197 69 | 6147 70 | 5194 71 | 3160 72 | 7037 73 | 4330 74 | 3288 75 | 7072 76 | 5558 77 | 7227 78 | 3209 79 | 6035 80 | 3184 81 | 5321 82 | 5218 83 | 5081 84 | 5345 85 | 5207 86 | 7018 87 | 7214 88 | 7066 89 | 3216 90 | 7088 91 | 7081 92 | 5359 93 | 3827 94 | 5295 95 | 3217 96 | 7170 97 | 5327 98 | 6053 99 | 5578 100 | 7021 101 | 3228 102 | 5174 103 | 3165 104 | 4491 105 | 5344 106 | 6042 107 | 5037 108 | 4722 109 | 5719 110 | 6022 111 | 6110 112 | 5611 113 | 5043 114 | 5066 115 | 6019 116 | 5747 117 | 4181 118 | 6108 119 | 7150 120 | 5369 121 | 5310 122 | 5195 123 | 5726 124 | 4089 125 | 4500 126 | 7109 127 | 7111 128 | 4504 129 | 7171 130 | 5382 131 | 3289 132 | 5019 133 | 5010 134 | 5164 135 | 5908 136 | 5350 137 | 6109 138 | 3829 139 | 3771 140 | 3221 141 | 6024 142 | 5901 143 | 3159 144 | 5760 145 | 7131 146 | 3212 147 | 5301 148 | 4525 149 | 6045 150 | 5150 151 | 5014 152 | 6028 153 | 7216 154 | 4208 155 | 5139 156 | 7225 157 | 4353 158 | 5059 159 | 4527 160 | 4492 161 | 4532 162 | 3206 163 | 4721 164 | 3239 165 | 5236 166 | 5378 167 | 3819 168 | 7138 169 | 6041 170 | 3259 171 | 4724 172 | 5773 173 | 5375 174 | 3760 175 | 7095 176 | 4090 177 | 5370 178 | 5237 179 | 3231 180 | 3151 181 | 5387 182 | 5204 183 | 4366 184 | 7232 185 | 5312 186 | 5512 187 | 5267 188 | 6013 189 | 5319 190 | 4730 191 | 6153 192 | 5292 193 | 6032 194 | 5610 195 | 3224 196 | 4529 197 | 7019 198 | 5040 199 | 5246 200 | 5503 201 | 5046 202 | 4340 203 | 5191 204 | 7108 205 | 5916 206 | 5013 207 | 5763 208 | 7151 209 | 4381 210 | 3190 211 | 4355 212 | 5721 213 | 5147 214 | 5537 215 | 4364 216 | 3852 217 | 5323 218 | 5389 219 | 5209 220 | 4378 221 | 5563 222 | 5508 223 | 5737 224 | 5075 225 | 5368 226 | 4194 227 | 7077 228 | 5294 229 | 4103 230 | 4192 231 | 3846 232 | 5534 233 | 4341 234 | 6133 235 | 5084 236 | 7022 237 | 6120 238 | 7159 239 | 5526 240 | 4533 241 | 7257 242 | 4365 243 | 5401 244 | 4182 245 | 5522 246 | 6043 247 | 5755 248 | 5170 249 | 4049 250 | 3162 251 | 5125 252 | 4345 253 | 5338 254 | 5529 255 | 4386 256 | 4167 257 | 5725 258 | 4739 259 | 3187 260 | 4088 261 | 7163 262 | 7175 263 | 5151 264 | 4493 265 | 5518 266 | 5273 267 | 5330 268 | 7071 269 | 5392 270 | 5104 271 | 5129 272 | 5020 273 | 3245 274 | 6054 275 | 3840 276 | 4524 277 | 4184 278 | 6126 279 | 4338 280 | 7280 281 | 5114 282 | 7288 283 | 5200 284 | 5082 285 | 3147 286 | 5530 287 | 7224 288 | 5118 289 | 7100 290 | 4384 291 | 3156 292 | 5352 293 | 4114 294 | 3237 295 | 5230 296 | 4531 297 | 5911 298 | 5383 299 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/10/2/set1/train.txt: -------------------------------------------------------------------------------- 1 | 3175 2 | 4731 3 | 5381 4 | 3301 5 | 7055 6 | 4334 7 | 3838 8 | 5915 9 | 5030 10 | 3774 11 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/10/2/set2/test.txt: -------------------------------------------------------------------------------- 1 | 7272 2 | 5347 3 | 5083 4 | 3148 5 | 5553 6 | 3761 7 | 5229 8 | 5602 9 | 5198 10 | 3189 11 | 3170 12 | 4342 13 | 3755 14 | 3236 15 | 4053 16 | 3767 17 | 4193 18 | 3181 19 | 5390 20 | 5918 21 | 5071 22 | 6020 23 | 7145 24 | 4488 25 | 3230 26 | 5746 27 | 5240 28 | 6026 29 | 5181 30 | 4358 31 | 5554 32 | 4530 33 | 5135 34 | 6051 35 | 5717 36 | 5504 37 | 4334 38 | 7064 39 | 5774 40 | 4052 41 | 4331 42 | 4526 43 | 5283 44 | 5169 45 | 3832 46 | 5110 47 | 5339 48 | 3152 49 | 5744 50 | 7059 51 | 5331 52 | 7274 53 | 6119 54 | 4374 55 | 7008 56 | 3776 57 | 5268 58 | 5247 59 | 6056 60 | 3772 61 | 5927 62 | 5030 63 | 3838 64 | 5225 65 | 5581 66 | 4178 67 | 3214 68 | 5734 69 | 5577 70 | 3145 71 | 3176 72 | 5353 73 | 7113 74 | 5044 75 | 5101 76 | 5309 77 | 5733 78 | 4496 79 | 5228 80 | 5524 81 | 4356 82 | 5167 83 | 4094 84 | 5502 85 | 5348 86 | 5514 87 | 3842 88 | 5579 89 | 5363 90 | 5902 91 | 5398 92 | 3816 93 | 6055 94 | 6105 95 | 5304 96 | 5391 97 | 5163 98 | 5253 99 | 7092 100 | 4169 101 | 7212 102 | 3246 103 | 3281 104 | 4095 105 | 7223 106 | 4205 107 | 5008 108 | 4377 109 | 5376 110 | 5342 111 | 6025 112 | 5201 113 | 4091 114 | 6052 115 | 3274 116 | 7078 117 | 3279 118 | 5155 119 | 6037 120 | 5393 121 | 4362 122 | 5086 123 | 3146 124 | 4206 125 | 7253 126 | 3166 127 | 7091 128 | 7009 129 | 5100 130 | 7157 131 | 5213 132 | 5550 133 | 5400 134 | 3313 135 | 7107 136 | 7222 137 | 7209 138 | 3300 139 | 3843 140 | 4387 141 | 5567 142 | 5509 143 | 3822 144 | 5186 145 | 3235 146 | 5116 147 | 4487 148 | 6016 149 | 4723 150 | 5123 151 | 3269 152 | 3171 153 | 7090 154 | 7130 155 | 5045 156 | 3758 157 | 3213 158 | 3144 159 | 5171 160 | 3241 161 | 7238 162 | 7075 163 | 7146 164 | 6017 165 | 7162 166 | 7010 167 | 7058 168 | 7057 169 | 5765 170 | 5905 171 | 4104 172 | 5535 173 | 5112 174 | 5199 175 | 3835 176 | 3154 177 | 7154 178 | 3207 179 | 3183 180 | 5560 181 | 4383 182 | 7165 183 | 5340 184 | 5233 185 | 5215 186 | 5354 187 | 5507 188 | 5039 189 | 6128 190 | 5379 191 | 5277 192 | 4484 193 | 7065 194 | 5601 195 | 3153 196 | 5364 197 | 5280 198 | 7005 199 | 5190 200 | 5556 201 | 3177 202 | 5238 203 | 5525 204 | 4110 205 | 6111 206 | 4522 207 | 4363 208 | 4352 209 | 7180 210 | 7259 211 | 5906 212 | 7256 213 | 5162 214 | 7233 215 | 5528 216 | 4174 217 | 5180 218 | 5130 219 | 7260 220 | 5047 221 | 3249 222 | 5505 223 | 7267 224 | 6007 225 | 7137 226 | 4717 227 | 5318 228 | 7246 229 | 7101 230 | 3266 231 | 5371 232 | 7147 233 | 5708 234 | 5161 235 | 5777 236 | 5055 237 | 6129 238 | 5346 239 | 3275 240 | 3243 241 | 5511 242 | 4520 243 | 4360 244 | 3817 245 | 7184 246 | 4121 247 | 7283 248 | 3844 249 | 5531 250 | 5279 251 | 7229 252 | 7178 253 | 5284 254 | 5226 255 | 6021 256 | 3824 257 | 5007 258 | 7004 259 | 5709 260 | 5216 261 | 3821 262 | 3849 263 | 3301 264 | 3833 265 | 7063 266 | 7035 267 | 5909 268 | 4162 269 | 3774 270 | 7186 271 | 4731 272 | 3298 273 | 5582 274 | 5562 275 | 6139 276 | 7236 277 | 6049 278 | 5187 279 | 3267 280 | 6006 281 | 5337 282 | 5366 283 | 3283 284 | 5552 285 | 5231 286 | 5770 287 | 5258 288 | 7067 289 | 7206 290 | 4519 291 | 5533 292 | 6014 293 | 5206 294 | 6012 295 | 4732 296 | 5254 297 | 4393 298 | 7293 299 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/10/2/set2/train.txt: -------------------------------------------------------------------------------- 1 | 7020 2 | 5763 3 | 4366 4 | 5503 5 | 5298 6 | 7247 7 | 7102 8 | 7241 9 | 7018 10 | 3770 11 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/10/2/set3/test.txt: -------------------------------------------------------------------------------- 1 | 5126 2 | 7094 3 | 7189 4 | 7073 5 | 3830 6 | 5189 7 | 3828 8 | 5924 9 | 3751 10 | 3220 11 | 3297 12 | 5910 13 | 5242 14 | 7116 15 | 3271 16 | 5217 17 | 3763 18 | 7218 19 | 6044 20 | 3316 21 | 3227 22 | 5152 23 | 4175 24 | 7055 25 | 5320 26 | 4505 27 | 4113 28 | 6144 29 | 4100 30 | 3753 31 | 4172 32 | 5188 33 | 4359 34 | 7125 35 | 7275 36 | 4376 37 | 5920 38 | 3185 39 | 4123 40 | 7126 41 | 4097 42 | 7106 43 | 3834 44 | 3770 45 | 7024 46 | 3825 47 | 4503 48 | 5705 49 | 5710 50 | 3172 51 | 6116 52 | 4096 53 | 5205 54 | 4111 55 | 7286 56 | 5925 57 | 7219 58 | 4177 59 | 3164 60 | 3188 61 | 4502 62 | 3752 63 | 7155 64 | 7054 65 | 3240 66 | 7098 67 | 4054 68 | 7266 69 | 5557 70 | 4713 71 | 4507 72 | 4718 73 | 5303 74 | 5741 75 | 6009 76 | 4518 77 | 4508 78 | 5119 79 | 3168 80 | 7085 81 | 5224 82 | 4715 83 | 5259 84 | 6132 85 | 5260 86 | 3314 87 | 3191 88 | 7161 89 | 3196 90 | 5555 91 | 7289 92 | 5351 93 | 5245 94 | 4388 95 | 7134 96 | 7135 97 | 7284 98 | 4354 99 | 6152 100 | 5176 101 | 5103 102 | 6112 103 | 4375 104 | 3169 105 | 5559 106 | 7062 107 | 5381 108 | 5758 109 | 6154 110 | 6145 111 | 3244 112 | 5287 113 | 5182 114 | 7169 115 | 7173 116 | 5285 117 | 5250 118 | 7061 119 | 7205 120 | 5235 121 | 5566 122 | 4497 123 | 3204 124 | 3260 125 | 4719 126 | 5361 127 | 3831 128 | 3845 129 | 5580 130 | 4170 131 | 5701 132 | 5702 133 | 6023 134 | 7020 135 | 5202 136 | 5728 137 | 5394 138 | 3809 139 | 4117 140 | 4480 141 | 5536 142 | 5399 143 | 5307 144 | 4335 145 | 4494 146 | 3142 147 | 5360 148 | 5355 149 | 5564 150 | 5282 151 | 5058 152 | 5386 153 | 3210 154 | 5313 155 | 4479 156 | 5291 157 | 7273 158 | 3836 159 | 3272 160 | 4195 161 | 7287 162 | 3773 163 | 5714 164 | 7076 165 | 5743 166 | 3167 167 | 7251 168 | 3143 169 | 6039 170 | 6050 171 | 3173 172 | 5600 173 | 5049 174 | 7269 175 | 4521 176 | 5314 177 | 5769 178 | 7056 179 | 5506 180 | 3276 181 | 5727 182 | 5261 183 | 5703 184 | 5402 185 | 5900 186 | 4390 187 | 5296 188 | 5520 189 | 4385 190 | 7166 191 | 5519 192 | 5300 193 | 6046 194 | 3205 195 | 5094 196 | 5241 197 | 5523 198 | 5706 199 | 4490 200 | 7264 201 | 6008 202 | 3270 203 | 7183 204 | 5244 205 | 5222 206 | 5332 207 | 3226 208 | 7210 209 | 5532 210 | 7172 211 | 5922 212 | 4161 213 | 3296 214 | 5609 215 | 5257 216 | 5716 217 | 3273 218 | 5735 219 | 5745 220 | 5311 221 | 5513 222 | 4740 223 | 5274 224 | 5271 225 | 5365 226 | 7237 227 | 3186 228 | 6150 229 | 5113 230 | 3754 231 | 3277 232 | 5397 233 | 3150 234 | 3818 235 | 7263 236 | 4729 237 | 5096 238 | 3161 239 | 5251 240 | 7118 241 | 6038 242 | 4716 243 | 7006 244 | 3837 245 | 7060 246 | 5923 247 | 3715 248 | 5396 249 | 5914 250 | 5249 251 | 5092 252 | 5322 253 | 7176 254 | 4209 255 | 6057 256 | 3759 257 | 5023 258 | 3229 259 | 4380 260 | 4482 261 | 5915 262 | 4528 263 | 5561 264 | 5290 265 | 3256 266 | 5278 267 | 5583 268 | 5286 269 | 5718 270 | 3174 271 | 7086 272 | 4389 273 | 3157 274 | 7277 275 | 6018 276 | 5298 277 | 5208 278 | 7201 279 | 7102 280 | 7252 281 | 3175 282 | 5127 283 | 7235 284 | 3757 285 | 7167 286 | 5031 287 | 4101 288 | 6034 289 | 5517 290 | 3823 291 | 7110 292 | 5729 293 | 7279 294 | 5256 295 | 5306 296 | 3182 297 | 4093 298 | 7245 299 | 5160 300 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/10/2/set3/train.txt: -------------------------------------------------------------------------------- 1 | 7260 2 | 5020 3 | 4732 4 | 3758 5 | 7091 6 | 7147 7 | 7063 8 | 5525 9 | 4088 10 | 5309 11 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/100/1/set1/test.txt: -------------------------------------------------------------------------------- 1 | 4105 2 | 6036 3 | 4157 4 | 6115 5 | 5715 6 | 4523 7 | 5159 8 | 7023 9 | 4156 10 | 5707 11 | 4173 12 | 5305 13 | 5211 14 | 5565 15 | 5341 16 | 7084 17 | 5196 18 | 5032 19 | 5756 20 | 5549 21 | 5089 22 | 7241 23 | 4481 24 | 7036 25 | 4116 26 | 5308 27 | 5919 28 | 5501 29 | 4160 30 | 5158 31 | 4741 32 | 5395 33 | 3208 34 | 5527 35 | 5603 36 | 5349 37 | 4166 38 | 5099 39 | 5275 40 | 3263 41 | 5183 42 | 6029 43 | 4367 44 | 5315 45 | 4329 46 | 3280 47 | 3265 48 | 4183 49 | 5754 50 | 4742 51 | 5759 52 | 4344 53 | 4357 54 | 6027 55 | 5336 56 | 3769 57 | 5299 58 | 5317 59 | 5003 60 | 5723 61 | 4124 62 | 5324 63 | 3775 64 | 7247 65 | 4483 66 | 5210 67 | 7105 68 | 5197 69 | 6147 70 | 5194 71 | 3160 72 | 7037 73 | 4330 74 | 3288 75 | 7072 76 | 5558 77 | 7227 78 | 3209 79 | 6035 80 | 3184 81 | 5321 82 | 5218 83 | 5081 84 | 5345 85 | 5207 86 | 7018 87 | 7214 88 | 7066 89 | 3216 90 | 7088 91 | 7081 92 | 5359 93 | 3827 94 | 5295 95 | 3217 96 | 7170 97 | 5327 98 | 6053 99 | 5578 100 | 7021 101 | 3228 102 | 5174 103 | 3165 104 | 4491 105 | 5344 106 | 6042 107 | 5037 108 | 4722 109 | 5719 110 | 6022 111 | 6110 112 | 5611 113 | 5043 114 | 5066 115 | 6019 116 | 5747 117 | 4181 118 | 6108 119 | 7150 120 | 5369 121 | 5310 122 | 5195 123 | 5726 124 | 4089 125 | 4500 126 | 7109 127 | 7111 128 | 4504 129 | 7171 130 | 5382 131 | 3289 132 | 5019 133 | 5010 134 | 5164 135 | 5908 136 | 5350 137 | 6109 138 | 3829 139 | 3771 140 | 3221 141 | 6024 142 | 5901 143 | 3159 144 | 5760 145 | 7131 146 | 3212 147 | 5301 148 | 4525 149 | 6045 150 | 5150 151 | 5014 152 | 6028 153 | 7216 154 | 4208 155 | 5139 156 | 7225 157 | 4353 158 | 5059 159 | 4527 160 | 4492 161 | 4532 162 | 3206 163 | 4721 164 | 3239 165 | 5236 166 | 5378 167 | 3819 168 | 7138 169 | 6041 170 | 3259 171 | 4724 172 | 5773 173 | 5375 174 | 3760 175 | 7095 176 | 4090 177 | 5370 178 | 5237 179 | 3231 180 | 3151 181 | 5387 182 | 5204 183 | 4366 184 | 7232 185 | 5312 186 | 5512 187 | 5267 188 | 6013 189 | 5319 190 | 4730 191 | 6153 192 | 5292 193 | 6032 194 | 5610 195 | 3224 196 | 4529 197 | 7019 198 | 5040 199 | 5246 200 | 5503 201 | 5046 202 | 4340 203 | 5191 204 | 7108 205 | 5916 206 | 5013 207 | 5763 208 | 7151 209 | 4381 210 | 3190 211 | 4355 212 | 5721 213 | 5147 214 | 5537 215 | 4364 216 | 3852 217 | 5323 218 | 5389 219 | 5209 220 | 4378 221 | 5563 222 | 5508 223 | 5737 224 | 5075 225 | 5368 226 | 4194 227 | 7077 228 | 5294 229 | 4103 230 | 4192 231 | 3846 232 | 5534 233 | 4341 234 | 6133 235 | 5084 236 | 7022 237 | 6120 238 | 7159 239 | 5526 240 | 4533 241 | 7257 242 | 4365 243 | 5401 244 | 4182 245 | 5522 246 | 6043 247 | 5755 248 | 5170 249 | 4049 250 | 3162 251 | 5125 252 | 4345 253 | 5338 254 | 5529 255 | 4386 256 | 4167 257 | 5725 258 | 4739 259 | 3187 260 | 4088 261 | 7163 262 | 7175 263 | 5151 264 | 4493 265 | 5518 266 | 5273 267 | 5330 268 | 7071 269 | 5392 270 | 5104 271 | 5129 272 | 5020 273 | 3245 274 | 6054 275 | 3840 276 | 4524 277 | 4184 278 | 6126 279 | 4338 280 | 7280 281 | 5114 282 | 7288 283 | 5200 284 | 5082 285 | 3147 286 | 5530 287 | 7224 288 | 5118 289 | 7100 290 | 4384 291 | 3156 292 | 5352 293 | 4114 294 | 3237 295 | 5230 296 | 4531 297 | 5911 298 | 5383 299 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/100/1/set1/train.txt: -------------------------------------------------------------------------------- 1 | 3181 2 | 5703 3 | 5217 4 | 5277 5 | 5123 6 | 5282 7 | 5199 8 | 4389 9 | 5284 10 | 5101 11 | 5727 12 | 7165 13 | 5365 14 | 3146 15 | 7237 16 | 5386 17 | 3759 18 | 4732 19 | 3164 20 | 6009 21 | 5900 22 | 4376 23 | 5777 24 | 5233 25 | 5346 26 | 3170 27 | 5187 28 | 3182 29 | 3823 30 | 3313 31 | 3845 32 | 5528 33 | 5347 34 | 5309 35 | 5710 36 | 3207 37 | 7062 38 | 5557 39 | 6105 40 | 7256 41 | 5271 42 | 5031 43 | 5399 44 | 6112 45 | 3752 46 | 4342 47 | 7186 48 | 6051 49 | 4162 50 | 5249 51 | 4178 52 | 5602 53 | 3283 54 | 5229 55 | 5909 56 | 5208 57 | 3168 58 | 5155 59 | 6016 60 | 3818 61 | 3773 62 | 5924 63 | 7183 64 | 4121 65 | 4091 66 | 5291 67 | 7059 68 | 3169 69 | 7274 70 | 7106 71 | 4390 72 | 5393 73 | 7076 74 | 5160 75 | 5306 76 | 7267 77 | 3205 78 | 5351 79 | 7054 80 | 5257 81 | 4161 82 | 4719 83 | 4054 84 | 4488 85 | 5318 86 | 5566 87 | 5161 88 | 5505 89 | 5044 90 | 5311 91 | 4377 92 | 5086 93 | 3831 94 | 4362 95 | 5535 96 | 3271 97 | 6021 98 | 5583 99 | 7212 100 | 3825 101 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/100/1/set2/test.txt: -------------------------------------------------------------------------------- 1 | 7272 2 | 5347 3 | 5083 4 | 3148 5 | 5553 6 | 3761 7 | 5229 8 | 5602 9 | 5198 10 | 3189 11 | 3170 12 | 4342 13 | 3755 14 | 3236 15 | 4053 16 | 3767 17 | 4193 18 | 3181 19 | 5390 20 | 5918 21 | 5071 22 | 6020 23 | 7145 24 | 4488 25 | 3230 26 | 5746 27 | 5240 28 | 6026 29 | 5181 30 | 4358 31 | 5554 32 | 4530 33 | 5135 34 | 6051 35 | 5717 36 | 5504 37 | 4334 38 | 7064 39 | 5774 40 | 4052 41 | 4331 42 | 4526 43 | 5283 44 | 5169 45 | 3832 46 | 5110 47 | 5339 48 | 3152 49 | 5744 50 | 7059 51 | 5331 52 | 7274 53 | 6119 54 | 4374 55 | 7008 56 | 3776 57 | 5268 58 | 5247 59 | 6056 60 | 3772 61 | 5927 62 | 5030 63 | 3838 64 | 5225 65 | 5581 66 | 4178 67 | 3214 68 | 5734 69 | 5577 70 | 3145 71 | 3176 72 | 5353 73 | 7113 74 | 5044 75 | 5101 76 | 5309 77 | 5733 78 | 4496 79 | 5228 80 | 5524 81 | 4356 82 | 5167 83 | 4094 84 | 5502 85 | 5348 86 | 5514 87 | 3842 88 | 5579 89 | 5363 90 | 5902 91 | 5398 92 | 3816 93 | 6055 94 | 6105 95 | 5304 96 | 5391 97 | 5163 98 | 5253 99 | 7092 100 | 4169 101 | 7212 102 | 3246 103 | 3281 104 | 4095 105 | 7223 106 | 4205 107 | 5008 108 | 4377 109 | 5376 110 | 5342 111 | 6025 112 | 5201 113 | 4091 114 | 6052 115 | 3274 116 | 7078 117 | 3279 118 | 5155 119 | 6037 120 | 5393 121 | 4362 122 | 5086 123 | 3146 124 | 4206 125 | 7253 126 | 3166 127 | 7091 128 | 7009 129 | 5100 130 | 7157 131 | 5213 132 | 5550 133 | 5400 134 | 3313 135 | 7107 136 | 7222 137 | 7209 138 | 3300 139 | 3843 140 | 4387 141 | 5567 142 | 5509 143 | 3822 144 | 5186 145 | 3235 146 | 5116 147 | 4487 148 | 6016 149 | 4723 150 | 5123 151 | 3269 152 | 3171 153 | 7090 154 | 7130 155 | 5045 156 | 3758 157 | 3213 158 | 3144 159 | 5171 160 | 3241 161 | 7238 162 | 7075 163 | 7146 164 | 6017 165 | 7162 166 | 7010 167 | 7058 168 | 7057 169 | 5765 170 | 5905 171 | 4104 172 | 5535 173 | 5112 174 | 5199 175 | 3835 176 | 3154 177 | 7154 178 | 3207 179 | 3183 180 | 5560 181 | 4383 182 | 7165 183 | 5340 184 | 5233 185 | 5215 186 | 5354 187 | 5507 188 | 5039 189 | 6128 190 | 5379 191 | 5277 192 | 4484 193 | 7065 194 | 5601 195 | 3153 196 | 5364 197 | 5280 198 | 7005 199 | 5190 200 | 5556 201 | 3177 202 | 5238 203 | 5525 204 | 4110 205 | 6111 206 | 4522 207 | 4363 208 | 4352 209 | 7180 210 | 7259 211 | 5906 212 | 7256 213 | 5162 214 | 7233 215 | 5528 216 | 4174 217 | 5180 218 | 5130 219 | 7260 220 | 5047 221 | 3249 222 | 5505 223 | 7267 224 | 6007 225 | 7137 226 | 4717 227 | 5318 228 | 7246 229 | 7101 230 | 3266 231 | 5371 232 | 7147 233 | 5708 234 | 5161 235 | 5777 236 | 5055 237 | 6129 238 | 5346 239 | 3275 240 | 3243 241 | 5511 242 | 4520 243 | 4360 244 | 3817 245 | 7184 246 | 4121 247 | 7283 248 | 3844 249 | 5531 250 | 5279 251 | 7229 252 | 7178 253 | 5284 254 | 5226 255 | 6021 256 | 3824 257 | 5007 258 | 7004 259 | 5709 260 | 5216 261 | 3821 262 | 3849 263 | 3301 264 | 3833 265 | 7063 266 | 7035 267 | 5909 268 | 4162 269 | 3774 270 | 7186 271 | 4731 272 | 3298 273 | 5582 274 | 5562 275 | 6139 276 | 7236 277 | 6049 278 | 5187 279 | 3267 280 | 6006 281 | 5337 282 | 5366 283 | 3283 284 | 5552 285 | 5231 286 | 5770 287 | 5258 288 | 7067 289 | 7206 290 | 4519 291 | 5533 292 | 6014 293 | 5206 294 | 6012 295 | 4732 296 | 5254 297 | 4393 298 | 7293 299 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/100/1/set2/train.txt: -------------------------------------------------------------------------------- 1 | 5359 2 | 4184 3 | 6132 4 | 5314 5 | 5291 6 | 5336 7 | 3185 8 | 6045 9 | 7175 10 | 7086 11 | 7225 12 | 3245 13 | 7134 14 | 4354 15 | 5758 16 | 5396 17 | 3757 18 | 5707 19 | 5160 20 | 3754 21 | 5726 22 | 7257 23 | 6153 24 | 7072 25 | 3760 26 | 7066 27 | 5139 28 | 5259 29 | 5049 30 | 4160 31 | 4480 32 | 7131 33 | 6053 34 | 5267 35 | 7073 36 | 7077 37 | 5210 38 | 5394 39 | 5600 40 | 5369 41 | 4181 42 | 7284 43 | 6150 44 | 7286 45 | 7056 46 | 7098 47 | 5013 48 | 5295 49 | 4730 50 | 5392 51 | 3221 52 | 4341 53 | 4194 54 | 6147 55 | 5217 56 | 5292 57 | 5150 58 | 5721 59 | 4507 60 | 3226 61 | 5378 62 | 5196 63 | 7095 64 | 4156 65 | 5332 66 | 7111 67 | 5327 68 | 6112 69 | 5245 70 | 5919 71 | 7280 72 | 5350 73 | 7108 74 | 5916 75 | 6039 76 | 7055 77 | 4504 78 | 4740 79 | 7289 80 | 5046 81 | 5529 82 | 5386 83 | 7287 84 | 5278 85 | 5104 86 | 5395 87 | 7037 88 | 5256 89 | 3159 90 | 5099 91 | 6022 92 | 5158 93 | 5260 94 | 7163 95 | 4192 96 | 7176 97 | 5914 98 | 5303 99 | 3296 100 | 4157 101 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/100/1/set3/test.txt: -------------------------------------------------------------------------------- 1 | 5126 2 | 7094 3 | 7189 4 | 7073 5 | 3830 6 | 5189 7 | 3828 8 | 5924 9 | 3751 10 | 3220 11 | 3297 12 | 5910 13 | 5242 14 | 7116 15 | 3271 16 | 5217 17 | 3763 18 | 7218 19 | 6044 20 | 3316 21 | 3227 22 | 5152 23 | 4175 24 | 7055 25 | 5320 26 | 4505 27 | 4113 28 | 6144 29 | 4100 30 | 3753 31 | 4172 32 | 5188 33 | 4359 34 | 7125 35 | 7275 36 | 4376 37 | 5920 38 | 3185 39 | 4123 40 | 7126 41 | 4097 42 | 7106 43 | 3834 44 | 3770 45 | 7024 46 | 3825 47 | 4503 48 | 5705 49 | 5710 50 | 3172 51 | 6116 52 | 4096 53 | 5205 54 | 4111 55 | 7286 56 | 5925 57 | 7219 58 | 4177 59 | 3164 60 | 3188 61 | 4502 62 | 3752 63 | 7155 64 | 7054 65 | 3240 66 | 7098 67 | 4054 68 | 7266 69 | 5557 70 | 4713 71 | 4507 72 | 4718 73 | 5303 74 | 5741 75 | 6009 76 | 4518 77 | 4508 78 | 5119 79 | 3168 80 | 7085 81 | 5224 82 | 4715 83 | 5259 84 | 6132 85 | 5260 86 | 3314 87 | 3191 88 | 7161 89 | 3196 90 | 5555 91 | 7289 92 | 5351 93 | 5245 94 | 4388 95 | 7134 96 | 7135 97 | 7284 98 | 4354 99 | 6152 100 | 5176 101 | 5103 102 | 6112 103 | 4375 104 | 3169 105 | 5559 106 | 7062 107 | 5381 108 | 5758 109 | 6154 110 | 6145 111 | 3244 112 | 5287 113 | 5182 114 | 7169 115 | 7173 116 | 5285 117 | 5250 118 | 7061 119 | 7205 120 | 5235 121 | 5566 122 | 4497 123 | 3204 124 | 3260 125 | 4719 126 | 5361 127 | 3831 128 | 3845 129 | 5580 130 | 4170 131 | 5701 132 | 5702 133 | 6023 134 | 7020 135 | 5202 136 | 5728 137 | 5394 138 | 3809 139 | 4117 140 | 4480 141 | 5536 142 | 5399 143 | 5307 144 | 4335 145 | 4494 146 | 3142 147 | 5360 148 | 5355 149 | 5564 150 | 5282 151 | 5058 152 | 5386 153 | 3210 154 | 5313 155 | 4479 156 | 5291 157 | 7273 158 | 3836 159 | 3272 160 | 4195 161 | 7287 162 | 3773 163 | 5714 164 | 7076 165 | 5743 166 | 3167 167 | 7251 168 | 3143 169 | 6039 170 | 6050 171 | 3173 172 | 5600 173 | 5049 174 | 7269 175 | 4521 176 | 5314 177 | 5769 178 | 7056 179 | 5506 180 | 3276 181 | 5727 182 | 5261 183 | 5703 184 | 5402 185 | 5900 186 | 4390 187 | 5296 188 | 5520 189 | 4385 190 | 7166 191 | 5519 192 | 5300 193 | 6046 194 | 3205 195 | 5094 196 | 5241 197 | 5523 198 | 5706 199 | 4490 200 | 7264 201 | 6008 202 | 3270 203 | 7183 204 | 5244 205 | 5222 206 | 5332 207 | 3226 208 | 7210 209 | 5532 210 | 7172 211 | 5922 212 | 4161 213 | 3296 214 | 5609 215 | 5257 216 | 5716 217 | 3273 218 | 5735 219 | 5745 220 | 5311 221 | 5513 222 | 4740 223 | 5274 224 | 5271 225 | 5365 226 | 7237 227 | 3186 228 | 6150 229 | 5113 230 | 3754 231 | 3277 232 | 5397 233 | 3150 234 | 3818 235 | 7263 236 | 4729 237 | 5096 238 | 3161 239 | 5251 240 | 7118 241 | 6038 242 | 4716 243 | 7006 244 | 3837 245 | 7060 246 | 5923 247 | 3715 248 | 5396 249 | 5914 250 | 5249 251 | 5092 252 | 5322 253 | 7176 254 | 4209 255 | 6057 256 | 3759 257 | 5023 258 | 3229 259 | 4380 260 | 4482 261 | 5915 262 | 4528 263 | 5561 264 | 5290 265 | 3256 266 | 5278 267 | 5583 268 | 5286 269 | 5718 270 | 3174 271 | 7086 272 | 4389 273 | 3157 274 | 7277 275 | 6018 276 | 5298 277 | 5208 278 | 7201 279 | 7102 280 | 7252 281 | 3175 282 | 5127 283 | 7235 284 | 3757 285 | 7167 286 | 5031 287 | 4101 288 | 6034 289 | 5517 290 | 3823 291 | 7110 292 | 5729 293 | 7279 294 | 5256 295 | 5306 296 | 3182 297 | 4093 298 | 7245 299 | 5160 300 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/100/1/set3/train.txt: -------------------------------------------------------------------------------- 1 | 5267 2 | 5044 3 | 3144 4 | 5226 5 | 3239 6 | 4090 7 | 3269 8 | 5258 9 | 4342 10 | 5338 11 | 6012 12 | 5284 13 | 4483 14 | 4049 15 | 5003 16 | 3280 17 | 7229 18 | 5349 19 | 6109 20 | 3301 21 | 7260 22 | 5770 23 | 5295 24 | 5909 25 | 5209 26 | 5389 27 | 7171 28 | 7225 29 | 6119 30 | 5123 31 | 5509 32 | 5347 33 | 5159 34 | 3283 35 | 4344 36 | 6052 37 | 3176 38 | 3183 39 | 3281 40 | 5401 41 | 4166 42 | 4193 43 | 5527 44 | 5777 45 | 5032 46 | 5518 47 | 5348 48 | 4731 49 | 4169 50 | 3246 51 | 4722 52 | 4531 53 | 7113 54 | 4088 55 | 7154 56 | 6021 57 | 4053 58 | 5352 59 | 5611 60 | 4110 61 | 6133 62 | 5139 63 | 5055 64 | 5101 65 | 5529 66 | 4526 67 | 5359 68 | 5340 69 | 5230 70 | 5198 71 | 4329 72 | 5537 73 | 5135 74 | 5211 75 | 5601 76 | 5395 77 | 5180 78 | 7131 79 | 5531 80 | 3145 81 | 3249 82 | 5504 83 | 3245 84 | 5726 85 | 5342 86 | 5582 87 | 5717 88 | 5324 89 | 3849 90 | 5195 91 | 5581 92 | 7212 93 | 5114 94 | 5279 95 | 5253 96 | 5760 97 | 7267 98 | 5552 99 | 5283 100 | 6007 101 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/100/2/set1/test.txt: -------------------------------------------------------------------------------- 1 | 4105 2 | 6036 3 | 4157 4 | 6115 5 | 5715 6 | 4523 7 | 5159 8 | 7023 9 | 4156 10 | 5707 11 | 4173 12 | 5305 13 | 5211 14 | 5565 15 | 5341 16 | 7084 17 | 5196 18 | 5032 19 | 5756 20 | 5549 21 | 5089 22 | 7241 23 | 4481 24 | 7036 25 | 4116 26 | 5308 27 | 5919 28 | 5501 29 | 4160 30 | 5158 31 | 4741 32 | 5395 33 | 3208 34 | 5527 35 | 5603 36 | 5349 37 | 4166 38 | 5099 39 | 5275 40 | 3263 41 | 5183 42 | 6029 43 | 4367 44 | 5315 45 | 4329 46 | 3280 47 | 3265 48 | 4183 49 | 5754 50 | 4742 51 | 5759 52 | 4344 53 | 4357 54 | 6027 55 | 5336 56 | 3769 57 | 5299 58 | 5317 59 | 5003 60 | 5723 61 | 4124 62 | 5324 63 | 3775 64 | 7247 65 | 4483 66 | 5210 67 | 7105 68 | 5197 69 | 6147 70 | 5194 71 | 3160 72 | 7037 73 | 4330 74 | 3288 75 | 7072 76 | 5558 77 | 7227 78 | 3209 79 | 6035 80 | 3184 81 | 5321 82 | 5218 83 | 5081 84 | 5345 85 | 5207 86 | 7018 87 | 7214 88 | 7066 89 | 3216 90 | 7088 91 | 7081 92 | 5359 93 | 3827 94 | 5295 95 | 3217 96 | 7170 97 | 5327 98 | 6053 99 | 5578 100 | 7021 101 | 3228 102 | 5174 103 | 3165 104 | 4491 105 | 5344 106 | 6042 107 | 5037 108 | 4722 109 | 5719 110 | 6022 111 | 6110 112 | 5611 113 | 5043 114 | 5066 115 | 6019 116 | 5747 117 | 4181 118 | 6108 119 | 7150 120 | 5369 121 | 5310 122 | 5195 123 | 5726 124 | 4089 125 | 4500 126 | 7109 127 | 7111 128 | 4504 129 | 7171 130 | 5382 131 | 3289 132 | 5019 133 | 5010 134 | 5164 135 | 5908 136 | 5350 137 | 6109 138 | 3829 139 | 3771 140 | 3221 141 | 6024 142 | 5901 143 | 3159 144 | 5760 145 | 7131 146 | 3212 147 | 5301 148 | 4525 149 | 6045 150 | 5150 151 | 5014 152 | 6028 153 | 7216 154 | 4208 155 | 5139 156 | 7225 157 | 4353 158 | 5059 159 | 4527 160 | 4492 161 | 4532 162 | 3206 163 | 4721 164 | 3239 165 | 5236 166 | 5378 167 | 3819 168 | 7138 169 | 6041 170 | 3259 171 | 4724 172 | 5773 173 | 5375 174 | 3760 175 | 7095 176 | 4090 177 | 5370 178 | 5237 179 | 3231 180 | 3151 181 | 5387 182 | 5204 183 | 4366 184 | 7232 185 | 5312 186 | 5512 187 | 5267 188 | 6013 189 | 5319 190 | 4730 191 | 6153 192 | 5292 193 | 6032 194 | 5610 195 | 3224 196 | 4529 197 | 7019 198 | 5040 199 | 5246 200 | 5503 201 | 5046 202 | 4340 203 | 5191 204 | 7108 205 | 5916 206 | 5013 207 | 5763 208 | 7151 209 | 4381 210 | 3190 211 | 4355 212 | 5721 213 | 5147 214 | 5537 215 | 4364 216 | 3852 217 | 5323 218 | 5389 219 | 5209 220 | 4378 221 | 5563 222 | 5508 223 | 5737 224 | 5075 225 | 5368 226 | 4194 227 | 7077 228 | 5294 229 | 4103 230 | 4192 231 | 3846 232 | 5534 233 | 4341 234 | 6133 235 | 5084 236 | 7022 237 | 6120 238 | 7159 239 | 5526 240 | 4533 241 | 7257 242 | 4365 243 | 5401 244 | 4182 245 | 5522 246 | 6043 247 | 5755 248 | 5170 249 | 4049 250 | 3162 251 | 5125 252 | 4345 253 | 5338 254 | 5529 255 | 4386 256 | 4167 257 | 5725 258 | 4739 259 | 3187 260 | 4088 261 | 7163 262 | 7175 263 | 5151 264 | 4493 265 | 5518 266 | 5273 267 | 5330 268 | 7071 269 | 5392 270 | 5104 271 | 5129 272 | 5020 273 | 3245 274 | 6054 275 | 3840 276 | 4524 277 | 4184 278 | 6126 279 | 4338 280 | 7280 281 | 5114 282 | 7288 283 | 5200 284 | 5082 285 | 3147 286 | 5530 287 | 7224 288 | 5118 289 | 7100 290 | 4384 291 | 3156 292 | 5352 293 | 4114 294 | 3237 295 | 5230 296 | 4531 297 | 5911 298 | 5383 299 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/100/2/set1/train.txt: -------------------------------------------------------------------------------- 1 | 6051 2 | 4383 3 | 5181 4 | 7162 5 | 5007 6 | 5135 7 | 6006 8 | 3751 9 | 4518 10 | 7058 11 | 4206 12 | 7237 13 | 5927 14 | 5190 15 | 3313 16 | 5525 17 | 5206 18 | 5528 19 | 5744 20 | 5393 21 | 3243 22 | 5354 23 | 7107 24 | 5513 25 | 5031 26 | 4342 27 | 4094 28 | 5536 29 | 5523 30 | 5351 31 | 5049 32 | 5233 33 | 5582 34 | 5320 35 | 6039 36 | 3177 37 | 5123 38 | 7274 39 | 5271 40 | 3227 41 | 3753 42 | 7172 43 | 3816 44 | 7206 45 | 3235 46 | 3833 47 | 3240 48 | 5119 49 | 5914 50 | 7154 51 | 3164 52 | 5394 53 | 3256 54 | 4375 55 | 5729 56 | 3843 57 | 5112 58 | 7260 59 | 3189 60 | 5348 61 | 5765 62 | 3809 63 | 5531 64 | 6056 65 | 5044 66 | 3837 67 | 5702 68 | 6057 69 | 3170 70 | 7101 71 | 5735 72 | 4503 73 | 5511 74 | 4388 75 | 4490 76 | 3191 77 | 3144 78 | 7286 79 | 5287 80 | 5251 81 | 3230 82 | 5554 83 | 3214 84 | 7283 85 | 6009 86 | 7157 87 | 5186 88 | 7085 89 | 3236 90 | 4110 91 | 3174 92 | 7284 93 | 4162 94 | 6017 95 | 3823 96 | 5727 97 | 5390 98 | 4334 99 | 3759 100 | 3279 101 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/100/2/set2/test.txt: -------------------------------------------------------------------------------- 1 | 7272 2 | 5347 3 | 5083 4 | 3148 5 | 5553 6 | 3761 7 | 5229 8 | 5602 9 | 5198 10 | 3189 11 | 3170 12 | 4342 13 | 3755 14 | 3236 15 | 4053 16 | 3767 17 | 4193 18 | 3181 19 | 5390 20 | 5918 21 | 5071 22 | 6020 23 | 7145 24 | 4488 25 | 3230 26 | 5746 27 | 5240 28 | 6026 29 | 5181 30 | 4358 31 | 5554 32 | 4530 33 | 5135 34 | 6051 35 | 5717 36 | 5504 37 | 4334 38 | 7064 39 | 5774 40 | 4052 41 | 4331 42 | 4526 43 | 5283 44 | 5169 45 | 3832 46 | 5110 47 | 5339 48 | 3152 49 | 5744 50 | 7059 51 | 5331 52 | 7274 53 | 6119 54 | 4374 55 | 7008 56 | 3776 57 | 5268 58 | 5247 59 | 6056 60 | 3772 61 | 5927 62 | 5030 63 | 3838 64 | 5225 65 | 5581 66 | 4178 67 | 3214 68 | 5734 69 | 5577 70 | 3145 71 | 3176 72 | 5353 73 | 7113 74 | 5044 75 | 5101 76 | 5309 77 | 5733 78 | 4496 79 | 5228 80 | 5524 81 | 4356 82 | 5167 83 | 4094 84 | 5502 85 | 5348 86 | 5514 87 | 3842 88 | 5579 89 | 5363 90 | 5902 91 | 5398 92 | 3816 93 | 6055 94 | 6105 95 | 5304 96 | 5391 97 | 5163 98 | 5253 99 | 7092 100 | 4169 101 | 7212 102 | 3246 103 | 3281 104 | 4095 105 | 7223 106 | 4205 107 | 5008 108 | 4377 109 | 5376 110 | 5342 111 | 6025 112 | 5201 113 | 4091 114 | 6052 115 | 3274 116 | 7078 117 | 3279 118 | 5155 119 | 6037 120 | 5393 121 | 4362 122 | 5086 123 | 3146 124 | 4206 125 | 7253 126 | 3166 127 | 7091 128 | 7009 129 | 5100 130 | 7157 131 | 5213 132 | 5550 133 | 5400 134 | 3313 135 | 7107 136 | 7222 137 | 7209 138 | 3300 139 | 3843 140 | 4387 141 | 5567 142 | 5509 143 | 3822 144 | 5186 145 | 3235 146 | 5116 147 | 4487 148 | 6016 149 | 4723 150 | 5123 151 | 3269 152 | 3171 153 | 7090 154 | 7130 155 | 5045 156 | 3758 157 | 3213 158 | 3144 159 | 5171 160 | 3241 161 | 7238 162 | 7075 163 | 7146 164 | 6017 165 | 7162 166 | 7010 167 | 7058 168 | 7057 169 | 5765 170 | 5905 171 | 4104 172 | 5535 173 | 5112 174 | 5199 175 | 3835 176 | 3154 177 | 7154 178 | 3207 179 | 3183 180 | 5560 181 | 4383 182 | 7165 183 | 5340 184 | 5233 185 | 5215 186 | 5354 187 | 5507 188 | 5039 189 | 6128 190 | 5379 191 | 5277 192 | 4484 193 | 7065 194 | 5601 195 | 3153 196 | 5364 197 | 5280 198 | 7005 199 | 5190 200 | 5556 201 | 3177 202 | 5238 203 | 5525 204 | 4110 205 | 6111 206 | 4522 207 | 4363 208 | 4352 209 | 7180 210 | 7259 211 | 5906 212 | 7256 213 | 5162 214 | 7233 215 | 5528 216 | 4174 217 | 5180 218 | 5130 219 | 7260 220 | 5047 221 | 3249 222 | 5505 223 | 7267 224 | 6007 225 | 7137 226 | 4717 227 | 5318 228 | 7246 229 | 7101 230 | 3266 231 | 5371 232 | 7147 233 | 5708 234 | 5161 235 | 5777 236 | 5055 237 | 6129 238 | 5346 239 | 3275 240 | 3243 241 | 5511 242 | 4520 243 | 4360 244 | 3817 245 | 7184 246 | 4121 247 | 7283 248 | 3844 249 | 5531 250 | 5279 251 | 7229 252 | 7178 253 | 5284 254 | 5226 255 | 6021 256 | 3824 257 | 5007 258 | 7004 259 | 5709 260 | 5216 261 | 3821 262 | 3849 263 | 3301 264 | 3833 265 | 7063 266 | 7035 267 | 5909 268 | 4162 269 | 3774 270 | 7186 271 | 4731 272 | 3298 273 | 5582 274 | 5562 275 | 6139 276 | 7236 277 | 6049 278 | 5187 279 | 3267 280 | 6006 281 | 5337 282 | 5366 283 | 3283 284 | 5552 285 | 5231 286 | 5770 287 | 5258 288 | 7067 289 | 7206 290 | 4519 291 | 5533 292 | 6014 293 | 5206 294 | 6012 295 | 4732 296 | 5254 297 | 4393 298 | 7293 299 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/100/2/set2/train.txt: -------------------------------------------------------------------------------- 1 | 5197 2 | 4177 3 | 5580 4 | 6045 5 | 5336 6 | 5924 7 | 5368 8 | 5559 9 | 5518 10 | 5397 11 | 5174 12 | 4724 13 | 3769 14 | 6144 15 | 6126 16 | 3296 17 | 6132 18 | 4492 19 | 4719 20 | 5189 21 | 3836 22 | 4740 23 | 4523 24 | 4175 25 | 5139 26 | 7287 27 | 7111 28 | 3168 29 | 5306 30 | 7055 31 | 4494 32 | 5235 33 | 4524 34 | 3185 35 | 7273 36 | 3757 37 | 4531 38 | 5188 39 | 6035 40 | 5755 41 | 5271 42 | 5341 43 | 7105 44 | 6109 45 | 5224 46 | 4160 47 | 7159 48 | 3156 49 | 7126 50 | 6042 51 | 4117 52 | 4049 53 | 4381 54 | 5292 55 | 7072 56 | 4355 57 | 3231 58 | 4208 59 | 3221 60 | 5350 61 | 4481 62 | 5527 63 | 5512 64 | 4508 65 | 5345 66 | 7060 67 | 6009 68 | 3314 69 | 4100 70 | 7247 71 | 5710 72 | 3245 73 | 5291 74 | 4497 75 | 3827 76 | 4529 77 | 3289 78 | 5273 79 | 3244 80 | 7098 81 | 4113 82 | 5160 83 | 5344 84 | 5707 85 | 5758 86 | 5549 87 | 6050 88 | 3840 89 | 5537 90 | 5236 91 | 4525 92 | 4500 93 | 4341 94 | 6032 95 | 7019 96 | 6019 97 | 5322 98 | 4715 99 | 3259 100 | 7264 101 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/100/2/set3/test.txt: -------------------------------------------------------------------------------- 1 | 5126 2 | 7094 3 | 7189 4 | 7073 5 | 3830 6 | 5189 7 | 3828 8 | 5924 9 | 3751 10 | 3220 11 | 3297 12 | 5910 13 | 5242 14 | 7116 15 | 3271 16 | 5217 17 | 3763 18 | 7218 19 | 6044 20 | 3316 21 | 3227 22 | 5152 23 | 4175 24 | 7055 25 | 5320 26 | 4505 27 | 4113 28 | 6144 29 | 4100 30 | 3753 31 | 4172 32 | 5188 33 | 4359 34 | 7125 35 | 7275 36 | 4376 37 | 5920 38 | 3185 39 | 4123 40 | 7126 41 | 4097 42 | 7106 43 | 3834 44 | 3770 45 | 7024 46 | 3825 47 | 4503 48 | 5705 49 | 5710 50 | 3172 51 | 6116 52 | 4096 53 | 5205 54 | 4111 55 | 7286 56 | 5925 57 | 7219 58 | 4177 59 | 3164 60 | 3188 61 | 4502 62 | 3752 63 | 7155 64 | 7054 65 | 3240 66 | 7098 67 | 4054 68 | 7266 69 | 5557 70 | 4713 71 | 4507 72 | 4718 73 | 5303 74 | 5741 75 | 6009 76 | 4518 77 | 4508 78 | 5119 79 | 3168 80 | 7085 81 | 5224 82 | 4715 83 | 5259 84 | 6132 85 | 5260 86 | 3314 87 | 3191 88 | 7161 89 | 3196 90 | 5555 91 | 7289 92 | 5351 93 | 5245 94 | 4388 95 | 7134 96 | 7135 97 | 7284 98 | 4354 99 | 6152 100 | 5176 101 | 5103 102 | 6112 103 | 4375 104 | 3169 105 | 5559 106 | 7062 107 | 5381 108 | 5758 109 | 6154 110 | 6145 111 | 3244 112 | 5287 113 | 5182 114 | 7169 115 | 7173 116 | 5285 117 | 5250 118 | 7061 119 | 7205 120 | 5235 121 | 5566 122 | 4497 123 | 3204 124 | 3260 125 | 4719 126 | 5361 127 | 3831 128 | 3845 129 | 5580 130 | 4170 131 | 5701 132 | 5702 133 | 6023 134 | 7020 135 | 5202 136 | 5728 137 | 5394 138 | 3809 139 | 4117 140 | 4480 141 | 5536 142 | 5399 143 | 5307 144 | 4335 145 | 4494 146 | 3142 147 | 5360 148 | 5355 149 | 5564 150 | 5282 151 | 5058 152 | 5386 153 | 3210 154 | 5313 155 | 4479 156 | 5291 157 | 7273 158 | 3836 159 | 3272 160 | 4195 161 | 7287 162 | 3773 163 | 5714 164 | 7076 165 | 5743 166 | 3167 167 | 7251 168 | 3143 169 | 6039 170 | 6050 171 | 3173 172 | 5600 173 | 5049 174 | 7269 175 | 4521 176 | 5314 177 | 5769 178 | 7056 179 | 5506 180 | 3276 181 | 5727 182 | 5261 183 | 5703 184 | 5402 185 | 5900 186 | 4390 187 | 5296 188 | 5520 189 | 4385 190 | 7166 191 | 5519 192 | 5300 193 | 6046 194 | 3205 195 | 5094 196 | 5241 197 | 5523 198 | 5706 199 | 4490 200 | 7264 201 | 6008 202 | 3270 203 | 7183 204 | 5244 205 | 5222 206 | 5332 207 | 3226 208 | 7210 209 | 5532 210 | 7172 211 | 5922 212 | 4161 213 | 3296 214 | 5609 215 | 5257 216 | 5716 217 | 3273 218 | 5735 219 | 5745 220 | 5311 221 | 5513 222 | 4740 223 | 5274 224 | 5271 225 | 5365 226 | 7237 227 | 3186 228 | 6150 229 | 5113 230 | 3754 231 | 3277 232 | 5397 233 | 3150 234 | 3818 235 | 7263 236 | 4729 237 | 5096 238 | 3161 239 | 5251 240 | 7118 241 | 6038 242 | 4716 243 | 7006 244 | 3837 245 | 7060 246 | 5923 247 | 3715 248 | 5396 249 | 5914 250 | 5249 251 | 5092 252 | 5322 253 | 7176 254 | 4209 255 | 6057 256 | 3759 257 | 5023 258 | 3229 259 | 4380 260 | 4482 261 | 5915 262 | 4528 263 | 5561 264 | 5290 265 | 3256 266 | 5278 267 | 5583 268 | 5286 269 | 5718 270 | 3174 271 | 7086 272 | 4389 273 | 3157 274 | 7277 275 | 6018 276 | 5298 277 | 5208 278 | 7201 279 | 7102 280 | 7252 281 | 3175 282 | 5127 283 | 7235 284 | 3757 285 | 7167 286 | 5031 287 | 4101 288 | 6034 289 | 5517 290 | 3823 291 | 7110 292 | 5729 293 | 7279 294 | 5256 295 | 5306 296 | 3182 297 | 4093 298 | 7245 299 | 5160 300 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/100/2/set3/train.txt: -------------------------------------------------------------------------------- 1 | 5508 2 | 7253 3 | 3269 4 | 5774 5 | 4496 6 | 4353 7 | 5509 8 | 5199 9 | 7272 10 | 6109 11 | 3165 12 | 7101 13 | 5032 14 | 6013 15 | 5125 16 | 3776 17 | 5206 18 | 5370 19 | 4094 20 | 4500 21 | 6026 22 | 7247 23 | 5301 24 | 4331 25 | 4355 26 | 3208 27 | 5352 28 | 4329 29 | 7178 30 | 5348 31 | 7267 32 | 3156 33 | 7232 34 | 4732 35 | 5236 36 | 5104 37 | 5258 38 | 4105 39 | 4386 40 | 5354 41 | 5207 42 | 3275 43 | 5279 44 | 5349 45 | 5099 46 | 5213 47 | 5336 48 | 5502 49 | 6115 50 | 4178 51 | 7246 52 | 4362 53 | 4342 54 | 3159 55 | 4341 56 | 5201 57 | 6032 58 | 3183 59 | 5368 60 | 7260 61 | 4208 62 | 5231 63 | 5280 64 | 3228 65 | 6054 66 | 4731 67 | 5577 68 | 7227 69 | 4717 70 | 5295 71 | 5040 72 | 5190 73 | 4110 74 | 5760 75 | 4089 76 | 7283 77 | 7067 78 | 7035 79 | 4182 80 | 6051 81 | 5525 82 | 5579 83 | 4365 84 | 3842 85 | 7065 86 | 5047 87 | 5733 88 | 5347 89 | 6119 90 | 5089 91 | 4484 92 | 5233 93 | 6153 94 | 5911 95 | 7233 96 | 5228 97 | 5537 98 | 5530 99 | 3835 100 | 5237 101 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/50/1/set1/test.txt: -------------------------------------------------------------------------------- 1 | 4105 2 | 6036 3 | 4157 4 | 6115 5 | 5715 6 | 4523 7 | 5159 8 | 7023 9 | 4156 10 | 5707 11 | 4173 12 | 5305 13 | 5211 14 | 5565 15 | 5341 16 | 7084 17 | 5196 18 | 5032 19 | 5756 20 | 5549 21 | 5089 22 | 7241 23 | 4481 24 | 7036 25 | 4116 26 | 5308 27 | 5919 28 | 5501 29 | 4160 30 | 5158 31 | 4741 32 | 5395 33 | 3208 34 | 5527 35 | 5603 36 | 5349 37 | 4166 38 | 5099 39 | 5275 40 | 3263 41 | 5183 42 | 6029 43 | 4367 44 | 5315 45 | 4329 46 | 3280 47 | 3265 48 | 4183 49 | 5754 50 | 4742 51 | 5759 52 | 4344 53 | 4357 54 | 6027 55 | 5336 56 | 3769 57 | 5299 58 | 5317 59 | 5003 60 | 5723 61 | 4124 62 | 5324 63 | 3775 64 | 7247 65 | 4483 66 | 5210 67 | 7105 68 | 5197 69 | 6147 70 | 5194 71 | 3160 72 | 7037 73 | 4330 74 | 3288 75 | 7072 76 | 5558 77 | 7227 78 | 3209 79 | 6035 80 | 3184 81 | 5321 82 | 5218 83 | 5081 84 | 5345 85 | 5207 86 | 7018 87 | 7214 88 | 7066 89 | 3216 90 | 7088 91 | 7081 92 | 5359 93 | 3827 94 | 5295 95 | 3217 96 | 7170 97 | 5327 98 | 6053 99 | 5578 100 | 7021 101 | 3228 102 | 5174 103 | 3165 104 | 4491 105 | 5344 106 | 6042 107 | 5037 108 | 4722 109 | 5719 110 | 6022 111 | 6110 112 | 5611 113 | 5043 114 | 5066 115 | 6019 116 | 5747 117 | 4181 118 | 6108 119 | 7150 120 | 5369 121 | 5310 122 | 5195 123 | 5726 124 | 4089 125 | 4500 126 | 7109 127 | 7111 128 | 4504 129 | 7171 130 | 5382 131 | 3289 132 | 5019 133 | 5010 134 | 5164 135 | 5908 136 | 5350 137 | 6109 138 | 3829 139 | 3771 140 | 3221 141 | 6024 142 | 5901 143 | 3159 144 | 5760 145 | 7131 146 | 3212 147 | 5301 148 | 4525 149 | 6045 150 | 5150 151 | 5014 152 | 6028 153 | 7216 154 | 4208 155 | 5139 156 | 7225 157 | 4353 158 | 5059 159 | 4527 160 | 4492 161 | 4532 162 | 3206 163 | 4721 164 | 3239 165 | 5236 166 | 5378 167 | 3819 168 | 7138 169 | 6041 170 | 3259 171 | 4724 172 | 5773 173 | 5375 174 | 3760 175 | 7095 176 | 4090 177 | 5370 178 | 5237 179 | 3231 180 | 3151 181 | 5387 182 | 5204 183 | 4366 184 | 7232 185 | 5312 186 | 5512 187 | 5267 188 | 6013 189 | 5319 190 | 4730 191 | 6153 192 | 5292 193 | 6032 194 | 5610 195 | 3224 196 | 4529 197 | 7019 198 | 5040 199 | 5246 200 | 5503 201 | 5046 202 | 4340 203 | 5191 204 | 7108 205 | 5916 206 | 5013 207 | 5763 208 | 7151 209 | 4381 210 | 3190 211 | 4355 212 | 5721 213 | 5147 214 | 5537 215 | 4364 216 | 3852 217 | 5323 218 | 5389 219 | 5209 220 | 4378 221 | 5563 222 | 5508 223 | 5737 224 | 5075 225 | 5368 226 | 4194 227 | 7077 228 | 5294 229 | 4103 230 | 4192 231 | 3846 232 | 5534 233 | 4341 234 | 6133 235 | 5084 236 | 7022 237 | 6120 238 | 7159 239 | 5526 240 | 4533 241 | 7257 242 | 4365 243 | 5401 244 | 4182 245 | 5522 246 | 6043 247 | 5755 248 | 5170 249 | 4049 250 | 3162 251 | 5125 252 | 4345 253 | 5338 254 | 5529 255 | 4386 256 | 4167 257 | 5725 258 | 4739 259 | 3187 260 | 4088 261 | 7163 262 | 7175 263 | 5151 264 | 4493 265 | 5518 266 | 5273 267 | 5330 268 | 7071 269 | 5392 270 | 5104 271 | 5129 272 | 5020 273 | 3245 274 | 6054 275 | 3840 276 | 4524 277 | 4184 278 | 6126 279 | 4338 280 | 7280 281 | 5114 282 | 7288 283 | 5200 284 | 5082 285 | 3147 286 | 5530 287 | 7224 288 | 5118 289 | 7100 290 | 4384 291 | 3156 292 | 5352 293 | 4114 294 | 3237 295 | 5230 296 | 4531 297 | 5911 298 | 5383 299 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/50/1/set1/train.txt: -------------------------------------------------------------------------------- 1 | 4096 2 | 7173 3 | 5103 4 | 7118 5 | 5119 6 | 3183 7 | 5532 8 | 6018 9 | 7113 10 | 4502 11 | 4363 12 | 3833 13 | 5709 14 | 7009 15 | 5228 16 | 5371 17 | 4732 18 | 3830 19 | 3249 20 | 4161 21 | 7176 22 | 3836 23 | 4387 24 | 5198 25 | 6038 26 | 4342 27 | 4095 28 | 5536 29 | 5363 30 | 5251 31 | 5116 32 | 4718 33 | 7062 34 | 4377 35 | 5376 36 | 5309 37 | 3241 38 | 3763 39 | 4170 40 | 7229 41 | 5402 42 | 5271 43 | 7287 44 | 6128 45 | 4482 46 | 3757 47 | 7223 48 | 5769 49 | 3181 50 | 5279 51 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/50/1/set2/test.txt: -------------------------------------------------------------------------------- 1 | 7272 2 | 5347 3 | 5083 4 | 3148 5 | 5553 6 | 3761 7 | 5229 8 | 5602 9 | 5198 10 | 3189 11 | 3170 12 | 4342 13 | 3755 14 | 3236 15 | 4053 16 | 3767 17 | 4193 18 | 3181 19 | 5390 20 | 5918 21 | 5071 22 | 6020 23 | 7145 24 | 4488 25 | 3230 26 | 5746 27 | 5240 28 | 6026 29 | 5181 30 | 4358 31 | 5554 32 | 4530 33 | 5135 34 | 6051 35 | 5717 36 | 5504 37 | 4334 38 | 7064 39 | 5774 40 | 4052 41 | 4331 42 | 4526 43 | 5283 44 | 5169 45 | 3832 46 | 5110 47 | 5339 48 | 3152 49 | 5744 50 | 7059 51 | 5331 52 | 7274 53 | 6119 54 | 4374 55 | 7008 56 | 3776 57 | 5268 58 | 5247 59 | 6056 60 | 3772 61 | 5927 62 | 5030 63 | 3838 64 | 5225 65 | 5581 66 | 4178 67 | 3214 68 | 5734 69 | 5577 70 | 3145 71 | 3176 72 | 5353 73 | 7113 74 | 5044 75 | 5101 76 | 5309 77 | 5733 78 | 4496 79 | 5228 80 | 5524 81 | 4356 82 | 5167 83 | 4094 84 | 5502 85 | 5348 86 | 5514 87 | 3842 88 | 5579 89 | 5363 90 | 5902 91 | 5398 92 | 3816 93 | 6055 94 | 6105 95 | 5304 96 | 5391 97 | 5163 98 | 5253 99 | 7092 100 | 4169 101 | 7212 102 | 3246 103 | 3281 104 | 4095 105 | 7223 106 | 4205 107 | 5008 108 | 4377 109 | 5376 110 | 5342 111 | 6025 112 | 5201 113 | 4091 114 | 6052 115 | 3274 116 | 7078 117 | 3279 118 | 5155 119 | 6037 120 | 5393 121 | 4362 122 | 5086 123 | 3146 124 | 4206 125 | 7253 126 | 3166 127 | 7091 128 | 7009 129 | 5100 130 | 7157 131 | 5213 132 | 5550 133 | 5400 134 | 3313 135 | 7107 136 | 7222 137 | 7209 138 | 3300 139 | 3843 140 | 4387 141 | 5567 142 | 5509 143 | 3822 144 | 5186 145 | 3235 146 | 5116 147 | 4487 148 | 6016 149 | 4723 150 | 5123 151 | 3269 152 | 3171 153 | 7090 154 | 7130 155 | 5045 156 | 3758 157 | 3213 158 | 3144 159 | 5171 160 | 3241 161 | 7238 162 | 7075 163 | 7146 164 | 6017 165 | 7162 166 | 7010 167 | 7058 168 | 7057 169 | 5765 170 | 5905 171 | 4104 172 | 5535 173 | 5112 174 | 5199 175 | 3835 176 | 3154 177 | 7154 178 | 3207 179 | 3183 180 | 5560 181 | 4383 182 | 7165 183 | 5340 184 | 5233 185 | 5215 186 | 5354 187 | 5507 188 | 5039 189 | 6128 190 | 5379 191 | 5277 192 | 4484 193 | 7065 194 | 5601 195 | 3153 196 | 5364 197 | 5280 198 | 7005 199 | 5190 200 | 5556 201 | 3177 202 | 5238 203 | 5525 204 | 4110 205 | 6111 206 | 4522 207 | 4363 208 | 4352 209 | 7180 210 | 7259 211 | 5906 212 | 7256 213 | 5162 214 | 7233 215 | 5528 216 | 4174 217 | 5180 218 | 5130 219 | 7260 220 | 5047 221 | 3249 222 | 5505 223 | 7267 224 | 6007 225 | 7137 226 | 4717 227 | 5318 228 | 7246 229 | 7101 230 | 3266 231 | 5371 232 | 7147 233 | 5708 234 | 5161 235 | 5777 236 | 5055 237 | 6129 238 | 5346 239 | 3275 240 | 3243 241 | 5511 242 | 4520 243 | 4360 244 | 3817 245 | 7184 246 | 4121 247 | 7283 248 | 3844 249 | 5531 250 | 5279 251 | 7229 252 | 7178 253 | 5284 254 | 5226 255 | 6021 256 | 3824 257 | 5007 258 | 7004 259 | 5709 260 | 5216 261 | 3821 262 | 3849 263 | 3301 264 | 3833 265 | 7063 266 | 7035 267 | 5909 268 | 4162 269 | 3774 270 | 7186 271 | 4731 272 | 3298 273 | 5582 274 | 5562 275 | 6139 276 | 7236 277 | 6049 278 | 5187 279 | 3267 280 | 6006 281 | 5337 282 | 5366 283 | 3283 284 | 5552 285 | 5231 286 | 5770 287 | 5258 288 | 7067 289 | 7206 290 | 4519 291 | 5533 292 | 6014 293 | 5206 294 | 6012 295 | 4732 296 | 5254 297 | 4393 298 | 7293 299 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/50/1/set2/train.txt: -------------------------------------------------------------------------------- 1 | 5369 2 | 4504 3 | 5563 4 | 6013 5 | 4101 6 | 7118 7 | 4508 8 | 4521 9 | 7201 10 | 6054 11 | 5381 12 | 4479 13 | 3314 14 | 5113 15 | 5320 16 | 5207 17 | 5519 18 | 5267 19 | 7086 20 | 7106 21 | 5059 22 | 7111 23 | 5096 24 | 5152 25 | 6045 26 | 5092 27 | 3759 28 | 3827 29 | 5259 30 | 5031 31 | 7224 32 | 7061 33 | 7173 34 | 4533 35 | 5735 36 | 7077 37 | 5242 38 | 7170 39 | 5716 40 | 4116 41 | 5125 42 | 4161 43 | 7169 44 | 7264 45 | 5209 46 | 4049 47 | 5151 48 | 4170 49 | 5611 50 | 4329 51 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/50/1/set3/test.txt: -------------------------------------------------------------------------------- 1 | 5126 2 | 7094 3 | 7189 4 | 7073 5 | 3830 6 | 5189 7 | 3828 8 | 5924 9 | 3751 10 | 3220 11 | 3297 12 | 5910 13 | 5242 14 | 7116 15 | 3271 16 | 5217 17 | 3763 18 | 7218 19 | 6044 20 | 3316 21 | 3227 22 | 5152 23 | 4175 24 | 7055 25 | 5320 26 | 4505 27 | 4113 28 | 6144 29 | 4100 30 | 3753 31 | 4172 32 | 5188 33 | 4359 34 | 7125 35 | 7275 36 | 4376 37 | 5920 38 | 3185 39 | 4123 40 | 7126 41 | 4097 42 | 7106 43 | 3834 44 | 3770 45 | 7024 46 | 3825 47 | 4503 48 | 5705 49 | 5710 50 | 3172 51 | 6116 52 | 4096 53 | 5205 54 | 4111 55 | 7286 56 | 5925 57 | 7219 58 | 4177 59 | 3164 60 | 3188 61 | 4502 62 | 3752 63 | 7155 64 | 7054 65 | 3240 66 | 7098 67 | 4054 68 | 7266 69 | 5557 70 | 4713 71 | 4507 72 | 4718 73 | 5303 74 | 5741 75 | 6009 76 | 4518 77 | 4508 78 | 5119 79 | 3168 80 | 7085 81 | 5224 82 | 4715 83 | 5259 84 | 6132 85 | 5260 86 | 3314 87 | 3191 88 | 7161 89 | 3196 90 | 5555 91 | 7289 92 | 5351 93 | 5245 94 | 4388 95 | 7134 96 | 7135 97 | 7284 98 | 4354 99 | 6152 100 | 5176 101 | 5103 102 | 6112 103 | 4375 104 | 3169 105 | 5559 106 | 7062 107 | 5381 108 | 5758 109 | 6154 110 | 6145 111 | 3244 112 | 5287 113 | 5182 114 | 7169 115 | 7173 116 | 5285 117 | 5250 118 | 7061 119 | 7205 120 | 5235 121 | 5566 122 | 4497 123 | 3204 124 | 3260 125 | 4719 126 | 5361 127 | 3831 128 | 3845 129 | 5580 130 | 4170 131 | 5701 132 | 5702 133 | 6023 134 | 7020 135 | 5202 136 | 5728 137 | 5394 138 | 3809 139 | 4117 140 | 4480 141 | 5536 142 | 5399 143 | 5307 144 | 4335 145 | 4494 146 | 3142 147 | 5360 148 | 5355 149 | 5564 150 | 5282 151 | 5058 152 | 5386 153 | 3210 154 | 5313 155 | 4479 156 | 5291 157 | 7273 158 | 3836 159 | 3272 160 | 4195 161 | 7287 162 | 3773 163 | 5714 164 | 7076 165 | 5743 166 | 3167 167 | 7251 168 | 3143 169 | 6039 170 | 6050 171 | 3173 172 | 5600 173 | 5049 174 | 7269 175 | 4521 176 | 5314 177 | 5769 178 | 7056 179 | 5506 180 | 3276 181 | 5727 182 | 5261 183 | 5703 184 | 5402 185 | 5900 186 | 4390 187 | 5296 188 | 5520 189 | 4385 190 | 7166 191 | 5519 192 | 5300 193 | 6046 194 | 3205 195 | 5094 196 | 5241 197 | 5523 198 | 5706 199 | 4490 200 | 7264 201 | 6008 202 | 3270 203 | 7183 204 | 5244 205 | 5222 206 | 5332 207 | 3226 208 | 7210 209 | 5532 210 | 7172 211 | 5922 212 | 4161 213 | 3296 214 | 5609 215 | 5257 216 | 5716 217 | 3273 218 | 5735 219 | 5745 220 | 5311 221 | 5513 222 | 4740 223 | 5274 224 | 5271 225 | 5365 226 | 7237 227 | 3186 228 | 6150 229 | 5113 230 | 3754 231 | 3277 232 | 5397 233 | 3150 234 | 3818 235 | 7263 236 | 4729 237 | 5096 238 | 3161 239 | 5251 240 | 7118 241 | 6038 242 | 4716 243 | 7006 244 | 3837 245 | 7060 246 | 5923 247 | 3715 248 | 5396 249 | 5914 250 | 5249 251 | 5092 252 | 5322 253 | 7176 254 | 4209 255 | 6057 256 | 3759 257 | 5023 258 | 3229 259 | 4380 260 | 4482 261 | 5915 262 | 4528 263 | 5561 264 | 5290 265 | 3256 266 | 5278 267 | 5583 268 | 5286 269 | 5718 270 | 3174 271 | 7086 272 | 4389 273 | 3157 274 | 7277 275 | 6018 276 | 5298 277 | 5208 278 | 7201 279 | 7102 280 | 7252 281 | 3175 282 | 5127 283 | 7235 284 | 3757 285 | 7167 286 | 5031 287 | 4101 288 | 6034 289 | 5517 290 | 3823 291 | 7110 292 | 5729 293 | 7279 294 | 5256 295 | 5306 296 | 3182 297 | 4093 298 | 7245 299 | 5160 300 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/50/1/set3/train.txt: -------------------------------------------------------------------------------- 1 | 5911 2 | 5321 3 | 5181 4 | 3177 5 | 5169 6 | 4173 7 | 5151 8 | 7184 9 | 6043 10 | 7233 11 | 5579 12 | 5550 13 | 5709 14 | 7067 15 | 5905 16 | 6022 17 | 5389 18 | 7293 19 | 5167 20 | 3840 21 | 3824 22 | 6032 23 | 5280 24 | 5529 25 | 5505 26 | 7084 27 | 3243 28 | 5200 29 | 4167 30 | 5393 31 | 4052 32 | 3152 33 | 4367 34 | 5502 35 | 5774 36 | 5501 37 | 4730 38 | 5162 39 | 7154 40 | 5348 41 | 5215 42 | 4329 43 | 5611 44 | 5528 45 | 4722 46 | 4330 47 | 3176 48 | 3817 49 | 5359 50 | 5233 51 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/50/2/set1/test.txt: -------------------------------------------------------------------------------- 1 | 4105 2 | 6036 3 | 4157 4 | 6115 5 | 5715 6 | 4523 7 | 5159 8 | 7023 9 | 4156 10 | 5707 11 | 4173 12 | 5305 13 | 5211 14 | 5565 15 | 5341 16 | 7084 17 | 5196 18 | 5032 19 | 5756 20 | 5549 21 | 5089 22 | 7241 23 | 4481 24 | 7036 25 | 4116 26 | 5308 27 | 5919 28 | 5501 29 | 4160 30 | 5158 31 | 4741 32 | 5395 33 | 3208 34 | 5527 35 | 5603 36 | 5349 37 | 4166 38 | 5099 39 | 5275 40 | 3263 41 | 5183 42 | 6029 43 | 4367 44 | 5315 45 | 4329 46 | 3280 47 | 3265 48 | 4183 49 | 5754 50 | 4742 51 | 5759 52 | 4344 53 | 4357 54 | 6027 55 | 5336 56 | 3769 57 | 5299 58 | 5317 59 | 5003 60 | 5723 61 | 4124 62 | 5324 63 | 3775 64 | 7247 65 | 4483 66 | 5210 67 | 7105 68 | 5197 69 | 6147 70 | 5194 71 | 3160 72 | 7037 73 | 4330 74 | 3288 75 | 7072 76 | 5558 77 | 7227 78 | 3209 79 | 6035 80 | 3184 81 | 5321 82 | 5218 83 | 5081 84 | 5345 85 | 5207 86 | 7018 87 | 7214 88 | 7066 89 | 3216 90 | 7088 91 | 7081 92 | 5359 93 | 3827 94 | 5295 95 | 3217 96 | 7170 97 | 5327 98 | 6053 99 | 5578 100 | 7021 101 | 3228 102 | 5174 103 | 3165 104 | 4491 105 | 5344 106 | 6042 107 | 5037 108 | 4722 109 | 5719 110 | 6022 111 | 6110 112 | 5611 113 | 5043 114 | 5066 115 | 6019 116 | 5747 117 | 4181 118 | 6108 119 | 7150 120 | 5369 121 | 5310 122 | 5195 123 | 5726 124 | 4089 125 | 4500 126 | 7109 127 | 7111 128 | 4504 129 | 7171 130 | 5382 131 | 3289 132 | 5019 133 | 5010 134 | 5164 135 | 5908 136 | 5350 137 | 6109 138 | 3829 139 | 3771 140 | 3221 141 | 6024 142 | 5901 143 | 3159 144 | 5760 145 | 7131 146 | 3212 147 | 5301 148 | 4525 149 | 6045 150 | 5150 151 | 5014 152 | 6028 153 | 7216 154 | 4208 155 | 5139 156 | 7225 157 | 4353 158 | 5059 159 | 4527 160 | 4492 161 | 4532 162 | 3206 163 | 4721 164 | 3239 165 | 5236 166 | 5378 167 | 3819 168 | 7138 169 | 6041 170 | 3259 171 | 4724 172 | 5773 173 | 5375 174 | 3760 175 | 7095 176 | 4090 177 | 5370 178 | 5237 179 | 3231 180 | 3151 181 | 5387 182 | 5204 183 | 4366 184 | 7232 185 | 5312 186 | 5512 187 | 5267 188 | 6013 189 | 5319 190 | 4730 191 | 6153 192 | 5292 193 | 6032 194 | 5610 195 | 3224 196 | 4529 197 | 7019 198 | 5040 199 | 5246 200 | 5503 201 | 5046 202 | 4340 203 | 5191 204 | 7108 205 | 5916 206 | 5013 207 | 5763 208 | 7151 209 | 4381 210 | 3190 211 | 4355 212 | 5721 213 | 5147 214 | 5537 215 | 4364 216 | 3852 217 | 5323 218 | 5389 219 | 5209 220 | 4378 221 | 5563 222 | 5508 223 | 5737 224 | 5075 225 | 5368 226 | 4194 227 | 7077 228 | 5294 229 | 4103 230 | 4192 231 | 3846 232 | 5534 233 | 4341 234 | 6133 235 | 5084 236 | 7022 237 | 6120 238 | 7159 239 | 5526 240 | 4533 241 | 7257 242 | 4365 243 | 5401 244 | 4182 245 | 5522 246 | 6043 247 | 5755 248 | 5170 249 | 4049 250 | 3162 251 | 5125 252 | 4345 253 | 5338 254 | 5529 255 | 4386 256 | 4167 257 | 5725 258 | 4739 259 | 3187 260 | 4088 261 | 7163 262 | 7175 263 | 5151 264 | 4493 265 | 5518 266 | 5273 267 | 5330 268 | 7071 269 | 5392 270 | 5104 271 | 5129 272 | 5020 273 | 3245 274 | 6054 275 | 3840 276 | 4524 277 | 4184 278 | 6126 279 | 4338 280 | 7280 281 | 5114 282 | 7288 283 | 5200 284 | 5082 285 | 3147 286 | 5530 287 | 7224 288 | 5118 289 | 7100 290 | 4384 291 | 3156 292 | 5352 293 | 4114 294 | 3237 295 | 5230 296 | 4531 297 | 5911 298 | 5383 299 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/50/2/set1/train.txt: -------------------------------------------------------------------------------- 1 | 7218 2 | 7092 3 | 5390 4 | 4505 5 | 3227 6 | 4502 7 | 3298 8 | 7184 9 | 4172 10 | 3148 11 | 5283 12 | 5705 13 | 5728 14 | 4177 15 | 5531 16 | 6119 17 | 5535 18 | 5201 19 | 3776 20 | 7222 21 | 7107 22 | 6050 23 | 5709 24 | 3260 25 | 6128 26 | 5198 27 | 5130 28 | 7078 29 | 7223 30 | 5509 31 | 7205 32 | 3316 33 | 5181 34 | 5031 35 | 3296 36 | 5320 37 | 7180 38 | 5504 39 | 3772 40 | 3763 41 | 5564 42 | 3274 43 | 6152 44 | 3831 45 | 5311 46 | 5055 47 | 5400 48 | 3173 49 | 5909 50 | 5556 51 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/50/2/set2/test.txt: -------------------------------------------------------------------------------- 1 | 7272 2 | 5347 3 | 5083 4 | 3148 5 | 5553 6 | 3761 7 | 5229 8 | 5602 9 | 5198 10 | 3189 11 | 3170 12 | 4342 13 | 3755 14 | 3236 15 | 4053 16 | 3767 17 | 4193 18 | 3181 19 | 5390 20 | 5918 21 | 5071 22 | 6020 23 | 7145 24 | 4488 25 | 3230 26 | 5746 27 | 5240 28 | 6026 29 | 5181 30 | 4358 31 | 5554 32 | 4530 33 | 5135 34 | 6051 35 | 5717 36 | 5504 37 | 4334 38 | 7064 39 | 5774 40 | 4052 41 | 4331 42 | 4526 43 | 5283 44 | 5169 45 | 3832 46 | 5110 47 | 5339 48 | 3152 49 | 5744 50 | 7059 51 | 5331 52 | 7274 53 | 6119 54 | 4374 55 | 7008 56 | 3776 57 | 5268 58 | 5247 59 | 6056 60 | 3772 61 | 5927 62 | 5030 63 | 3838 64 | 5225 65 | 5581 66 | 4178 67 | 3214 68 | 5734 69 | 5577 70 | 3145 71 | 3176 72 | 5353 73 | 7113 74 | 5044 75 | 5101 76 | 5309 77 | 5733 78 | 4496 79 | 5228 80 | 5524 81 | 4356 82 | 5167 83 | 4094 84 | 5502 85 | 5348 86 | 5514 87 | 3842 88 | 5579 89 | 5363 90 | 5902 91 | 5398 92 | 3816 93 | 6055 94 | 6105 95 | 5304 96 | 5391 97 | 5163 98 | 5253 99 | 7092 100 | 4169 101 | 7212 102 | 3246 103 | 3281 104 | 4095 105 | 7223 106 | 4205 107 | 5008 108 | 4377 109 | 5376 110 | 5342 111 | 6025 112 | 5201 113 | 4091 114 | 6052 115 | 3274 116 | 7078 117 | 3279 118 | 5155 119 | 6037 120 | 5393 121 | 4362 122 | 5086 123 | 3146 124 | 4206 125 | 7253 126 | 3166 127 | 7091 128 | 7009 129 | 5100 130 | 7157 131 | 5213 132 | 5550 133 | 5400 134 | 3313 135 | 7107 136 | 7222 137 | 7209 138 | 3300 139 | 3843 140 | 4387 141 | 5567 142 | 5509 143 | 3822 144 | 5186 145 | 3235 146 | 5116 147 | 4487 148 | 6016 149 | 4723 150 | 5123 151 | 3269 152 | 3171 153 | 7090 154 | 7130 155 | 5045 156 | 3758 157 | 3213 158 | 3144 159 | 5171 160 | 3241 161 | 7238 162 | 7075 163 | 7146 164 | 6017 165 | 7162 166 | 7010 167 | 7058 168 | 7057 169 | 5765 170 | 5905 171 | 4104 172 | 5535 173 | 5112 174 | 5199 175 | 3835 176 | 3154 177 | 7154 178 | 3207 179 | 3183 180 | 5560 181 | 4383 182 | 7165 183 | 5340 184 | 5233 185 | 5215 186 | 5354 187 | 5507 188 | 5039 189 | 6128 190 | 5379 191 | 5277 192 | 4484 193 | 7065 194 | 5601 195 | 3153 196 | 5364 197 | 5280 198 | 7005 199 | 5190 200 | 5556 201 | 3177 202 | 5238 203 | 5525 204 | 4110 205 | 6111 206 | 4522 207 | 4363 208 | 4352 209 | 7180 210 | 7259 211 | 5906 212 | 7256 213 | 5162 214 | 7233 215 | 5528 216 | 4174 217 | 5180 218 | 5130 219 | 7260 220 | 5047 221 | 3249 222 | 5505 223 | 7267 224 | 6007 225 | 7137 226 | 4717 227 | 5318 228 | 7246 229 | 7101 230 | 3266 231 | 5371 232 | 7147 233 | 5708 234 | 5161 235 | 5777 236 | 5055 237 | 6129 238 | 5346 239 | 3275 240 | 3243 241 | 5511 242 | 4520 243 | 4360 244 | 3817 245 | 7184 246 | 4121 247 | 7283 248 | 3844 249 | 5531 250 | 5279 251 | 7229 252 | 7178 253 | 5284 254 | 5226 255 | 6021 256 | 3824 257 | 5007 258 | 7004 259 | 5709 260 | 5216 261 | 3821 262 | 3849 263 | 3301 264 | 3833 265 | 7063 266 | 7035 267 | 5909 268 | 4162 269 | 3774 270 | 7186 271 | 4731 272 | 3298 273 | 5582 274 | 5562 275 | 6139 276 | 7236 277 | 6049 278 | 5187 279 | 3267 280 | 6006 281 | 5337 282 | 5366 283 | 3283 284 | 5552 285 | 5231 286 | 5770 287 | 5258 288 | 7067 289 | 7206 290 | 4519 291 | 5533 292 | 6014 293 | 5206 294 | 6012 295 | 4732 296 | 5254 297 | 4393 298 | 7293 299 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/50/2/set2/train.txt: -------------------------------------------------------------------------------- 1 | 3182 2 | 3175 3 | 6126 4 | 5151 5 | 3825 6 | 5152 7 | 7251 8 | 4388 9 | 3277 10 | 4497 11 | 5517 12 | 4521 13 | 5286 14 | 3196 15 | 4049 16 | 6115 17 | 5301 18 | 5915 19 | 5338 20 | 7076 21 | 5273 22 | 7227 23 | 5003 24 | 5013 25 | 5743 26 | 6154 27 | 5392 28 | 5040 29 | 6045 30 | 5319 31 | 3273 32 | 7287 33 | 5555 34 | 4729 35 | 5158 36 | 5923 37 | 7155 38 | 5139 39 | 4518 40 | 4381 41 | 7286 42 | 5305 43 | 3827 44 | 3773 45 | 7081 46 | 3142 47 | 4170 48 | 6041 49 | 4490 50 | 4721 51 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/50/2/set3/test.txt: -------------------------------------------------------------------------------- 1 | 5126 2 | 7094 3 | 7189 4 | 7073 5 | 3830 6 | 5189 7 | 3828 8 | 5924 9 | 3751 10 | 3220 11 | 3297 12 | 5910 13 | 5242 14 | 7116 15 | 3271 16 | 5217 17 | 3763 18 | 7218 19 | 6044 20 | 3316 21 | 3227 22 | 5152 23 | 4175 24 | 7055 25 | 5320 26 | 4505 27 | 4113 28 | 6144 29 | 4100 30 | 3753 31 | 4172 32 | 5188 33 | 4359 34 | 7125 35 | 7275 36 | 4376 37 | 5920 38 | 3185 39 | 4123 40 | 7126 41 | 4097 42 | 7106 43 | 3834 44 | 3770 45 | 7024 46 | 3825 47 | 4503 48 | 5705 49 | 5710 50 | 3172 51 | 6116 52 | 4096 53 | 5205 54 | 4111 55 | 7286 56 | 5925 57 | 7219 58 | 4177 59 | 3164 60 | 3188 61 | 4502 62 | 3752 63 | 7155 64 | 7054 65 | 3240 66 | 7098 67 | 4054 68 | 7266 69 | 5557 70 | 4713 71 | 4507 72 | 4718 73 | 5303 74 | 5741 75 | 6009 76 | 4518 77 | 4508 78 | 5119 79 | 3168 80 | 7085 81 | 5224 82 | 4715 83 | 5259 84 | 6132 85 | 5260 86 | 3314 87 | 3191 88 | 7161 89 | 3196 90 | 5555 91 | 7289 92 | 5351 93 | 5245 94 | 4388 95 | 7134 96 | 7135 97 | 7284 98 | 4354 99 | 6152 100 | 5176 101 | 5103 102 | 6112 103 | 4375 104 | 3169 105 | 5559 106 | 7062 107 | 5381 108 | 5758 109 | 6154 110 | 6145 111 | 3244 112 | 5287 113 | 5182 114 | 7169 115 | 7173 116 | 5285 117 | 5250 118 | 7061 119 | 7205 120 | 5235 121 | 5566 122 | 4497 123 | 3204 124 | 3260 125 | 4719 126 | 5361 127 | 3831 128 | 3845 129 | 5580 130 | 4170 131 | 5701 132 | 5702 133 | 6023 134 | 7020 135 | 5202 136 | 5728 137 | 5394 138 | 3809 139 | 4117 140 | 4480 141 | 5536 142 | 5399 143 | 5307 144 | 4335 145 | 4494 146 | 3142 147 | 5360 148 | 5355 149 | 5564 150 | 5282 151 | 5058 152 | 5386 153 | 3210 154 | 5313 155 | 4479 156 | 5291 157 | 7273 158 | 3836 159 | 3272 160 | 4195 161 | 7287 162 | 3773 163 | 5714 164 | 7076 165 | 5743 166 | 3167 167 | 7251 168 | 3143 169 | 6039 170 | 6050 171 | 3173 172 | 5600 173 | 5049 174 | 7269 175 | 4521 176 | 5314 177 | 5769 178 | 7056 179 | 5506 180 | 3276 181 | 5727 182 | 5261 183 | 5703 184 | 5402 185 | 5900 186 | 4390 187 | 5296 188 | 5520 189 | 4385 190 | 7166 191 | 5519 192 | 5300 193 | 6046 194 | 3205 195 | 5094 196 | 5241 197 | 5523 198 | 5706 199 | 4490 200 | 7264 201 | 6008 202 | 3270 203 | 7183 204 | 5244 205 | 5222 206 | 5332 207 | 3226 208 | 7210 209 | 5532 210 | 7172 211 | 5922 212 | 4161 213 | 3296 214 | 5609 215 | 5257 216 | 5716 217 | 3273 218 | 5735 219 | 5745 220 | 5311 221 | 5513 222 | 4740 223 | 5274 224 | 5271 225 | 5365 226 | 7237 227 | 3186 228 | 6150 229 | 5113 230 | 3754 231 | 3277 232 | 5397 233 | 3150 234 | 3818 235 | 7263 236 | 4729 237 | 5096 238 | 3161 239 | 5251 240 | 7118 241 | 6038 242 | 4716 243 | 7006 244 | 3837 245 | 7060 246 | 5923 247 | 3715 248 | 5396 249 | 5914 250 | 5249 251 | 5092 252 | 5322 253 | 7176 254 | 4209 255 | 6057 256 | 3759 257 | 5023 258 | 3229 259 | 4380 260 | 4482 261 | 5915 262 | 4528 263 | 5561 264 | 5290 265 | 3256 266 | 5278 267 | 5583 268 | 5286 269 | 5718 270 | 3174 271 | 7086 272 | 4389 273 | 3157 274 | 7277 275 | 6018 276 | 5298 277 | 5208 278 | 7201 279 | 7102 280 | 7252 281 | 3175 282 | 5127 283 | 7235 284 | 3757 285 | 7167 286 | 5031 287 | 4101 288 | 6034 289 | 5517 290 | 3823 291 | 7110 292 | 5729 293 | 7279 294 | 5256 295 | 5306 296 | 3182 297 | 4093 298 | 7245 299 | 5160 300 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_rand/50/2/set3/train.txt: -------------------------------------------------------------------------------- 1 | 4358 2 | 5529 3 | 3156 4 | 5039 5 | 7246 6 | 5147 7 | 5101 8 | 5909 9 | 5207 10 | 5083 11 | 5905 12 | 7241 13 | 3259 14 | 3212 15 | 3243 16 | 4393 17 | 6021 18 | 7178 19 | 5774 20 | 7092 21 | 7214 22 | 5336 23 | 5171 24 | 7162 25 | 5530 26 | 3772 27 | 4167 28 | 3840 29 | 5916 30 | 5578 31 | 3827 32 | 4162 33 | 4533 34 | 3249 35 | 3265 36 | 5284 37 | 5338 38 | 5558 39 | 5369 40 | 5611 41 | 7065 42 | 4184 43 | 4342 44 | 7008 45 | 5505 46 | 7111 47 | 7225 48 | 7212 49 | 5174 50 | 5347 51 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_reduced/set1/test.txt: -------------------------------------------------------------------------------- 1 | 7236 2 | 3177 3 | 5245 4 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_reduced/set1/train.txt: -------------------------------------------------------------------------------- 1 | 3167 2 | 3229 3 | 7088 4 | 7232 5 | 7081 6 | 3231 7 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_reduced/set2/test.txt: -------------------------------------------------------------------------------- 1 | 3167 2 | 3229 3 | 7088 4 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_reduced/set2/train.txt: -------------------------------------------------------------------------------- 1 | 7236 2 | 3177 3 | 5245 4 | 7232 5 | 7081 6 | 3231 7 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_reduced/set3/test.txt: -------------------------------------------------------------------------------- 1 | 7232 2 | 7081 3 | 3231 4 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/hand_xray_dataset/setup/cv_reduced/set3/train.txt: -------------------------------------------------------------------------------- 1 | 3167 2 | 3229 3 | 7088 4 | 7236 5 | 3177 6 | 5245 7 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/landmark.csv: -------------------------------------------------------------------------------- 1 | Image,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark,landmark 2 | 3167,313,2247,352,2160,488,2281,522,2242,802,2250,806,2071,416,2065,529,2138,671,2114,526,2017,618,2039,739,1927,792,1966,437,1795,508,1768,616,1775,758,1807,866,1863,1209,1507,1382,1226,1515,1030,886,1113,986,712,1042,482,1070,317,647,1086,624,633,590,350,547,165,471,1160,418,740,391,480,384,286,291,1253,153,957,96,789,68,631 3 | 3177,356,1992,405,1891,495,2003,519,2009,782,2042,798,1895,458,1852,561,1919,694,1909,561,1793,643,1829,774,1699,850,1751,471,1627,541,1587,631,1582,762,1589,903,1619,1132,1207,1244,897,1334,686,846,920,890,536,924,314,932,143,623,925,639,502,647,225,639,35,427,1004,371,604,357,330,357,141,257,1117,163,810,123,616,107,452 4 | 3229,240,2162,263,2066,369,2171,400,2168,665,2168,654,1996,321,2020,423,2084,536,2060,389,1920,474,1978,636,1869,690,1913,322,1755,398,1740,503,1746,627,1757,752,1792,964,1435,1011,1132,1015,911,746,1109,802,719,831,479,841,297,544,1078,589,636,600,336,584,124,352,1145,351,728,344,443,338,238,176,1252,124,940,94,754,91,567 5 | 3231,364,1880,396,1803,488,1896,501,1916,735,1950,758,1808,464,1802,548,1854,653,1844,539,1741,617,1771,711,1680,775,1715,467,1591,538,1568,631,1554,739,1565,850,1610,1064,1278,1210,1029,1372,890,794,952,822,569,858,350,879,193,594,946,581,500,579,218,564,56,418,1034,384,638,352,373,333,209,248,1138,137,855,66,683,26,537 6 | 5245,400,1695,439,1622,504,1677,546,1673,756,1681,738,1577,491,1529,569,1587,688,1565,546,1461,637,1511,748,1426,814,1474,503,1322,558,1314,649,1321,752,1343,867,1406,1126,1172,1290,1042,1433,932,895,836,957,554,986,381,1003,244,703,806,725,468,716,256,715,113,534,854,490,538,447,339,438,195,376,927,273,710,206,584,152,463 7 | 7081,401,1765,417,1688,533,1771,561,1745,758,1718,748,1613,476,1623,556,1665,667,1628,524,1547,596,1577,683,1473,766,1491,446,1422,497,1395,598,1384,704,1375,809,1403,932,1045,993,820,1061,639,719,837,759,526,777,338,767,176,541,844,536,487,527,251,514,85,400,929,350,602,313,384,301,210,279,1009,175,785,122,662,101,512 8 | 7088,350,1839,360,1766,501,1865,534,1817,744,1806,738,1694,424,1703,517,1748,646,1715,512,1645,584,1671,710,1567,736,1594,417,1501,481,1471,593,1461,696,1452,797,1503,988,1180,1073,949,1166,771,765,857,834,532,864,336,883,190,558,855,591,487,596,253,578,92,389,937,360,596,342,382,322,216,254,1045,195,793,161,659,136,520 9 | 7232,368,1972,395,1873,536,1975,567,1959,811,1958,816,1795,487,1817,580,1878,703,1850,563,1739,651,1776,745,1666,830,1704,473,1574,554,1534,656,1542,771,1558,884,1590,1094,1221,1164,966,1229,793,842,910,912,569,944,365,968,212,634,926,655,531,658,284,646,113,461,1025,411,657,372,424,345,252,302,1116,223,848,164,690,115,549 10 | 7236,436,2117,453,2011,592,2129,629,2068,906,2079,897,1894,532,1908,634,1974,773,1949,608,1830,714,1871,867,1742,915,1805,523,1641,623,1609,739,1605,860,1618,997,1711,1274,1370,1373,1098,1453,891,959,1002,1027,635,1063,415,1084,244,731,986,757,559,755,291,743,108,529,1074,465,667,415,415,397,225,345,1150,230,853,156,683,102,522 11 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data/landmarktraining.csv: -------------------------------------------------------------------------------- 1 | Image,Mask 2 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 3 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 4 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 5 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 6 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 7 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 8 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 9 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 10 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 11 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 12 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 13 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 14 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 15 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 16 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 17 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 18 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 19 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 20 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 21 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 22 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 23 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 24 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 25 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 26 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 27 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 28 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 29 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 30 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 31 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 32 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 33 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 34 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 35 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 36 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 37 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 38 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 39 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 40 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 41 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 42 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 43 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 44 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 45 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 46 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 47 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 48 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 49 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 50 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 51 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 52 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 53 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 54 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 55 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 56 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 57 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 58 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 59 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 60 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 61 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 62 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 63 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 64 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 65 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 66 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 67 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 68 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 69 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 70 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 71 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 72 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 73 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 74 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 75 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 76 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 77 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 78 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 79 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 80 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 81 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 82 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 83 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 84 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 85 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 86 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 87 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 88 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 89 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 90 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 91 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 92 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 93 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 94 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 95 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 96 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 97 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 98 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 99 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 100 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 101 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 102 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 103 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 104 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 105 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 106 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 107 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 108 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 109 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 110 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 111 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 112 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 113 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 114 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 115 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 116 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 117 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 118 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 119 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 120 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 121 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 122 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 123 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 124 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 125 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 126 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 127 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 128 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 129 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 130 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 131 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 132 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 133 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 134 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 135 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 136 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 137 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 138 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 139 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 140 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 141 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 142 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 143 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 144 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 145 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 146 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 147 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 148 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 149 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 150 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 151 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 152 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 153 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 154 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 155 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 156 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 157 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 158 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 159 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 160 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 161 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 162 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 163 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 164 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 165 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 166 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 167 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 168 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 169 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 170 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 171 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 172 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 173 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 174 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 175 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 176 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 177 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 178 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 179 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 180 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 181 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 182 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 183 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 184 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 185 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 186 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 187 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 188 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 189 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 190 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 191 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 192 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 193 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 194 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 195 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 196 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 197 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 198 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 199 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 200 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 201 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 202 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 203 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 204 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 205 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 206 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 207 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 208 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 209 | E:\Data\Bone_CT\landmark/Image/0.npy,E:\Data\Bone_CT\landmark/Mask/0.npy 210 | E:\Data\Bone_CT\landmark/Image/1.npy,E:\Data\Bone_CT\landmark/Mask/1.npy 211 | E:\Data\Bone_CT\landmark/Image/2.npy,E:\Data\Bone_CT\landmark/Mask/2.npy 212 | E:\Data\Bone_CT\landmark/Image/3.npy,E:\Data\Bone_CT\landmark/Mask/3.npy 213 | E:\Data\Bone_CT\landmark/Image/4.npy,E:\Data\Bone_CT\landmark/Mask/4.npy 214 | E:\Data\Bone_CT\landmark/Image/5.npy,E:\Data\Bone_CT\landmark/Mask/5.npy 215 | E:\Data\Bone_CT\landmark/Image/6.npy,E:\Data\Bone_CT\landmark/Mask/6.npy 216 | E:\Data\Bone_CT\landmark/Image/7.npy,E:\Data\Bone_CT\landmark/Mask/7.npy 217 | E:\Data\Bone_CT\landmark/Image/8.npy,E:\Data\Bone_CT\landmark/Mask/8.npy 218 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/data2dprepare.py: -------------------------------------------------------------------------------- 1 | from __future__ import print_function, division 2 | import SimpleITK as sitk 3 | import pandas as pd 4 | import math 5 | import numpy as np 6 | import os 7 | import matplotlib.pyplot as plt 8 | 9 | 10 | def reduce_dimension(image, axis=None): 11 | dim = image.GetDimension() 12 | if axis is None: 13 | axis = dim - 1 14 | size = list(image.GetSize()) 15 | assert size[axis] == 1, 'size in dimension to reduce must be 1' 16 | size[axis] = 0 17 | index = [0] * dim 18 | return sitk.Extract(image, size, index) 19 | 20 | 21 | def resize_image_itk(itkimage, newSize, resamplemethod=sitk.sitkLinear): 22 | """ 23 | image resize withe sitk resampleImageFilter 24 | :param itkimage: 25 | :param newSpacing:such as [1,1,1] 26 | :param resamplemethod: 27 | :return: 28 | """ 29 | dim = itkimage.GetDimension() 30 | newSize = np.array(newSize, float) 31 | # originSpcaing = itkimage.GetSpacing() 32 | resampler = sitk.ResampleImageFilter() 33 | originSize = itkimage.GetSize() 34 | originSpcaing = itkimage.GetSpacing() 35 | factor = originSize / newSize 36 | newSpacing = factor * originSpcaing 37 | newSize = newSize.astype(np.int) 38 | resampler.SetReferenceImage(itkimage) 39 | resampler.SetOutputSpacing(newSpacing.tolist()) 40 | resampler.SetSize(newSize.tolist()) 41 | resampler.SetTransform(sitk.Transform(dim, sitk.sitkIdentity)) 42 | resampler.SetInterpolator(resamplemethod) 43 | itkimgResampled = resampler.Execute(itkimage) 44 | return itkimgResampled 45 | 46 | 47 | def resizeimageandlandmarks(itkimage, shape, landmarkdata): 48 | itkimagesize = itkimage.GetSize() 49 | offsetx, offsety = shape[0] / itkimagesize[0], shape[1] / itkimagesize[1] 50 | # step 1 rezie image to shape size 51 | rezieitkimage = resize_image_itk(itkimage, newSize=shape) 52 | # step 2 resize landmark to shape size 53 | resizelandmarkdata = np.around(landmarkdata * np.array((offsetx, offsety))) 54 | return rezieitkimage, resizelandmarkdata 55 | 56 | 57 | def normalize(slice, bottom=99, down=1): 58 | """ 59 | normalize image with mean and std for regionnonzero,and clip the value into range 60 | :param slice: 61 | :param bottom: 62 | :param down: 63 | :return: 64 | """ 65 | b = np.percentile(slice, bottom) 66 | t = np.percentile(slice, down) 67 | slice = np.clip(slice, t, b) 68 | 69 | image_nonzero = slice[np.nonzero(slice)] 70 | if np.std(slice) == 0 or np.std(image_nonzero) == 0: 71 | return slice 72 | else: 73 | tmp = (slice - np.mean(image_nonzero)) / np.std(image_nonzero) 74 | return tmp 75 | 76 | 77 | def gen_image_mask(srcimg, seg_image, index, trainImage, trainMask): 78 | if os.path.exists(trainImage) is False: 79 | os.mkdir(trainImage) 80 | if os.path.exists(trainMask) is False: 81 | os.mkdir(trainMask) 82 | filepath = trainImage + "\\" + str(index) + ".npy" 83 | filepath2 = trainMask + "\\" + str(index) + ".npy" 84 | np.save(filepath, srcimg) 85 | np.save(filepath2, seg_image) 86 | 87 | 88 | def onelandmarktoheatmap(srcimage, coords, sigma, sigma_scale_factor=1.0, size_sigma_factor=10, normalize_center=True): 89 | """ 90 | Generates a numpy array of the landmark image for the specified point and parameters. 91 | :param srcimage:input src image 92 | :param coords:one landmark coords on src image([x], [x, y] or [x, y, z]) of the point. 93 | :param sigma:Sigma of Gaussian 94 | :param sigma_scale_factor:Every value of the gaussian is multiplied by this value. 95 | :param size_sigma_factor:the region size for which values are being calculated 96 | :param normalize_center:if true, the value on the center is set to scale_factor 97 | otherwise, the default gaussian normalization factor is used 98 | :return:heatmapimage 99 | """ 100 | # landmark holds the image 101 | srcimage = np.squeeze(srcimage) 102 | image_size = np.shape(srcimage) 103 | assert len(image_size) == len(coords), "image dim is not equal landmark coords dim" 104 | dim = len(coords) 105 | heatmap = np.zeros(image_size, dtype=np.float) 106 | # flip point is form [x, y, z] 107 | flipped_coords = coords 108 | region_start = (flipped_coords - sigma * size_sigma_factor / 2).astype(int) 109 | region_end = (flipped_coords + sigma * size_sigma_factor / 2).astype(int) 110 | # check the region start and region end size is in the image range 111 | region_start = np.maximum(0, region_start).astype(int) 112 | region_end = np.minimum(image_size, region_end).astype(int) 113 | # return zero landmark, if region is invalid, i.e., landmark is outside of image 114 | if np.any(region_start >= region_end): 115 | return heatmap 116 | region_size = (region_end - region_start).astype(int) 117 | sigma = sigma * sigma_scale_factor 118 | scale = 1.0 119 | if not normalize_center: 120 | scale /= math.pow(math.sqrt(2 * math.pi) * sigma, dim) 121 | if dim == 1: 122 | dx = np.meshgrid(range(region_size[0])) 123 | x_diff = dx + region_start[0] - flipped_coords[0] 124 | squared_distances = x_diff * x_diff 125 | cropped_heatmap = scale * np.exp(-squared_distances / (2 * math.pow(sigma, 2))) 126 | heatmap[region_start[0]:region_end[0]] = cropped_heatmap[:] 127 | if dim == 2: 128 | dy, dx = np.meshgrid(range(region_size[1]), range(region_size[0])) 129 | x_diff = dx + region_start[0] - flipped_coords[0] 130 | y_diff = dy + region_start[1] - flipped_coords[1] 131 | squared_distances = x_diff * x_diff + y_diff * y_diff 132 | cropped_heatmap = scale * np.exp(-squared_distances / (2 * math.pow(sigma, 2))) 133 | heatmap[region_start[0]:region_end[0], region_start[1]:region_end[1]] = cropped_heatmap[:, :] 134 | if dim == 3: 135 | dy, dx, dz = np.meshgrid(range(region_size[1]), range(region_size[0]), range(region_size[2])) 136 | x_diff = dx + region_start[0] - flipped_coords[0] 137 | y_diff = dy + region_start[1] - flipped_coords[1] 138 | z_diff = dz + region_start[2] - flipped_coords[2] 139 | squared_distances = x_diff * x_diff + y_diff * y_diff + z_diff * z_diff 140 | cropped_heatmap = scale * np.exp(-squared_distances / (2 * math.pow(sigma, 2))) 141 | heatmap[region_start[0]:region_end[0], region_start[1]:region_end[1], 142 | region_start[2]:region_end[2]] = cropped_heatmap[:, :, :] 143 | return heatmap 144 | 145 | 146 | def LandmarkGeneratorHeatmap(srcimage, lanmarks, sigma=3.0): 147 | """ 148 | Generates a numpy array landmark images for the specified points and parameters. 149 | :param srcimage:src image itk 150 | :param lanmarks:image landmarks array 151 | :param sigma:Sigma of Gaussian 152 | :return:heatmap 153 | """ 154 | image_size = np.shape(srcimage) 155 | stack_axis = len(image_size) 156 | heatmap_list = [] 157 | for landmark in lanmarks: 158 | heatmap_list.append(onelandmarktoheatmap(srcimage, landmark, sigma)) 159 | heatmaps = np.stack(heatmap_list, axis=stack_axis) 160 | # convert (x,y,c)array to (y,x,c) 161 | # max_heat = np.sum(heatmaps, axis=2) 162 | # plt.figure("Image") 163 | # plt.imshow(srcimage) 164 | # plt.axis('on') 165 | # plt.title('image') 166 | # plt.show() 167 | # plt.figure("heatmap") 168 | # plt.imshow(max_heat) 169 | # plt.axis('on') 170 | # plt.title('heatmap') 171 | # plt.show() 172 | return heatmaps 173 | 174 | 175 | def LoadimageandLandmark(csv_file, num_landmarks, dim): 176 | """ 177 | load image and landmark from csv file 178 | :param csv_file:landmark and image string 179 | like this Imagepath,mark1,mark2.....,the number is num_landmarks*dim 180 | :param num_landmarks:number of landmarks 181 | :param dim:lanmark dimension 182 | :return:image(numbersamples,),landmark(numbersamples,num_landmarks,dim) 183 | """ 184 | csvdata = pd.read_csv(csv_file) 185 | imagedata = csvdata.iloc[:, 0].values 186 | lanmarkdata = csvdata.iloc[:, 1:].values 187 | assert num_landmarks * dim == np.shape(lanmarkdata)[1], 'csv landmarks is not equal to num_landmarks*dim' 188 | newlanmarkdata = np.reshape(lanmarkdata, (np.shape(lanmarkdata)[0], num_landmarks, dim)) 189 | return imagedata, newlanmarkdata 190 | 191 | 192 | def preparedata(): 193 | path = "D:\Project\python\\boneproject\\bonelandmarkdetection\dataprocess\data\hand_xray_dataset\images\\" 194 | csv_file = "D:\Project\python\\boneproject\\bonelandmarkdetection\dataprocess\data\landmark.csv" 195 | trainImage = "E:\Data\Bone_CT\landmark\Image" 196 | trainMask = "E:\Data\Bone_CT\landmark\Mask" 197 | shape = (512, 512) 198 | # step 1 load the landmark and image from csv 199 | imagedata, landmarkdata = LoadimageandLandmark(csv_file, 37, 2) 200 | for indx in range(len(imagedata)): 201 | print(str(imagedata[indx])) 202 | filepath = path + str(imagedata[indx]) + ".mha" 203 | src_itkimage = sitk.ReadImage(filepath, sitk.sitkFloat32) 204 | # step 2 reduce dimension 205 | src_itkimage = reduce_dimension(src_itkimage) 206 | # step 3 resize image and landmark to fixed shape 207 | resize_itkimage, resize_landmarks = resizeimageandlandmarks(src_itkimage, shape, landmarkdata[indx]) 208 | # step 4 generate landmarks heatmaps 209 | # the order is (y,x) 210 | image_array = sitk.GetArrayFromImage(resize_itkimage) 211 | image_array = np.transpose(image_array, (1, 0)) 212 | heatmaps = LandmarkGeneratorHeatmap(image_array, resize_landmarks, sigma=5.0) 213 | # src_image = sitk.GetArrayFromImage(src_itkimage) 214 | # src_image = np.transpose(src_image, (1, 0)) 215 | # heatmaps1 = LandmarkGeneratorHeatmap(src_image, landmarkdata[indx], sigma=5) 216 | # step 5 normalization the image to mean 0 std 1 217 | image_array = normalize(image_array) 218 | # step 6 save image and heatmaps image to file 219 | gen_image_mask(image_array, heatmaps, indx, trainImage, trainMask) 220 | 221 | 222 | #preparedata() 223 | -------------------------------------------------------------------------------- /landmarkdetection/dataprocess/utils.py: -------------------------------------------------------------------------------- 1 | import os 2 | import numpy as np 3 | 4 | 5 | def calcu_dice(Y_pred, Y_gt, K=255): 6 | """ 7 | calculate two input dice value 8 | :param Y_pred: 9 | :param Y_gt: 10 | :param K: 11 | :return: 12 | """ 13 | intersection = 2 * np.sum(Y_pred[Y_gt == K]) 14 | denominator = np.sum(Y_pred) + np.sum(Y_gt) 15 | loss = (intersection / denominator) 16 | return loss 17 | 18 | 19 | def file_name_path(file_dir, dir=True, file=False): 20 | """ 21 | get root path,sub_dirs,all_sub_files 22 | :param file_dir: 23 | :return: 24 | """ 25 | for root, dirs, files in os.walk(file_dir): 26 | if len(dirs) and dir: 27 | print("sub_dirs:", dirs) 28 | return dirs 29 | if len(files) and file: 30 | print("files:", files) 31 | return files 32 | 33 | 34 | def save_file2csv(file_dir, file_name): 35 | """ 36 | save file path to csv 37 | :param file_dir:preprocess data path 38 | :param file_name:output csv name 39 | :return: 40 | """ 41 | out = open(file_name, 'w') 42 | image = "Image" 43 | mask = "Mask" 44 | file_image_dir = file_dir + "/" + image 45 | file_mask_dir = file_dir + "/" + mask 46 | file_paths = file_name_path(file_image_dir, dir=False, file=True) 47 | out.writelines("Image,Mask" + "\n") 48 | for index in range(len(file_paths)): 49 | out_file_image_path = file_image_dir + "/" + file_paths[index] 50 | out_file_mask_path = file_mask_dir + "/" + file_paths[index] 51 | out.writelines(out_file_image_path + "," + out_file_mask_path + "\n") 52 | 53 | 54 | #save_file2csv("E:\Data\Bone_CT\landmark", "traindetection.csv") 55 | -------------------------------------------------------------------------------- /landmarkdetection/detection/__init__.py: -------------------------------------------------------------------------------- 1 | __author__ = 'junqiang chen' 2 | __version__ = '1.0.0' 3 | __Time__ = '2019.12.16' 4 | -------------------------------------------------------------------------------- /landmarkdetection/detection/layer.py: -------------------------------------------------------------------------------- 1 | ''' 2 | covlution layer,pool layer,initialization。。。。 3 | ''' 4 | from __future__ import division 5 | import tensorflow as tf 6 | import numpy as np 7 | import cv2 8 | 9 | 10 | # Weight initialization (Xavier's init) 11 | def weight_xavier_init(shape, n_inputs, n_outputs, activefunction='sigomd', uniform=True, variable_name=None): 12 | if activefunction == 'sigomd': 13 | if uniform: 14 | init_range = tf.sqrt(6.0 / (n_inputs + n_outputs)) 15 | initial = tf.random_uniform(shape, -init_range, init_range) 16 | return tf.get_variable(name=variable_name, initializer=initial, trainable=True) 17 | else: 18 | stddev = tf.sqrt(2.0 / (n_inputs + n_outputs)) 19 | initial = tf.truncated_normal(shape, mean=0.0, stddev=stddev) 20 | return tf.get_variable(name=variable_name, initializer=initial, trainable=True) 21 | elif activefunction == 'relu': 22 | if uniform: 23 | init_range = tf.sqrt(6.0 / (n_inputs + n_outputs)) * np.sqrt(2) 24 | initial = tf.random_uniform(shape, -init_range, init_range) 25 | return tf.get_variable(name=variable_name, initializer=initial, trainable=True) 26 | else: 27 | stddev = tf.sqrt(2.0 / (n_inputs + n_outputs)) * np.sqrt(2) 28 | initial = tf.truncated_normal(shape, mean=0.0, stddev=stddev) 29 | return tf.get_variable(name=variable_name, initializer=initial, trainable=True) 30 | elif activefunction == 'tan': 31 | if uniform: 32 | init_range = tf.sqrt(6.0 / (n_inputs + n_outputs)) * 4 33 | initial = tf.random_uniform(shape, -init_range, init_range) 34 | return tf.get_variable(name=variable_name, initializer=initial, trainable=True) 35 | else: 36 | stddev = tf.sqrt(2.0 / (n_inputs + n_outputs)) * 4 37 | initial = tf.truncated_normal(shape, mean=0.0, stddev=stddev) 38 | return tf.get_variable(name=variable_name, initializer=initial, trainable=True) 39 | 40 | 41 | # Bias initialization 42 | def bias_variable(shape, variable_name=None): 43 | initial = tf.constant(0.1, shape=shape) 44 | return tf.get_variable(name=variable_name, initializer=initial, trainable=True) 45 | 46 | 47 | # 3D convolution 48 | def conv3d(x, W, stride=1): 49 | conv_3d = tf.nn.conv3d(x, W, strides=[1, stride, stride, stride, 1], padding='SAME') 50 | return conv_3d 51 | 52 | 53 | # 2D convolution 54 | def conv2d(x, W, stride=1): 55 | conv_2d = tf.nn.conv2d(x, W, strides=[1, stride, stride, 1], padding='SAME') 56 | return conv_2d 57 | 58 | 59 | # 3D downsampling 60 | def downsample3d(x): 61 | pool3d = tf.nn.avg_pool3d(x, ksize=[1, 2, 2, 2, 1], strides=[1, 2, 2, 2, 1], padding='SAME') 62 | return pool3d 63 | 64 | 65 | # 2D downsampling 66 | def downsample2d(x): 67 | pool2d = tf.nn.avg_pool(x, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='SAME') 68 | return pool2d 69 | 70 | 71 | # 3D upsampling 72 | def upsample3d(x, scale_factor, scope=None): 73 | '''' 74 | X shape is [nsample,dim,rows, cols, channel] 75 | out shape is[nsample,dim*scale_factor,rows*scale_factor, cols*scale_factor, channel] 76 | ''' 77 | x_shape = tf.shape(x) 78 | k = tf.ones([scale_factor, scale_factor, scale_factor, x_shape[-1], x_shape[-1]]) 79 | # note k.shape = [dim,rows, cols, depth_in, depth_output] 80 | output_shape = tf.stack( 81 | [x_shape[0], x_shape[1] * scale_factor, x_shape[2] * scale_factor, x_shape[3] * scale_factor, x_shape[4]]) 82 | upsample = tf.nn.conv3d_transpose(value=x, filter=k, output_shape=output_shape, 83 | strides=[1, scale_factor, scale_factor, scale_factor, 1], 84 | padding='SAME', name=scope) 85 | return upsample 86 | 87 | 88 | # 2D upsampling 89 | def upsample2d(x, scale_factor, scope=None): 90 | '''' 91 | X shape is [nsample,dim,rows, cols, channel] 92 | out shape is[nsample,dim*scale_factor,rows*scale_factor, cols*scale_factor, channel] 93 | ''' 94 | x_shape = tf.shape(x) 95 | k = tf.ones([scale_factor, scale_factor, x_shape[-1], x_shape[-1]]) 96 | # note k.shape = [dim,rows, cols, depth_in, depth_output] 97 | output_shape = tf.stack( 98 | [x_shape[0], x_shape[1] * scale_factor, x_shape[2] * scale_factor, x_shape[-1]]) 99 | upsample = tf.nn.conv2d_transpose(value=x, filter=k, output_shape=output_shape, 100 | strides=[1, scale_factor, scale_factor, 1], padding='SAME', name=scope) 101 | return upsample 102 | 103 | 104 | # 3D deconvolution 105 | def deconv3d(x, W, samefeature=False, depth=False): 106 | """ 107 | depth flag:False is z axis is same between input and output,true is z axis is input is twice than output 108 | """ 109 | x_shape = tf.shape(x) 110 | if depth: 111 | if samefeature: 112 | output_shape = tf.stack([x_shape[0], x_shape[1] * 2, x_shape[2] * 2, x_shape[3] * 2, x_shape[4]]) 113 | else: 114 | output_shape = tf.stack([x_shape[0], x_shape[1] * 2, x_shape[2] * 2, x_shape[3] * 2, x_shape[4] // 2]) 115 | deconv = tf.nn.conv3d_transpose(x, W, output_shape, strides=[1, 2, 2, 2, 1], padding='SAME') 116 | else: 117 | if samefeature: 118 | output_shape = tf.stack([x_shape[0], x_shape[1] * 2, x_shape[2] * 2, x_shape[3], x_shape[4]]) 119 | else: 120 | output_shape = tf.stack([x_shape[0], x_shape[1] * 2, x_shape[2] * 2, x_shape[3], x_shape[4] // 2]) 121 | deconv = tf.nn.conv3d_transpose(x, W, output_shape, strides=[1, 2, 2, 1, 1], padding='SAME') 122 | return deconv 123 | 124 | 125 | # 2D deconvolution 126 | def deconv2d(x, W, samefeature=False): 127 | """ 128 | depth flag:False is z axis is same between input and output,true is z axis is input is twice than output 129 | """ 130 | x_shape = tf.shape(x) 131 | if samefeature: 132 | output_shape = tf.stack([x_shape[0], x_shape[1] * 2, x_shape[2] * 2, x_shape[3]]) 133 | else: 134 | output_shape = tf.stack([x_shape[0], x_shape[1] * 2, x_shape[2] * 2, x_shape[3] // 2]) 135 | deconv = tf.nn.conv2d_transpose(x, W, output_shape, strides=[1, 2, 2, 1], padding='SAME') 136 | return deconv 137 | 138 | 139 | # Max Pooling 140 | def max_pool3d(x, depth=True): 141 | """ 142 | depth flag:False is z axis is same between input and output,true is z axis is input is twice than output 143 | """ 144 | if depth: 145 | pool3d = tf.nn.max_pool3d(x, ksize=[1, 2, 2, 2, 1], strides=[1, 2, 2, 2, 1], padding='SAME') 146 | else: 147 | pool3d = tf.nn.max_pool3d(x, ksize=[1, 2, 2, 1, 1], strides=[1, 2, 2, 1, 1], padding='SAME') 148 | return pool3d 149 | 150 | 151 | # Max Pooling 152 | def max_pool2d(x): 153 | """ 154 | depth flag:False is z axis is same between input and output,true is z axis is input is twice than output 155 | """ 156 | pool2d = tf.nn.max_pool(x, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='SAME') 157 | return pool2d 158 | 159 | 160 | # Unet crop and concat 161 | def crop_and_concat(x1, x2): 162 | x1_shape = tf.shape(x1) 163 | x2_shape = tf.shape(x2) 164 | # offsets for the top left corner of the crop 165 | offsets = [0, (x1_shape[1] - x2_shape[1]) // 2, 166 | (x1_shape[2] - x2_shape[2]) // 2, (x1_shape[3] - x2_shape[3]) // 2, 0] 167 | size = [-1, x2_shape[1], x2_shape[2], x2_shape[3], -1] 168 | x1_crop = tf.slice(x1, offsets, size) 169 | return tf.concat([x1_crop, x2], 4) 170 | 171 | 172 | # Unet crop and concat 173 | def crop_and_concat2d(x1, x2): 174 | x1_shape = tf.shape(x1) 175 | x2_shape = tf.shape(x2) 176 | # offsets for the top left corner of the crop 177 | offsets = [0, (x1_shape[1] - x2_shape[1]) // 2, 178 | (x1_shape[2] - x2_shape[2]) // 2, 0] 179 | size = [-1, x2_shape[1], x2_shape[2], -1] 180 | x1_crop = tf.slice(x1, offsets, size) 181 | return tf.concat([x1_crop, x2], 3) 182 | 183 | 184 | # Batch Normalization 185 | def normalizationlayer(x, is_train, height=None, width=None, image_z=None, norm_type=None, G=16, esp=1e-5, scope=None): 186 | """ 187 | :param x:input data with shap of[batch,height,width,channel] 188 | :param is_train:flag of normalizationlayer,True is training,False is Testing 189 | :param height:in some condition,the data height is in Runtime determined,such as through deconv layer and conv2d 190 | :param width:in some condition,the data width is in Runtime determined 191 | :param image_z: 192 | :param norm_type:normalization type:support"batch","group","None" 193 | :param G:in group normalization,channel is seperated with group number(G) 194 | :param esp:Prevent divisor from being zero 195 | :param scope:normalizationlayer scope 196 | :return: 197 | """ 198 | with tf.name_scope(scope + norm_type): 199 | if norm_type == None: 200 | output = x 201 | elif norm_type == 'batch': 202 | output = tf.contrib.layers.batch_norm(x, center=True, scale=True, is_train=is_train) 203 | elif norm_type == "group": 204 | # tranpose:[bs,z,h,w,c]to[bs,c,z,h,w]following the paper 205 | x = tf.transpose(x, [0, 4, 1, 2, 3]) 206 | N, C, Z, H, W = x.get_shape().as_list() 207 | G = min(G, C) 208 | if H == None and W == None and Z == None: 209 | Z, H, W = image_z, height, width 210 | x = tf.reshape(x, [-1, G, C // G, Z, H, W]) 211 | mean, var = tf.nn.moments(x, [2, 3, 4, 5], keep_dims=True) 212 | x = (x - mean) / tf.sqrt(var + esp) 213 | gama = tf.get_variable(scope + norm_type + 'group_gama', [C], initializer=tf.constant_initializer(1.0)) 214 | beta = tf.get_variable(scope + norm_type + 'group_beta', [C], initializer=tf.constant_initializer(0.0)) 215 | gama = tf.reshape(gama, [1, C, 1, 1, 1]) 216 | beta = tf.reshape(beta, [1, C, 1, 1, 1]) 217 | output = tf.reshape(x, [-1, C, Z, H, W]) * gama + beta 218 | # tranpose:[bs,c,z,h,w]to[bs,z,h,w,c]following the paper 219 | output = tf.transpose(output, [0, 2, 3, 4, 1]) 220 | return output 221 | 222 | 223 | # Batch Normalization 224 | def normalizationlayer2d(x, is_train, height=None, width=None, norm_type=None, G=16, esp=1e-5, 225 | scope=None): 226 | """ 227 | :param x:input data with shap of[batch,height,width,channel] 228 | :param is_train:flag of normalizationlayer,True is training,False is Testing 229 | :param height:in some condition,the data height is in Runtime determined,such as through deconv layer and conv2d 230 | :param width:in some condition,the data width is in Runtime determined 231 | :param image_z: 232 | :param norm_type:normalization type:support"batch","group","None" 233 | :param G:in group normalization,channel is seperated with group number(G) 234 | :param esp:Prevent divisor from being zero 235 | :param scope:normalizationlayer scope 236 | :return: 237 | """ 238 | with tf.name_scope(scope + norm_type): 239 | if norm_type == None: 240 | output = x 241 | return output 242 | elif norm_type == 'batch': 243 | output = tf.contrib.layers.batch_norm(x, center=True, scale=True, is_train=is_train) 244 | return output 245 | elif norm_type == "group": 246 | # tranpose:[bs,h,w,c]to[bs,c,h,w]following the paper 247 | x = tf.transpose(x, [0, 3, 1, 2]) 248 | N, C, H, W = x.get_shape().as_list() 249 | G = min(G, C) 250 | if H == None and W == None: 251 | H, W = height, width 252 | x = tf.reshape(x, [-1, G, C // G, H, W]) 253 | mean, var = tf.nn.moments(x, [2, 3, 4], keep_dims=True) 254 | x = (x - mean) / tf.sqrt(var + esp) 255 | gama = tf.get_variable(scope + norm_type + 'group_gama', [C], initializer=tf.constant_initializer(1.0)) 256 | beta = tf.get_variable(scope + norm_type + 'group_beta', [C], initializer=tf.constant_initializer(0.0)) 257 | gama = tf.reshape(gama, [1, C, 1, 1]) 258 | beta = tf.reshape(beta, [1, C, 1, 1]) 259 | output = tf.reshape(x, [-1, C, H, W]) * gama + beta 260 | # tranpose:[bs,c,h,w]to[bs,h,w,c]following the paper 261 | output = tf.transpose(output, [0, 2, 3, 1]) 262 | return output 263 | 264 | 265 | # resnet add_connect 266 | def resnet_Add(x1, x2): 267 | residual_connection = tf.add(x1, x2) 268 | return residual_connection 269 | 270 | 271 | def save_images(images, size, path): 272 | img = (images + 1.0) / 2.0 273 | h, w, c = img.shape[0], img.shape[1], img.shape[2] 274 | merge_img = np.zeros((h * size[0], w * size[1])) 275 | for idx in range(c): 276 | i = idx % size[1] 277 | j = idx // size[1] 278 | merge_img[j * h:j * h + h, i * w:i * w + w] = images[:, :, idx] 279 | result = merge_img * 255. 280 | result = np.clip(result, 0, 255).astype('uint8') 281 | return cv2.imwrite(path, result) 282 | -------------------------------------------------------------------------------- /landmarkdetection/detection/model_detection.py: -------------------------------------------------------------------------------- 1 | ''' 2 | 3 | ''' 4 | import os 5 | 6 | import SimpleITK as sitk 7 | import numpy as np 8 | import tensorflow as tf 9 | import matplotlib.pyplot as plt 10 | from .layer import (conv2d, deconv2d, normalizationlayer2d, crop_and_concat2d, resnet_Add, 11 | weight_xavier_init, bias_variable, save_images) 12 | from .utils import normalize, resize_image_itk, reduce_dimension 13 | 14 | 15 | def conv_bn_relu_drop(x, kernal, phase, drop, height=None, width=None, scope=None): 16 | with tf.name_scope(scope): 17 | W = weight_xavier_init(shape=kernal, n_inputs=kernal[0] * kernal[1] * kernal[2], 18 | n_outputs=kernal[-1], activefunction='relu', variable_name=scope + 'conv_W') 19 | B = bias_variable([kernal[-1]], variable_name=scope + 'conv_B') 20 | conv = conv2d(x, W) + B 21 | conv = normalizationlayer2d(conv, is_train=phase, height=height, width=width, norm_type='group', 22 | scope=scope) 23 | conv = tf.nn.dropout(tf.nn.leaky_relu(conv), drop) 24 | return conv 25 | 26 | 27 | def down_sampling(x, kernal, phase, drop, height=None, width=None, scope=None): 28 | with tf.name_scope(scope): 29 | W = weight_xavier_init(shape=kernal, n_inputs=kernal[0] * kernal[1] * kernal[2], 30 | n_outputs=kernal[-1], activefunction='relu', variable_name=scope + 'W') 31 | B = bias_variable([kernal[-1]], variable_name=scope + 'B') 32 | conv = conv2d(x, W, 2) + B 33 | conv = normalizationlayer2d(conv, is_train=phase, height=height, width=width, norm_type='group', 34 | scope=scope) 35 | conv = tf.nn.dropout(tf.nn.leaky_relu(conv), drop) 36 | return conv 37 | 38 | 39 | def deconv_relu(x, kernal, samefeture=False, scope=None): 40 | with tf.name_scope(scope): 41 | W = weight_xavier_init(shape=kernal, n_inputs=kernal[0] * kernal[1] * kernal[-1], 42 | n_outputs=kernal[-2], activefunction='relu', variable_name=scope + 'W') 43 | B = bias_variable([kernal[-2]], variable_name=scope + 'B') 44 | conv = deconv2d(x, W, samefeture) + B 45 | conv = tf.nn.relu(conv) 46 | return conv 47 | 48 | 49 | def conv_sigmod(x, kernal, scope=None, activeflag=True): 50 | with tf.name_scope(scope): 51 | W = weight_xavier_init(shape=kernal, n_inputs=kernal[0] * kernal[1] * kernal[3], 52 | n_outputs=kernal[-1], activefunction='sigomd', variable_name=scope + 'W') 53 | B = bias_variable([kernal[-1]], variable_name=scope + 'B') 54 | conv = conv2d(x, W) + B 55 | if activeflag: 56 | conv = tf.nn.sigmoid(conv) 57 | return conv 58 | 59 | 60 | def _create_conv_net(X, image_width, image_height, image_channel, phase, drop, n_class=1): 61 | inputX = tf.reshape(X, [-1, image_width, image_height, image_channel]) # shape=(?, 32, 32, 1) 62 | # Vnet model 63 | # layer1->convolution 64 | layer0 = conv_bn_relu_drop(x=inputX, kernal=(3, 3, image_channel, 64), phase=phase, drop=drop, 65 | scope='layer0') 66 | layer1 = conv_bn_relu_drop(x=layer0, kernal=(3, 3, 64, 64), phase=phase, drop=drop, 67 | scope='layer1') 68 | layer1 = resnet_Add(x1=layer0, x2=layer1) 69 | # down sampling1 70 | down1 = down_sampling(x=layer1, kernal=(3, 3, 64, 64), phase=phase, drop=drop, scope='down1') 71 | # layer2->convolution 72 | layer2 = conv_bn_relu_drop(x=down1, kernal=(3, 3, 64, 64), phase=phase, drop=drop, 73 | scope='layer2_1') 74 | layer2 = conv_bn_relu_drop(x=layer2, kernal=(3, 3, 64, 64), phase=phase, drop=drop, 75 | scope='layer2_2') 76 | layer2 = resnet_Add(x1=down1, x2=layer2) 77 | # down sampling2 78 | down2 = down_sampling(x=layer2, kernal=(3, 3, 64, 64), phase=phase, drop=drop, scope='down2') 79 | # layer3->convolution 80 | layer3 = conv_bn_relu_drop(x=down2, kernal=(3, 3, 64, 64), phase=phase, drop=drop, 81 | scope='layer3_1') 82 | layer3 = conv_bn_relu_drop(x=layer3, kernal=(3, 3, 64, 64), phase=phase, drop=drop, 83 | scope='layer3_2') 84 | layer3 = resnet_Add(x1=down2, x2=layer3) 85 | # down sampling3 86 | down3 = down_sampling(x=layer3, kernal=(3, 3, 64, 128), phase=phase, drop=drop, scope='down3') 87 | # layer4->convolution 88 | layer4 = conv_bn_relu_drop(x=down3, kernal=(3, 3, 128, 128), phase=phase, drop=drop, 89 | scope='layer4_1') 90 | layer4 = conv_bn_relu_drop(x=layer4, kernal=(3, 3, 128, 128), phase=phase, drop=drop, 91 | scope='layer4_2') 92 | layer4 = resnet_Add(x1=down3, x2=layer4) 93 | # down sampling4 94 | down4 = down_sampling(x=layer4, kernal=(3, 3, 128, 128), phase=phase, drop=drop, scope='down4') 95 | # layer5->convolution 96 | layer5 = conv_bn_relu_drop(x=down4, kernal=(3, 3, 128, 128), phase=phase, drop=drop, 97 | scope='layer5_1') 98 | layer5 = conv_bn_relu_drop(x=layer5, kernal=(3, 3, 128, 128), phase=phase, drop=drop, 99 | scope='layer5_2') 100 | layer5 = resnet_Add(x1=down4, x2=layer5) 101 | # layer9->deconvolution 102 | deconv1 = deconv_relu(x=layer5, kernal=(3, 3, 128, 128), samefeture=True, scope='deconv1') 103 | # layer8->convolution 104 | layer6 = crop_and_concat2d(layer4, deconv1) 105 | _, H, W, _ = layer4.get_shape().as_list() 106 | layer6 = conv_bn_relu_drop(x=layer6, kernal=(3, 3, 256, 128), height=H, width=W, phase=phase, drop=drop, 107 | scope='layer6_1') 108 | layer6 = conv_bn_relu_drop(x=layer6, kernal=(3, 3, 128, 128), height=H, width=W, phase=phase, 109 | drop=drop, scope='layer6_2') 110 | layer6 = resnet_Add(x1=deconv1, x2=layer6) 111 | # layer9->deconvolution 112 | deconv2 = deconv_relu(x=layer6, kernal=(3, 3, 64, 128), samefeture=False, scope='deconv2') 113 | # layer8->convolution 114 | layer7 = crop_and_concat2d(layer3, deconv2) 115 | _, H, W, _ = layer3.get_shape().as_list() 116 | layer7 = conv_bn_relu_drop(x=layer7, kernal=(3, 3, 128, 64), height=H, width=W, phase=phase, 117 | drop=drop, scope='layer7_1') 118 | layer7 = conv_bn_relu_drop(x=layer7, kernal=(3, 3, 64, 64), height=H, width=W, phase=phase, 119 | drop=drop, scope='layer7_2') 120 | layer7 = resnet_Add(x1=deconv2, x2=layer7) 121 | # layer9->deconvolution 122 | deconv3 = deconv_relu(x=layer7, kernal=(3, 3, 64, 64), samefeture=True, scope='deconv3') 123 | # layer8->convolution 124 | layer8 = crop_and_concat2d(layer2, deconv3) 125 | _, H, W, _ = layer2.get_shape().as_list() 126 | layer8 = conv_bn_relu_drop(x=layer8, kernal=(3, 3, 128, 64), height=H, width=W, phase=phase, 127 | drop=drop, scope='layer8_1') 128 | layer8 = conv_bn_relu_drop(x=layer8, kernal=(3, 3, 64, 64), height=H, width=W, phase=phase, 129 | drop=drop, scope='layer8_2') 130 | layer8 = resnet_Add(x1=deconv3, x2=layer8) 131 | # layer9->deconvolution 132 | deconv4 = deconv_relu(x=layer8, kernal=(3, 3, 64, 64), samefeture=True, scope='deconv4') 133 | # layer8->convolution 134 | layer9 = crop_and_concat2d(layer1, deconv4) 135 | _, H, W, _ = layer1.get_shape().as_list() 136 | layer9 = conv_bn_relu_drop(x=layer9, kernal=(3, 3, 128, 64), height=H, width=W, phase=phase, 137 | drop=drop, scope='layer9_1') 138 | layer9 = conv_bn_relu_drop(x=layer9, kernal=(3, 3, 64, 64), height=H, width=W, phase=phase, 139 | drop=drop, scope='layer9_2') 140 | layer9 = resnet_Add(x1=deconv4, x2=layer9) 141 | # layer14->output 142 | output_map_logit = conv_sigmod(x=layer9, kernal=(1, 1, 64, n_class), scope='output', activeflag=False) 143 | return output_map_logit 144 | 145 | 146 | # Serve data by batches 147 | def _next_batch(train_images, train_labels, batch_size, index_in_epoch): 148 | start = index_in_epoch 149 | index_in_epoch += batch_size 150 | 151 | num_examples = train_images.shape[0] 152 | # when all trainig data have been already used, it is reorder randomly 153 | if index_in_epoch > num_examples: 154 | # shuffle the data 155 | perm = np.arange(num_examples) 156 | np.random.shuffle(perm) 157 | train_images = train_images[perm] 158 | train_labels = train_labels[perm] 159 | # start next epoch 160 | start = 0 161 | index_in_epoch = batch_size 162 | assert batch_size <= num_examples 163 | end = index_in_epoch 164 | return train_images[start:end], train_labels[start:end], index_in_epoch 165 | 166 | 167 | class Vnet2dlandmarkdetectionModule(object): 168 | """ 169 | A Vnet2dlandmarkdetectionModule implementation,make sure all landmarks in the input image 170 | :param image_height: number of height in the input image 171 | :param image_width: number of width in the input image 172 | :param image_depth: number of depth in the input image 173 | :param channels: number of channels in the input image 174 | :param costname: name of the cost function.Default is "dice coefficient" 175 | """ 176 | 177 | def __init__(self, image_height, image_width, channels=1, numclass=1, costname=("L2-loss",), 178 | inference=False, model_path=None): 179 | self.image_width = image_width 180 | self.image_height = image_height 181 | self.channels = channels 182 | self.numclass = numclass 183 | self.labelchannels = numclass 184 | self.dimension = 2 185 | 186 | self.X = tf.placeholder("float", shape=[None, self.image_height, self.image_width, self.channels]) 187 | self.Y_gt = tf.placeholder("float", shape=[None, self.image_height, self.image_width, self.numclass]) 188 | self.lr = tf.placeholder('float') 189 | self.phase = tf.placeholder(tf.bool) 190 | self.drop = tf.placeholder('float') 191 | 192 | self.Y_pred_logit = _create_conv_net(self.X, self.image_width, self.image_height, self.channels, self.phase, 193 | self.drop, self.numclass) 194 | self.cost = self.__get_cost(self.Y_pred_logit, self.Y_gt, costname[0]) 195 | 196 | if inference: 197 | init = tf.global_variables_initializer() 198 | saver = tf.train.Saver() 199 | self.sess = tf.InteractiveSession() 200 | self.sess.run(init) 201 | saver.restore(self.sess, model_path) 202 | 203 | def __get_cost(self, Y_pred, Y_gt, cost_name): 204 | if cost_name == "L2-loss": 205 | loss = tf.nn.l2_loss(Y_pred - Y_gt) 206 | return loss 207 | if cost_name == "mse": 208 | loss = tf.losses.mean_squared_error(Y_gt, Y_pred) 209 | return loss 210 | 211 | def __get_landmark(self, image): 212 | max_index = np.argmax(image) 213 | coord = np.array(np.unravel_index(max_index, dims=image.shape), np.int) 214 | value = image[tuple(coord)] 215 | return coord, value 216 | 217 | def __get_landmarks(self, predictiamge): 218 | coords = [] 219 | values = [] 220 | for image in np.rollaxis(predictiamge, axis=self.dimension): 221 | coord, value = self.__get_landmark(image) 222 | coords.append(coord) 223 | values.append(value) 224 | coords_array = np.array(coords) 225 | values_array = np.array(values) 226 | return coords_array, values_array 227 | 228 | def __get_metric(self, Y_pred, Y_gt, metric_name="EuclideanDistance"): 229 | num_samples = Y_gt.shape[0] 230 | mertic = 0 231 | if metric_name == "EuclideanDistance": 232 | for num in range(num_samples): 233 | Y1 = Y_pred[num] 234 | Y2 = Y_gt[num] 235 | pd_coords, pd_values = self.__get_landmarks(Y1) 236 | gt_coords, gt_values = self.__get_landmarks(Y2) 237 | distance = pd_coords - gt_coords 238 | distance_vector = distance.flatten() 239 | mertic = mertic + np.linalg.norm(distance_vector) 240 | mertic = mertic / num_samples 241 | return mertic 242 | 243 | def __loadnumtraindata(self, train_images, train_lanbels, num_sample, num_sample_index_in_epoch): 244 | """ 245 | load train data 246 | :param train_images: 247 | :param train_lanbels: 248 | :param num_sample: 249 | :param num_sample_index_in_epoch: 250 | :return: 251 | """ 252 | subbatch_xs = np.empty((num_sample, self.image_height, self.image_width, self.channels)) 253 | subbatch_ys = np.empty((num_sample, self.image_height, self.image_width, self.labelchannels)) 254 | batch_xs_path, batch_ys_path, num_sample_index_in_epoch = _next_batch(train_images, train_lanbels, 255 | num_sample, num_sample_index_in_epoch) 256 | for num in range(len(batch_xs_path)): 257 | image = np.load(batch_xs_path[num]) 258 | label = np.load(batch_ys_path[num]) 259 | subbatch_xs[num, :, :, :] = np.reshape(image, (self.image_height, self.image_width, self.channels)) 260 | subbatch_ys[num, :, :, :] = np.reshape(label, (self.image_height, self.image_width, self.labelchannels)) 261 | subbatch_xs = subbatch_xs.astype(np.float) 262 | subbatch_ys = subbatch_ys.astype(np.float) 263 | return subbatch_xs, subbatch_ys, num_sample_index_in_epoch 264 | 265 | def train(self, train_images, train_labels, model_path, logs_path, learning_rate, 266 | dropout_conv=0.8, train_epochs=5, batch_size=1, showwind=[8, 8]): 267 | num_sample = 100 268 | if not os.path.exists(logs_path): 269 | os.makedirs(logs_path) 270 | if not os.path.exists(logs_path + "model\\"): 271 | os.makedirs(logs_path + "model\\") 272 | model_path = logs_path + "model\\" + model_path 273 | train_op = tf.train.RMSPropOptimizer(self.lr).minimize(self.cost) 274 | 275 | init = tf.global_variables_initializer() 276 | saver = tf.train.Saver(tf.all_variables(), max_to_keep=10) 277 | 278 | tf.summary.scalar("loss", self.cost) 279 | merged_summary_op = tf.summary.merge_all() 280 | sess = tf.InteractiveSession(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=False)) 281 | summary_writer = tf.summary.FileWriter(logs_path, graph=tf.get_default_graph()) 282 | sess.run(init) 283 | 284 | if os.path.exists(model_path): 285 | saver.restore(sess, model_path) 286 | 287 | DISPLAY_STEP = 1 288 | index_in_epoch = 0 289 | num_sample_index_in_epoch = 0 290 | 291 | train_epochs = train_images.shape[0] * train_epochs 292 | for i in range(train_epochs): 293 | # Extracting num_sample images and labels from given data 294 | if i % num_sample == 0 or i == 0: 295 | subbatch_xs, subbatch_ys, num_sample_index_in_epoch = self.__loadnumtraindata(train_images, 296 | train_labels, num_sample, 297 | num_sample_index_in_epoch) 298 | # get new batch 299 | batch_xs, batch_ys, index_in_epoch = _next_batch(subbatch_xs, subbatch_ys, batch_size, index_in_epoch) 300 | # Extracting images and labels from given data 301 | batch_xs = batch_xs.astype(np.float) 302 | batch_ys = batch_ys.astype(np.float) 303 | # check progress on every 1st,2nd,...,10th,20th,...,100th... step 304 | if i % DISPLAY_STEP == 0 or (i + 1) == train_epochs: 305 | train_loss = sess.run(self.cost, feed_dict={self.X: batch_xs, 306 | self.Y_gt: batch_ys, 307 | self.lr: learning_rate, 308 | self.phase: 1, 309 | self.drop: dropout_conv}) 310 | pred = sess.run(self.Y_pred_logit, feed_dict={self.X: batch_xs, 311 | self.Y_gt: batch_ys, 312 | self.phase: 1, 313 | self.drop: 1}) 314 | train_accuracy = self.__get_metric(pred, batch_ys) 315 | print('epochs %d training_loss ,Training_accuracy => %.5f,%.5f ' % (i, train_loss, train_accuracy)) 316 | gt = np.reshape(batch_ys[0], (self.image_height, self.image_width, self.labelchannels)) 317 | gt = gt.astype(np.float) 318 | save_images(gt, showwind, path=logs_path + 'gt_%d_epoch.png' % (i)) 319 | result = np.reshape(pred[0], (self.image_height, self.image_width, self.labelchannels)) 320 | result = result.astype(np.float) 321 | save_images(result, showwind, path=logs_path + 'predict_%d_epoch.png' % (i)) 322 | save_path = saver.save(sess, model_path, global_step=i) 323 | print("Model saved in file:", save_path) 324 | if i % (DISPLAY_STEP * 10) == 0 and i: 325 | DISPLAY_STEP *= 10 326 | # train on batch 327 | _, summary = sess.run([train_op, merged_summary_op], feed_dict={self.X: batch_xs, 328 | self.Y_gt: batch_ys, 329 | self.lr: learning_rate, 330 | self.phase: 1, 331 | self.drop: dropout_conv}) 332 | summary_writer.add_summary(summary, i) 333 | summary_writer.close() 334 | save_path = saver.save(sess, model_path) 335 | print("Model saved in file:", save_path) 336 | 337 | def prediction(self, test_images): 338 | assert self.image_width == test_images.shape[0], \ 339 | 'prediction process the input size is not equal vnet input size' 340 | test_images = np.reshape(test_images, (self.image_height, self.image_width, self.channels)) 341 | y_dummy = np.zeros(shape=(self.image_height, self.image_width, self.labelchannels)) 342 | test_images = test_images.astype(np.float) 343 | pred = self.sess.run(self.Y_pred_logit, feed_dict={self.X: [test_images], 344 | self.Y_gt: [y_dummy], 345 | self.phase: 1, 346 | self.drop: 1}) 347 | result = pred.astype(np.float) 348 | result = np.reshape(result, (self.image_height, self.image_width, self.labelchannels)) 349 | return result 350 | 351 | def inference(self, filepath): 352 | # 1 load image with itk 353 | src_itkimage = sitk.ReadImage(filepath, sitk.sitkFloat32) 354 | # 2 reduce dimension image with itk 355 | src_itkimage = reduce_dimension(src_itkimage) 356 | # 3 resize to vnet size and predict 357 | itkimagesize = src_itkimage.GetSize() 358 | offsetx, offsety = self.image_width / itkimagesize[0], self.image_height / itkimagesize[1] 359 | rezieitkimage = resize_image_itk(src_itkimage, newSize=(self.image_width, self.image_height)) 360 | input_array = sitk.GetArrayFromImage(rezieitkimage) 361 | input_array = np.transpose(input_array, (1, 0)) 362 | input_array = normalize(input_array) # normalize image to mean 0 std 1 363 | heatmaps_array = self.prediction(input_array) 364 | # 4 get landmark coords 365 | coords_array, values_array = self.__get_landmarks(heatmaps_array) 366 | # 5 resize landmarks_coords to src image size 367 | resize_coords_array = np.around(coords_array * np.array((1 / offsetx, 1 / offsety))) 368 | return resize_coords_array, values_array 369 | -------------------------------------------------------------------------------- /landmarkdetection/detection/utils.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import SimpleITK as sitk 3 | 4 | 5 | def reduce_dimension(image, axis=None): 6 | dim = image.GetDimension() 7 | if axis is None: 8 | axis = dim - 1 9 | size = list(image.GetSize()) 10 | if size[axis] != 1: 11 | return image 12 | size[axis] = 0 13 | index = [0] * dim 14 | return sitk.Extract(image, size, index) 15 | 16 | 17 | def normalize(slice, bottom=99, down=1): 18 | """ 19 | normalize image with mean and std for regionnonzero,and clip the value into range 20 | :param slice: 21 | :param bottom: 22 | :param down: 23 | :return: 24 | """ 25 | b = np.percentile(slice, bottom) 26 | t = np.percentile(slice, down) 27 | slice = np.clip(slice, t, b) 28 | 29 | image_nonzero = slice[np.nonzero(slice)] 30 | if np.std(slice) == 0 or np.std(image_nonzero) == 0: 31 | return slice 32 | else: 33 | tmp = (slice - np.mean(image_nonzero)) / np.std(image_nonzero) 34 | return tmp 35 | 36 | 37 | def resize_image_itk(itkimage, newSize, resamplemethod=sitk.sitkLinear): 38 | """ 39 | image resize withe sitk resampleImageFilter 40 | :param itkimage:input itk image 41 | :param newSize:such as [512,512] 42 | :param resamplemethod:resamplemethod such as linear 43 | :return:resize image 44 | """ 45 | dim = itkimage.GetDimension() 46 | newSize = np.array(newSize, float) 47 | resampler = sitk.ResampleImageFilter() 48 | originSize = itkimage.GetSize() 49 | originSpcaing = itkimage.GetSpacing() 50 | factor = originSize / newSize 51 | newSpacing = factor * originSpcaing 52 | newSize = newSize.astype(np.int) 53 | resampler.SetReferenceImage(itkimage) 54 | resampler.SetOutputSpacing(newSpacing.tolist()) 55 | resampler.SetSize(newSize.tolist()) 56 | resampler.SetTransform(sitk.Transform(dim, sitk.sitkIdentity)) 57 | resampler.SetInterpolator(resamplemethod) 58 | itkimgResampled = resampler.Execute(itkimage) 59 | return itkimgResampled 60 | -------------------------------------------------------------------------------- /landmarkdetection/detection_inference.py: -------------------------------------------------------------------------------- 1 | from __future__ import print_function, division 2 | import os 3 | 4 | os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" 5 | os.environ["CUDA_VISIBLE_DEVICES"] = "0" 6 | from tensorflow.python.client import device_lib 7 | 8 | print(device_lib.list_local_devices()) 9 | 10 | from detection.model_detection import Vnet2dlandmarkdetectionModule 11 | 12 | 13 | def inference(): 14 | detection = Vnet2dlandmarkdetectionModule(512, 512, channels=1, numclass=37, costname=('L2-loss',), inference=True, 15 | model_path='log\L2-loss\model/resnet.pd') 16 | test_path = "dataprocess\data/3167.mha" 17 | coords_pos, coords_val = detection.inference(test_path) 18 | print(coords_pos) 19 | 20 | 21 | 22 | inference() 23 | -------------------------------------------------------------------------------- /landmarkdetection/detection_train.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" 4 | os.environ["CUDA_VISIBLE_DEVICES"] = "0" 5 | from tensorflow.python.client import device_lib 6 | 7 | print(device_lib.list_local_devices()) 8 | 9 | from detection.model_detection import Vnet2dlandmarkdetectionModule 10 | import numpy as np 11 | import pandas as pd 12 | 13 | 14 | def train(): 15 | ''' 16 | Preprocessing for dataset 17 | ''' 18 | # Read data set (Train data from CSV file) 19 | csvdata = pd.read_csv('dataprocess\\data/landmarktraining.csv') 20 | maskdata = csvdata.iloc[:, 1].values 21 | imagedata = csvdata.iloc[:, 0].values 22 | # shuffle imagedata and maskdata together 23 | perm = np.arange(len(imagedata)) 24 | np.random.shuffle(perm) 25 | imagedata = imagedata[perm] 26 | maskdata = maskdata[perm] 27 | 28 | detection = Vnet2dlandmarkdetectionModule(512, 512, channels=1, numclass=37, costname=('L2-loss',)) 29 | detection.train(imagedata, maskdata, "resnet.pd", "log\\L2-loss\\", 0.001, 0.5, 300, 1, [6, 7]) 30 | 31 | 32 | 33 | train() 34 | -------------------------------------------------------------------------------- /landmarksheatmaps.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/junqiangchen/LandMarksDetection/af95435a0528b1da15262e4e19c2a80062a0a58a/landmarksheatmaps.bmp -------------------------------------------------------------------------------- /loss.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/junqiangchen/LandMarksDetection/af95435a0528b1da15262e4e19c2a80062a0a58a/loss.bmp -------------------------------------------------------------------------------- /result.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/junqiangchen/LandMarksDetection/af95435a0528b1da15262e4e19c2a80062a0a58a/result.bmp --------------------------------------------------------------------------------