Рейтинг:0

Найдите команду слева направо и прикрепите ID

флаг ie

Я пытаюсь сопоставить файлы МРТ с их объемными файлами.

Задний план:

Ссылка на файлы: 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 за раз. Я тоже приму любые советы по поводу этой операции.

Будем признательны за любую помощь или предложения.

terdon avatar
флаг cn
Пожалуйста, [отредактируйте] свой вопрос и включите полный воспроизводимый пример, который мы можем использовать для тестирования наших решений. Нам понадобятся несколько примеров имен файлов, как вы предоставили, а также соответствующие строки из `./mriIdList.txt`. Все будет зависеть от того, как этот файл отформатирован. Убедитесь, что строки примера включают все возможные случаи (например, один файл для каждого пациента, несколько разных файлов для одного пациента и все остальное, что должен обработать сценарий).
Bob Bobinson avatar
флаг ie
Спасибо вам за помощь! Я добавил пример. Текстовый файл взят из столбца Excel, поэтому я могу гибко подходить к формату.
Рейтинг:1
флаг ie

Я не заморачивался с переименованием, потому что у меня есть совпадение с идентификатором 1: 1, и теперь я могу получить доступ к файлам томов, но это сработало!

Из родительского каталога файла МРТ:

дерево -dfi > dir.txt;
grep "t2" dir.txt > mriFiles.txt

Дерево поддерживало порядок каталогов. Grep нашел интересующие каталоги.

terdon avatar
флаг cn
Ура! Я рад, что вы нашли решение, и спасибо, что нашли время опубликовать его!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.