You are not logged in. This forum allows only logged in users to post. If you want to post in the forum, please log in.
Descargar
Desarrollar
Cuenta
Descargar
Desarrollar
Entrar
Forgot Account/Password
Crear Cuenta
Idioma
Ayuda
Idioma
Ayuda
×
Entrar
Nombre de usuario
Contraseña
×
Forgot Account/Password
Translation Status of Español
Categoría:
Software
Gente
PersonalForge
Magazine
Wiki
Buscar
OSDN
>
Buscar Software
>
Scientific/Engineering
>
Information Analysis
>
Eos-Image Analysis Environment
>
Foros
>
ドキュメント作成
>
【API関連】lmrcImageTrimingのtimesについて
Eos-Image Analysis Environment
Fork
others2
data
tutorial
optional
others
hostdependX86LINUX64
hostdependX86MAC64
hostdependX86LINUX64ICC
hostdependOTHERS
base
zephyr
hostdependARM64MAC64
Descripción
Project Summary
Developer Dashboard
Página Web
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
Historial
Descargas
List of Releases
Stats
Código Fuente
Code Repository list
Git
others2
data
tutorial
optional
others
hostdependX86LINUX64
hostdependX86MAC64
hostdependX86LINUX64ICC
hostdependOTHERS
base
zephyr
hostdependARM64MAC64
Incidencia
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
FrontPage
Title index
Recent changes
Communication
Foros
List of Forums
ヘルプ (1)
Open Discussion (1)
ドキュメント作成 (55)
開発者 (1)
Mailing Lists
list of ML
eos-developers
eos-document
eos-users
Noticias
Foros:
ドキュメント作成
(Thread #35504)
Return to Thread list
RSS
【API関連】lmrcImageTrimingのtimesについて (2014-05-26 14:05 by
kinoshita-eos
#73162)
Crear incidencia
【疑問点】
lmrcImageTrimingのtimesの用途が分かりませんでした。timesは繰り返し回数を指していると推測していますが、現在のコードではtimes回数のfor文内で入力ファイルsrcから周辺が0(付近)でないデータのみを出力ファイルdstにしていますが、srcは読み込み、dstは書き出しのみに使用されていますので、繰り返してもデータに変化がないと思います。
【ファイル名】
src/Objects/DataManip/mrcImage/src/lmrcImageTriming.c
【該当箇所】25行目以降
for(i=0; i<times; i++) {
for(x=0; x<src->HeaderN.x; x++) {
for(y=0; y<src->HeaderN.y; y++) {
for(z=0; z<src->HeaderN.z; z++) {
mrcPixelDataGet(src, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest);
if(fabs(data-1.0)<1e-6) { /* On Object */
switch(neighbor) {
case 8:
mrcPixelDataGet(src, x-1, y-1, z, &data5, mrcPixelRePart, mrcPixelHowNearest);
mrcPixelDataGet(src, x+1, y-1, z, &data6, mrcPixelRePart, mrcPixelHowNearest);
mrcPixelDataGet(src, x-1, y+1, z, &data7, mrcPixelRePart, mrcPixelHowNearest);
mrcPixelDataGet(src, x+1, y+1, z, &data8, mrcPixelRePart, mrcPixelHowNearest);
case 4:
mrcPixelDataGet(src, x-1, y, z, &data1, mrcPixelRePart, mrcPixelHowNearest);
mrcPixelDataGet(src, x+1, y, z, &data2, mrcPixelRePart, mrcPixelHowNearest);
mrcPixelDataGet(src, x, y-1, z, &data3, mrcPixelRePart, mrcPixelHowNearest);
mrcPixelDataGet(src, x, y+1, z, &data4, mrcPixelRePart, mrcPixelHowNearest);
break;
default:
fprintf(stderr, "Not supported Neighbor: %d\n", neighbor);
return;
}
switch(neighbor) {
case 4: {
if(fabs(data1)<1e-6
||fabs(data2)<1e-6
||fabs(data3)<1e-6
||fabs(data4)<1e-6) {
mrcPixelDataSet(dst, x, y, z, 0.0, mrcPixelRePart);
} else {
mrcPixelDataSet(dst, x, y, z, data, mrcPixelRePart);
}
break;
}
case 8: {
if(fabs(data1)<1e-6
||fabs(data2)<1e-6
||fabs(data3)<1e-6
||fabs(data4)<1e-6
||fabs(data5)<1e-6
||fabs(data6)<1e-6
||fabs(data7)<1e-6
||fabs(data8)<1e-6) {
mrcPixelDataSet(dst, x, y, z, 0.0, mrcPixelRePart);
} else {
mrcPixelDataSet(dst, x, y, z, data, mrcPixelRePart);
}
break;
}
}
}
}
}
}
}
Re: 【API関連】lmrcImageTrimingのtimesについて (2014-05-27 02:44 by
tacyas
#73174)
これはたぶんバグですね。もう少し確認して、修正をかけます。
[メッセージ #73162 への返信]
> 【疑問点】
> lmrcImageTrimingのtimesの用途が分かりませんでした。timesは繰り返し回数を指していると推測していますが、現在のコードではtimes回数のfor文内で入力ファイルsrcから周辺が0(付近)でないデータのみを出力ファイルdstにしていますが、srcは読み込み、dstは書き出しのみに使用されていますので、繰り返してもデータに変化がないと思います。
>
> 【ファイル名】
> src/Objects/DataManip/mrcImage/src/lmrcImageTriming.c
>
> 【該当箇所】25行目以降
>
> for(i=0; i<times; i++) {
> for(x=0; x<src->HeaderN.x; x++) {
> for(y=0; y<src->HeaderN.y; y++) {
> for(z=0; z<src->HeaderN.z; z++) {
> mrcPixelDataGet(src, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest);
> if(fabs(data-1.0)<1e-6) { /* On Object */
> switch(neighbor) {
> case 8:
> mrcPixelDataGet(src, x-1, y-1, z, &data5, mrcPixelRePart, mrcPixelHowNearest);
> mrcPixelDataGet(src, x+1, y-1, z, &data6, mrcPixelRePart, mrcPixelHowNearest);
> mrcPixelDataGet(src, x-1, y+1, z, &data7, mrcPixelRePart, mrcPixelHowNearest);
> mrcPixelDataGet(src, x+1, y+1, z, &data8, mrcPixelRePart, mrcPixelHowNearest);
> case 4:
> mrcPixelDataGet(src, x-1, y, z, &data1, mrcPixelRePart, mrcPixelHowNearest);
> mrcPixelDataGet(src, x+1, y, z, &data2, mrcPixelRePart, mrcPixelHowNearest);
> mrcPixelDataGet(src, x, y-1, z, &data3, mrcPixelRePart, mrcPixelHowNearest);
> mrcPixelDataGet(src, x, y+1, z, &data4, mrcPixelRePart, mrcPixelHowNearest);
> break;
> default:
> fprintf(stderr, "Not supported Neighbor: %d\n", neighbor);
> return;
> }
> switch(neighbor) {
> case 4: {
> if(fabs(data1)<1e-6
> ||fabs(data2)<1e-6
> ||fabs(data3)<1e-6
> ||fabs(data4)<1e-6) {
> mrcPixelDataSet(dst, x, y, z, 0.0, mrcPixelRePart);
> } else {
> mrcPixelDataSet(dst, x, y, z, data, mrcPixelRePart);
> }
> break;
> }
> case 8: {
> if(fabs(data1)<1e-6
> ||fabs(data2)<1e-6
> ||fabs(data3)<1e-6
> ||fabs(data4)<1e-6
> ||fabs(data5)<1e-6
> ||fabs(data6)<1e-6
> ||fabs(data7)<1e-6
> ||fabs(data8)<1e-6) {
> mrcPixelDataSet(dst, x, y, z, 0.0, mrcPixelRePart);
> } else {
> mrcPixelDataSet(dst, x, y, z, data, mrcPixelRePart);
> }
> break;
> }
> }
> }
> }
> }
> }
> }
Responder al
#73162
(Ticket #33876 is created from this message)