<p>pyradiomics ๋ฐ extractor.execute๋Š” Indexerror์— ๋Œ€ํ•ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.</p>

์— ๋งŒ๋“  2020๋…„ 06์›” 22์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: AIM-Harvard/pyradiomics

๋ฒ„๊ทธ ์„ค๋ช…
pyradiomics๋Š” Indexerror์— ๋Œ€ํ•ด ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

PyRadiomics ๊ตฌ์„ฑ
PyRadiomincs ์†Œํ”„ํŠธ์›จ์–ด๋Š” Mac ํ„ฐ๋ฏธ๋„์—์„œ python -m pip install pyradiomics ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์„ค์น˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Mac ํ„ฐ๋ฏธ๋„ ์•ฑ์— ์ž…๋ ฅ :
pyradiomics brain1_image.nrrd brain1_label.nrrd
๊ทธ๋Ÿฐ ๋‹ค์Œ Indexerror๋กœ ์ธํ•ด ์ค‘์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
PyRadiomics ๋กœ๊ทธ ํŒŒ์ผ

์—ญ ์ถ”์  (๊ฐ€์žฅ ์ตœ๊ทผ ํ˜ธ์ถœ ๋งˆ์ง€๋ง‰) :
_extractFeatures์—์žˆ๋Š” "/Users/adm/test7/venv/lib/python3.7/site-packages/radiomics/scripts/segment.py", 70 ํ–‰ ํŒŒ์ผ

feature_vector.update(extractor.execute(imageFilepath, maskFilepath, label, label_channel))

ํŒŒ์ผ "/Users/adm/test7/venv/lib/python3.7/site-packages/radiomics/featureextractor.py", 327 ํ–‰, ์‹คํ–‰ ์ค‘

featureVector.update(self.computeFeatures(inputImage, inputMask, imageTypeName, **inputKwargs))

computeFeatures์˜ ํŒŒ์ผ "/Users/adm/test7/venv/lib/python3.7/site-packages/radiomics/featureextractor.py", 514 ํ–‰

for (featureName, featureValue) in six.iteritems(featureClass.execute()):

ํŒŒ์ผ "/Users/adm/test7/venv/lib/python3.7/site-packages/radiomics/base.py", 185 ํ–‰, ์‹คํ–‰ ์ค‘

self._calculateSegment()

_calculateSegment์˜ ํŒŒ์ผ "/Users/adm/test7/venv/lib/python3.7/site-packages/radiomics/base.py", 222 ํ–‰

for success, featureName, featureValue in self._calculateFeatures():

_calculateFeatures์˜ ํŒŒ์ผ "/Users/adm/test7/venv/lib/python3.7/site-packages/radiomics/base.py", 229 ํ–‰

self._initCalculation(voxelCoordinates)

_initCalculation์˜ ํŒŒ์ผ "/Users/adm/test7/venv/lib/python3.7/site-packages/radiomics/glcm.py", 111 ํ–‰

self.P_glcm = self._calculateMatrix(voxelCoordinates)

_calculateMatrix์˜ ํŒŒ์ผ "/Users/adm/test7/venv/lib/python3.7/site-packages/radiomics/glcm.py", 148 ํ–‰

P_glcm = numpy.delete(P_glcm, emptyGrayLevels - 1, 1)

ํŒŒ์ผ "<__ array_function__ i ="51 ">", 6 ํ–‰, ์‚ญ์ œ ์ค‘

ํŒŒ์ผ "/Users/adm/test7/venv/lib/python3.7/site-packages/numpy/lib/function_base.py", 4406 ํ–‰, ์‚ญ์ œ ์ค‘

keep[obj,] = False

IndexError : ์ธ๋ฑ์Šค๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฐ์—ด์€ ์ •์ˆ˜ (๋˜๋Š” ๋ถ€์šธ) ์œ ํ˜•์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ๋ก€ -1_ ์ด๋ฏธ์ง€ : /Users/adm/test7/pyradiomics-master/data/brain1_image.nrrd

Case-1_Mask : /Users/adm/test7/pyradiomics-master/data/brain1_label.nrrd

๋ฒ„์ „ (๋‹ค์Œ ์ •๋ณด๋ฅผ ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค) :

  • ์šด์˜์ฒด์ œ : Mac OS 10.15.6
  • Python ๋ฒ„์ „ : 3.7.4
  • PyRadiomics ๋ฒ„์ „ v3.0

์ถ”๊ฐ€ ์ปจํ…์ŠคํŠธ
๋‚ด ์ฐฝ์—์„œ ์‹คํ–‰ํ•  ๋•Œ ์—ฌ์ „ํžˆ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€๋ณด๊ณ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
featureVector = extractor.execute(imageName, maskName) ์ด ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  5 ๋Œ“๊ธ€

์กฐ๊ธˆ ๋” ์กฐ์‚ฌํ•ด์•ผํ•˜์ง€๋งŒ ์ด์‚ฐํ™”๋Š” ์ •์ˆ˜ ๋ฐ์ดํ„ฐ ์œ ํ˜•์œผ๋กœ ์บ์ŠคํŠธ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค (์ง€์ˆ˜๋กœ ํšŒ์ƒ‰ ์ˆ˜์ค€์„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ). ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์–ผ๋งˆ ์ „์— ๋ฐ”๊ฟจ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ ์ฐพ์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ๊ธธ์„ ์žƒ์—ˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์„ ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ๊ณ ์น˜๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค (์ •๋ง ๊ฐ„๋‹จํ•œ ์ˆ˜์ •์ž…๋‹ˆ๋‹ค). ์ง์ ‘ ํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด imageoperations.binImage ๋กœ ์ด๋™ํ•˜์—ฌ 158 ํ–‰ ( return discretizedParameterMatrix, binEdges )์„ ( return discretizedParameterMatrix.astype('int'), binEdges

์ •๋ง ๊ณ ๋งˆ์›Œ! ์ด์ œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค ~

์•ˆํƒ€๊น๊ฒŒ๋„ ์ œ๊ณต ํ•œ ์†”๋ฃจ์…˜์ด ์–ธ๊ธ‰ ๋œ ๋ฌธ์ œ๋ฅผ ํ•ญ์ƒ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด์‚ฐํ™” ๋œ ์ด๋ฏธ์ง€์— ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ทธ๋ ˆ์ด ๋ ˆ๋ฒจ์ด์žˆ๋Š” โ€‹โ€‹๊ฒฝ์šฐ imageoperations ์Šคํฌ๋ฆฝํŠธ์˜ discretizedParameterMatrix ๋ณ€์ˆ˜์™€ glcm ์Šคํฌ๋ฆฝํŠธ์˜ emptyGrayLevels ๋ณ€์ˆ˜๋„ ๋นˆ ๋ชฉ๋ก์ด๋ฉ๋‹ˆ๋‹ค. ์–ธ๊ธ‰ ๋œ ์˜ค๋ฅ˜๋„ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ์œ ํ˜•์„ ๋ณ€๊ฒฝํ•ด๋„ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ์ฑ…์€ glcm ์Šคํฌ๋ฆฝํŠธ์—์„œ P_glcm = numpy.delete(P_glcm, emptyGrayLevels - 1, 1) ์ค„ ์•ž์— ์กฐ๊ฑด๋ถ€ if list(emptyGrayLevels): ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ๊ทธ๋ ˆ์ด ๋ ˆ๋ฒจ ๋งคํŠธ๋ฆญ์Šค ๊ธฐ๋ฐ˜ ๊ธฐ๋Šฅ (์˜ˆ : glrlm, gldm)์—์„œ๋„ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ์ด ์ˆ˜์ • ์‚ฌํ•ญ์€ ๋ชจ๋“  ์Šคํฌ๋ฆฝํŠธ์—์„œ ๊ตฌํ˜„๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ํ™•์ธ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ๋ฒˆ์งธ ์—…๋ฐ์ดํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

# 602์— ์˜ํ•ด ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰