Tíquete #33909

mrc2Dto3D(m=2, -Double)

: 2014-06-04 12:03 Última Atualização: 2014-06-04 19:34

Relator:
Dono:
Tipo:
Estado:
Fechado
Componente:
Prioridade:
5 - Medium
Gravidade:
5 - Medium
Resolução:
Fixed
Arquivo:
Nenhum
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

【問題内容】
m=2の重み付き逆投影にて、オプション-Doubleの場合に中心が+0.25、縦横が-0.125(2:-1)の比で畳み込むようになっています。
ここは中心: +0.25、縦横: -0.0625(4:-1の比)で畳み込むのではないのでしょうか。

【引用】「[eos] #33730: Radon変換の整理」より
> -m 2のオプションを使って、実空間の重み付き逆投影法ができるようにしました。
> -m 2の場合を加えていただけますか。この場合、実空間を
> -1 2 -1
>  
> -Double は 
>  0  -1 0
> -1  4 -1
>  0 -1  0
> によりたたみ込んでいます。

【ソースコード(一部)】
ファイル名: /src/Objects/DataManip/transform/src/lmrc2Dto3D.c
関数名: lmrcImage2Dto3DSingle
	(189行目付近)
		case mrc2Dto3DModeWeightedBackProjection: {
			prj = tmp;
			mrcInit(&prj, NULL);
			kernel = tmp;
			kernel.HeaderMode = mrcFloatImage;
			kernel.HeaderN.z = 1;   
			if(linfo->flagDouble) {
				kernel.HeaderN.x = 3;  
				kernel.HeaderN.y = 3;
				mrcInit(&kernel, NULL);
				mrcPixelDataSet(&kernel, 0, 0, 0,  0,     mrcPixelRePart);
				mrcPixelDataSet(&kernel, 0, 1, 0, -0.125, mrcPixelRePart);
				mrcPixelDataSet(&kernel, 0, 2, 0,  0,     mrcPixelRePart);
				mrcPixelDataSet(&kernel, 1, 0, 0, -0.125, mrcPixelRePart);
				mrcPixelDataSet(&kernel, 1, 1, 0,  0.25,  mrcPixelRePart);
				mrcPixelDataSet(&kernel, 1, 2, 0, -0.125, mrcPixelRePart);
				mrcPixelDataSet(&kernel, 2, 0, 0,  0,     mrcPixelRePart);
				mrcPixelDataSet(&kernel, 2, 1, 0, -0.125, mrcPixelRePart);
				mrcPixelDataSet(&kernel, 2, 2, 0,  0,     mrcPixelRePart);
			} else {
	
【対策案】
該当箇所4点を-0.0625にすることを考えております。
	(189行目付近)
				mrcPixelDataSet(&kernel, 0, 0, 0,  0,     mrcPixelRePart);
				mrcPixelDataSet(&kernel, 0, 1, 0, -0.0625, mrcPixelRePart);
				mrcPixelDataSet(&kernel, 0, 2, 0,  0,     mrcPixelRePart);
				mrcPixelDataSet(&kernel, 1, 0, 0, -0.0625, mrcPixelRePart);
				mrcPixelDataSet(&kernel, 1, 1, 0,  0.25,  mrcPixelRePart);
				mrcPixelDataSet(&kernel, 1, 2, 0, -0.0625, mrcPixelRePart);
				mrcPixelDataSet(&kernel, 2, 0, 0,  0,     mrcPixelRePart);
				mrcPixelDataSet(&kernel, 2, 1, 0, -0.0625, mrcPixelRePart);
				mrcPixelDataSet(&kernel, 2, 2, 0,  0,     mrcPixelRePart);

Ticket History (3/3 Histories)

2014-06-04 12:03 Updated by: kinoshita-eos
  • New Ticket "mrc2Dto3D(m=2, -Double)" created
2014-06-04 19:30 Updated by: tacyas
  • Resolução Update from Nenhum to Fixed
  • Estado Update from Aberto to Fechado
  • Ticket Close date is changed to 2014-06-04 19:30
Comentário

中心を0.25ではなく、0.5にした形でバグの修正をしています。確認してみて下さい。以前のままだと、全体がマイナスになってしまいますので、まずい状況になっていました。

Attachment File List

No attachments

Editar

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login