Open Zhentao-Liu opened 3 months ago
Data preprocessing. In your provided CT data, it has the intensity range of [0.0777, 1]. It must have some normalization. Typical CT image would not have such attenuation range. So, how do you preprocess the intensity of your data?
If I want to perform different views settings SVCT (e.g., 10/20 views,) or on different dataset (dental), should I retrain the diffusion model?
And if I change the rotation angle (360, a full scan), should I retrain the model?
Another question is that you use parallel geometry (fan-beam) to perform projection and reconstruction in SVCT. Does that meaningful? For 3D CT data, we commonly use Cone-beam geometry to perform projection and reconstruction.
def Acg_TV(x):
return A_funcs.AT(A_funcs.A(x)) + rho * _DzT(_Dz(x))
def _Dz(x): # Batch direction y = torch.zeros_like(x) y[:-1] = x[1:] y[-1] = x[0] return y - x
def _DzT(x): # Batch direction y = torch.zeros_like(x) y[:-1] = x[1:] y[-1] = x[0] tempt = -(y-x) difft = tempt[:-1] y[1:] = difft y[0] = x[-1] - x[0] return y
I am confusing why use _DzT(_Dz(x)), it seems that _DzT is not the inverse operation of _Dz. ADMM with ACV_TV: you want the generated data is the same with the original data in projection direction. And z axis should be smooth.
Would you release the training codes/sripts? It seems like there is only inference code (main.py). Thanks in advance.