cylinder settings for uCT
This commit is contained in:
parent
0b90e6c8c9
commit
e0d1a66982
@ -154,8 +154,8 @@ void solve( const Array<float>& VOL, Array<float>& Mean, Array<char>& ID,
|
|||||||
fillFloat.fill(Dist);
|
fillFloat.fill(Dist);
|
||||||
smooth( VOL, Dist, 2.0, MultiScaleSmooth, fillFloat );
|
smooth( VOL, Dist, 2.0, MultiScaleSmooth, fillFloat );
|
||||||
// Compute non-local mean
|
// Compute non-local mean
|
||||||
int depth = 5;
|
// int depth = 5;
|
||||||
float sigsq=0.1;
|
// float sigsq=0.1;
|
||||||
int nlm_count = NLM3D( MultiScaleSmooth, Mean, Dist, NonLocalMean, depth, sigsq);
|
int nlm_count = NLM3D( MultiScaleSmooth, Mean, Dist, NonLocalMean, depth, sigsq);
|
||||||
fillFloat.fill(NonLocalMean);
|
fillFloat.fill(NonLocalMean);
|
||||||
}
|
}
|
||||||
|
@ -6,11 +6,15 @@ Domain {
|
|||||||
BC = 0 // Boundary condition type
|
BC = 0 // Boundary condition type
|
||||||
}
|
}
|
||||||
uCT {
|
uCT {
|
||||||
InputFile = "static_Dry_Scan_recon.volume"
|
InputFile = "MG_dryrecon.volume"
|
||||||
rough_cutoff = 0.01
|
rough_cutoff = 0.0
|
||||||
lamda = 0.5
|
lamda = 0.5
|
||||||
nlm_sigsq = 0.25
|
nlm_sigsq = 0.25
|
||||||
nlm_depth = 3
|
nlm_depth = 3
|
||||||
|
center_x = 960
|
||||||
|
center_y = 960
|
||||||
|
center_z = 600
|
||||||
|
radius = 750
|
||||||
}
|
}
|
||||||
Analysis {
|
Analysis {
|
||||||
}
|
}
|
||||||
|
@ -75,6 +75,10 @@ int main(int argc, char **argv)
|
|||||||
auto lamda=uct_db->getScalar<float>( "lamda" );
|
auto lamda=uct_db->getScalar<float>( "lamda" );
|
||||||
auto nlm_sigsq=uct_db->getScalar<float>( "nlm_sigsq" );
|
auto nlm_sigsq=uct_db->getScalar<float>( "nlm_sigsq" );
|
||||||
auto nlm_depth=uct_db->getScalar<int>( "nlm_depth" );
|
auto nlm_depth=uct_db->getScalar<int>( "nlm_depth" );
|
||||||
|
auto cx=uct_db->getScalar<int>( "center_x" );
|
||||||
|
auto cy=uct_db->getScalar<int>( "center_y" );
|
||||||
|
auto cz=uct_db->getScalar<int>( "center_z" );
|
||||||
|
auto CylRad=uct_db->getScalar<float>( "cylinder_radius" );
|
||||||
|
|
||||||
//.......................................................................
|
//.......................................................................
|
||||||
// Reading the domain information file
|
// Reading the domain information file
|
||||||
@ -181,7 +185,7 @@ int main(int argc, char **argv)
|
|||||||
filter_src( *Dm[0], LOCVOL[0] );
|
filter_src( *Dm[0], LOCVOL[0] );
|
||||||
|
|
||||||
// Set up the mask to be distance to cylinder (crop outside cylinder)
|
// Set up the mask to be distance to cylinder (crop outside cylinder)
|
||||||
float CylRad=900;
|
// float CylRad=900;
|
||||||
for (int k=0;k<Nz[0]+2;k++) {
|
for (int k=0;k<Nz[0]+2;k++) {
|
||||||
for (int j=0;j<Ny[0]+2;j++) {
|
for (int j=0;j<Ny[0]+2;j++) {
|
||||||
for (int i=0;i<Nx[0]+2;i++) {
|
for (int i=0;i<Nx[0]+2;i++) {
|
||||||
@ -193,9 +197,9 @@ int main(int argc, char **argv)
|
|||||||
int y=jproc*Ny[0]+j-1;
|
int y=jproc*Ny[0]+j-1;
|
||||||
int z=kproc*Nz[0]+k-1;
|
int z=kproc*Nz[0]+k-1;
|
||||||
|
|
||||||
int cx = 0.5*nprocx*Nx[0];
|
//int cx = 0.5*nprocx*Nx[0];
|
||||||
int cy = 0.5*nprocy*Ny[0];
|
//int cy = 0.5*nprocy*Ny[0];
|
||||||
int cz = 0.5*nprocz*Nz[0];
|
//int cz = 0.5*nprocz*Nz[0];
|
||||||
|
|
||||||
// distance from the center line
|
// distance from the center line
|
||||||
MASK(i,j,k) = CylRad - sqrt(float((z-cz)*(z-cz) + (y-cy)*(y-cy)) );
|
MASK(i,j,k) = CylRad - sqrt(float((z-cz)*(z-cz) + (y-cy)*(y-cy)) );
|
||||||
|
Loading…
Reference in New Issue
Block a user