Я пытаюсь сопоставить файлы МРТ с их объемными файлами.
Задний план:
Ссылка на файлы: https://wiki.cancerimagingarchive.net/pages/viewpage.action?pageId=68550661#68550661171ba531fc374829b21d3647e95f532c
Файлы МРТ имеют путь к файлу:
./manifest-1599764098812/МРТ-УЗИ-Биопсия простаты/МРТ-УЗИ-Биопсия простаты-0001/06-28-2009-NA-МРТ ПРОСТАТЫ W WO CONTRAST-51743/11.000000-t2spcrstaaxial oblProstate-90221/1-01 .dcm
Файлы томов имеют путь к файлу с длинным уникальным идентификатором:
./STLs/Prostate-MRI-US-Biopsy-0001-ProstateSurface-seriesUID-1.3.6.1.4.1.14519.5.2.1.266717969984343981963002258381778490221.STL
У меня есть список (mriIdList.txt), который содержит все файлы ID, так что первая МРТ пациента 1 находится в первой строке и так далее. У одного пациента может быть несколько МРТ, и у каждого МРТ свой ID. Также я хочу пометить родительский каталог файлов .dcm, так как я буду обрабатывать папку с файлами. Цифры в именах файлов МРТ не имеют смысла. Обратите внимание на пробелы в именах файлов.
Попытка решения:
#!/бин/баш
найти . -имя "*{t2}*"
xargs -a ./mriIdList.txt -I {} -d'\n'
sed 's/.$1/.$1$2/'
Это мой первый скрипт, так что я уверен, что он где-то запутался, но моя проблема в том, что "найти" проходит через каталоги способом, оптимизированным для памяти компьютера. Мне нужно найти файлы МРТ слева направо. (т.е. от Prostate-MRI-US-Biopsy-0001 до Prostate-MRI-US-Biopsy-0002). Моя общая идея состоит в том, чтобы найти каталоги с пометкой «t2», просмотреть список идентификаторов и прикрепить идентификатор к этому каталогу. После этого я использовал бы идентификатор, чтобы сопоставить МРТ с их объемами.
Пример:
Я создал пример каталога здесь: https://drive.google.com/drive/folders/17Gcl-IOjFzHKnIKEHVllLFDhcdR35E5c?usp=sharing
У первого пациента (Prostate-MRI-US-Biopsy-0001) 1 МРТ. Путь к файлу должен измениться на что-то вроде
/Prostate-MRI-US-Biopsy/Prostate-MRI-US-Biopsy-0001/06-28-2009-NA-MRI PROSTATE W WO CONTRAST-51743/11.000000-t2spcrstaxial oblProstate-90221_1.3.6.1.4.1.14519.5.2. 1.266717969984343981963002258381778490221
У второго пациента нет МРТ, поэтому его следует пропустить.
У третьего пациента 3 МРТ. Первое МРТ должно быть
Простата-МРТ-УЗИ-Биопсия/МРТ-УЗИ-Биопсия простаты-0003/05-01-2006-NA-МРТ ПРОСТАТЫ W WO КОНТРАСТ-62671/3.000000-t2spcrstaxialp2-33258_1.3.6.1.4.1.14519.5.2.1.186749128082366660500
Второй:
Prostate-MRI-US-Biopsy/Prostate-MRI-US-Biopsy-0003/09-21-2008-NA-MRI PROSTATE W WO CONTRAST-86577/9.000000-t2spcrstaxial oblProstate-31608_1.3.6.1.4.1.14519.5.2.1.134581986918909360753889591939462644248
Третий:
Prostate-MRI-US-Biopsy/Prostate-MRI-US-Biopsy-0003/10-17-2009-NA-MRI PROSTATE W WO CONTRAST-68997/9.000000-t2spcrstaxial oblProstate-97825_1.3.6.1.4.1.14519.5.2.1.196285102861067055900322921931257124293
После этого я мог передать файлы MRI и STL в скрипт Python для извлечения функций изображения, поскольку они имеют одинаковый идентификатор. Это будет 1 соответствующий файл МРТ и 1 файл STL за раз. Я тоже приму любые советы по поводу этой операции.
Будем признательны за любую помощь или предложения.