PET 이미지 (float)의 크기는 [84 * 71 * 103]이고 공간 크기는 4.07 * 4.07 * 3mm입니다.3D 이미지에서 구 (마스크로) 만들기
- 는 복셀이 (나에 의해 정의) 종양의 중심에 해당
[116,177,86]
좌표를 사용하여 종양의 센터와 동심 구를 만들 : 내가 원하는. - 구의 직경을 종양 자체보다 약간 크게 변경하십시오.
그래서 구가 이미지 위에 겹쳐지는 마스크 역할을 할 것이므로 구형 내에서 이미지 값에 대한 통계를 얻을 수 있습니다.
내가 충분히 명확하게 만들었 으면 좋겠다. 나는 정말로 당신의 도움에 감사 할 것입니다. 코드가 올바르게 작동하지 않아 진행 방법을 모르겠습니다.
fid_1 = fopen('I:\PatientData\patient3\case1\DIR_CT1toCT2\New-
crop\PET1FEM_PET2_DIFF.img','r','l');
pet1fem_pet2_diff = fread(fid_1,'float32');
pet1fem_pet2_diff = reshape(pet1fem_pet2_diff, [84 71 103]);
% interpolation is nearest neighbour, and 'crop' Makes output the same size as the input image
pet1fem_pet2_diff = imrotate(pet1fem_pet2_diff,90,'nearest','crop');
% create the image
imageSizeX = 84;
imageSizeY = 71;
imageSizeZ = 103;
% columns are in the x direction and, rows are in the y direction
[columnsInImage rowsInImage pagesInImage] = meshgrid(1:imageSizeX, 1:imageSizeY,1:imageSizeZ);
% Next create the sphere in the image.
centerX = 29;
centerY = 26;
centerZ = 74;
radius = 5;
nonSphereVoxels = (rowsInImage - centerY).^2 ...
+ (columnsInImage - centerX).^2 + (pagesInImage - centerZ).^2 > radius.^2;
pet1fem_pet2_diff(nonSphereVoxels) = 0;
figure(1);
imagesc(pet1fem_pet2_diff(:,:,30));
title('PET1FEM-PET2-DIFF');
실제로 이미지에 필터를 적용한 부분이 보이지 않습니다. 아마도 nonSphereVoxels = (rowsInImage - centerY).^2 + (columnsInImage - centerX).^2 + (pagesInImage - centerZ).^2> 반지름.^2; pet1_diff (nonSphereVoxels) = 0으로 설정하십시오. –
답장을 보내 주셔서 감사합니다. 네, 이해하지만 그건 내 문제입니다. PET 이미지의 논리 마스크로 구체를 적용하는 방법을 모르겠습니다. 나는 당신이 추천 한 것을 시도했으나 여전히 그 이미지에 구를 만들어 내지 않았다. – Hoda
질문 및 코드 서식 지정 – EBH