이 질문을 팔로우합니다.
- 팔로우하는 게시물 피드에서 업데이트를 확인할 수 있습니다.
- 정보 수신 기본 설정에 따라 이메일을 받을 수 있습니다.
courbe de progression du pixel
조회 수: 3 (최근 30일)
이전 댓글 표시
Amal Felhi
2021년 4월 7일
Bonjour à tous j'ai en entrée 25 images IRM(dicom).
je metsen un point fixe (x,y) et je garde l'emplacement de ce pixel pour les autres images.
je veux tracer la courbe de progression de ce pixel. comment programmer ça?
Hello everyone, I have 25 MRI images (dicom) as input. I put a fixed point (x, y) and I keep the location of this pixel for the other images. I want to plot the progression curve of this pixel. how to program that?
댓글 수: 20
Rik
2021년 4월 8일
How does my answer not work for you?
Also, you should mention the release you're using if you're using a release as old as R2014b.
Amal Felhi
2021년 4월 8일
acutually my image is not 3D so i think that's why it didn't work for me and yes i'm using R2014b if u have another proposition i'll be glad and thanks
Rik
2021년 4월 8일
You have 25 images, each image being 2D. That means you can store it in a 3D array. If you didn't, how did you store your images?
Image Analyst
2021년 4월 8일
Might get more answers if it were translated into English. Some of us don't know what is being asked unless we take the trouble to go to Google Translate.
Amal Felhi
2021년 4월 8일
i load the 25 images with this codes:
rep = uigetdir;
Imgs = dir(rep);
thisname = Imgs(3).name;
[path,name,ext]=fileparts(thisname);
ext=strcat('*',ext);
chemin = fullfile(rep,ext);
list = dir(chemin);
nbr_images= numel(list);
for n=1:numel(list)
k=dicomread(fullfile(rep, list(n).name));
end;
IM=double(img);
figure(1),subplot(5,5,1),imshow(IM,[]);
figure(1),subplot(5,5,2),imshow(IM,[]);
figure(1),subplot(5,5,3),imshow(IM,[]);
figure(1),subplot(5,5,4),imshow(IM,[]);
figure(1),subplot(5,5,5),imshow(IM,[]);
figure(1),subplot(5,5,6),imshow(IM,[]);
figure(1),subplot(5,5,7),imshow(IM,[]);
figure(1),subplot(5,5,8),imshow(IM,[]);
figure(1),subplot(5,5,9),imshow(IM,[]);
figure(1),subplot(5,5,10),imshow(IM,[]);
figure(1),subplot(5,5,11),imshow(IM,[]);
figure(1),subplot(5,5,12),imshow(IM,[]);
figure(1),subplot(5,5,13),imshow(IM,[]);
figure(1),subplot(5,5,14),imshow(IM,[]);
figure(1),subplot(5,5,15),imshow(IM,[]);
figure(1),subplot(5,5,16),imshow(IM,[]);
figure(1),subplot(5,5,17),imshow(IM,[]);
figure(1),subplot(5,5,18),imshow(IM,[]);
figure(1),subplot(5,5,19),imshow(IM,[]);
figure(1),subplot(5,5,20),imshow(IM,[]);
figure(1),subplot(5,5,21),imshow(IM,[]);
figure(1),subplot(5,5,22),imshow(IM,[]);
figure(1),subplot(5,5,23),imshow(IM,[]);
figure(1),subplot(5,5,24),imshow(IM,[]);
figure(1),subplot(5,5,25),imshow(IM,[]);
on this zip files you will find the 25 images
Rik
2021년 4월 8일
편집: Rik
2021년 4월 8일
Please delete the zip file, as it seems to contain actual patient information.
I expect you can use this in your loop to load your images to a 3D array:
IM=dicomread(fullfile(rep, list(1).name));
IM(1,1,numel(list))=0;%extend array to fit all slices
for n=2:numel(list)
IM(:,:,n)=dicomread(fullfile(rep, list(n).name));
end
And your other block of code can be replaced by something this:
figure(1),clf(1)
WW_WL=[min(IM(:)) max(IM(:))];
for n=1:25
subplot(5,5,n)
imshow(IM(:,:,n),WW_WL)
end
Or simply:
montage(permute(IM,[1 2 4 3]),'DisplayRange',[0 1000])
Amal Felhi
2021년 4월 8일
okay thank you so much.
after the code of the 3D array , i put this code for progression of the pixel?
S=load('mri');
I=squeeze(S.D);
x=randi(size(I,1));y=randi(size(I,2));
intensity=squeeze(I(x,y,:));
plot(intensity)
Rik
2021년 4월 9일
The first two lines load an example image and the third line selects random coordinates. That means you only need the last two lines.
Rik
2021년 4월 9일
All the subplot code is not necessary, you can replace it with the loop.
You made the command window so small that I can't see the full error message. Did you define a value for x and y?
Rik
2021년 4월 9일
You're welcome. If you feel my answer solved your problem, please consider marking it as accepted answer. If not, feel free to comment with your remaining issues.
Amal Felhi
2021년 4월 9일
Alright!
otherwise yes I have another problem I want to create a GUI interface which contains a push button, an axis and a popupmenu. from the push button I select 25 images and these 25 images will be saved in a popup menu. for example if I click on the 1st item of the popupmenu I display the 1st image
Amal Felhi
2021년 4월 9일
yes but my problem is not solved.
my problem in saving 25 images the popupmenu
Rik
2021년 4월 9일
You can use the popmenu callback to update the image. You can store the 25 images in the guidata struct. What exactly is the part you have trouble with?
Amal Felhi
2021년 4월 9일
my problem the update of the 25 images on the popmenu.
can you send to me the code of the update?
Rik
2021년 4월 10일
You can either use imshow (use the axes object handle), or you can set the CData property of an image object (which is the output of the imshow function).
채택된 답변
Rik
2021년 4월 7일
%load an example image
S=load('mri');
I=squeeze(S.D);
x=randi(size(I,1));y=randi(size(I,2));
intensity=squeeze(I(x,y,:));
plot(intensity)
댓글 수: 4
Amal Felhi
2021년 4월 7일
merci pour votre réponse mais je veux choisi un pixel à partir d'une image IRM (dicom) je garde l'intensité de ce pixel pour les 25 images pour tracer la courbe de progression de ce pixel
Rik
2021년 4월 7일
The example I used actually is an MRI image, just not DICOM. If you have stored your image as a 3D array, you can use this code to trace the intensity. Can you explain why my code doesn't work for you?
Rik
2021년 4월 7일
You should put in your own image and coordinates. It can happen that an x-y-combination is 0 for all z values. This will happen around the edge. Unfortunately, this example image is about half edge, so if you want to use random coordinates, you will get this line about half the time.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!오류 발생
페이지가 변경되었기 때문에 동작을 완료할 수 없습니다. 업데이트된 상태를 보려면 페이지를 다시 불러오십시오.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
아시아 태평양
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)