|
1 |
| -# DCGAN |
| 1 | +# Parallelbeam CT |
2 | 2 |
|
3 |
| -### Title |
4 |
| -[Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks](https://arxiv.org/abs/1511.06434) |
| 3 | +### Reference |
| 4 | +[Computed Tomography: Principles, Design, Artifacts, and Recent Advances, 3rd.](http://bitly.kr/SOw7Yb1s) |
| 5 | + |
| 6 | + Please read Chapter 3. Image Reconstruction. |
5 | 7 |
|
6 | 8 | ### Abstract
|
7 |
| -In recent years, supervised learning with convolutional networks (CNNs) has seen huge adoption in computer vision applications. Comparatively, unsupervised learning with CNNs has received less attention. In this work we hope to help bridge the gap between the success of CNNs for supervised learning and unsupervised learning. We introduce a class of CNNs called deep convolutional generative adversarial networks (DCGANs), that have certain architectural constraints, and demonstrate that they are a strong candidate for unsupervised learning. Training on various image datasets, we show convincing evidence that our deep convolutional adversarial pair learns a hierarchy of representations from object parts to scenes in both the generator and discriminator. Additionally, we use the learned features for novel tasks - demonstrating their applicability as general image representations. |
8 |
| - |
9 |
| -## Train |
10 |
| - $ python main.py --mode train \ |
11 |
| - --scope [scope name] \ |
12 |
| - --name_data [data name] \ |
13 |
| - --dir_data [data directory] \ |
14 |
| - --dir_log [log directory] \ |
15 |
| - --dir_checkpoint [checkpoint directory] |
16 |
| ---- |
17 |
| - $ python main.py --mode train \ |
18 |
| - --scope dcgan \ |
19 |
| - --name_data celeba \ |
20 |
| - --dir_data ./datasets \ |
21 |
| - --dir_log ./log \ |
22 |
| - --dir_checkpoint ./checkpoint |
| 9 | +X-ray computed tomography (CT) has experienced an explosion of technological development for a quarter century. Six years after the second edition of Computed Tomography, this third edition captures the most recent advances in technology and clinical applications. New to this edition are descriptions of iterative reconstruction, statistical reconstruction, methodologies used to model the CT systems, and the searching methodologies for optimal solutions. A new section on 3D printing introduces approaches by early adopters in the area. Also added is a description and discussion of the size-specific dose estimate, an index that attempts to more accurately reflect the dose absorption of specific-sized patients. The coverage of dual-energy CT has been significantly expanded to include its background, theoretical development, and clinical applications. |
| 10 | + |
| 11 | +## Projection |
| 12 | +* Projection operator is implemented based on Ch.3 Equations (3.5) & (3.6). |
| 13 | +* Ray-driven method is applied to Projection operator. |
| 14 | + |
| 15 | + * Ch.3 Equation (3.5): `Rotated coordinate` X-ray CT system (`Counterclockwise`). |
| 16 | + *  |
| 17 | + *  |
23 | 18 |
|
24 |
| -* Set **[scope name]** uniquely. |
25 |
| -* Hyperparameters were written to **arg.txt** under the **[log directory]**. |
26 |
| -* To understand hierarchy of directories based on their arguments, see **directories structure** below. |
| 19 | + * Ch.3 Equation (3.6): `Line integration` along X-ray. |
| 20 | + *  |
27 | 21 |
|
28 |
| -## Test |
29 |
| - $ python main.py --mode test \ |
30 |
| - --scope [scope name] \ |
31 |
| - --name_data [data name] \ |
32 |
| - --dir_data [data directory] \ |
33 |
| - --dir_log [log directory] \ |
34 |
| - --dir_checkpoint [checkpoint directory] \ |
35 |
| - --dir_result [result directory] |
36 |
| ---- |
37 |
| - $ python main.py --mode test \ |
38 |
| - --scope dcgan \ |
39 |
| - --name_data celeba \ |
40 |
| - --dir_data ./datasets \ |
41 |
| - --dir_log ./log \ |
42 |
| - --dir_checkpoint ./checkpoints \ |
43 |
| - --dir_result ./results |
| 22 | +## Filtering |
| 23 | +* Filtering operator is implemented based on Ch.3 Equations (3.21) & (3.29) & (3.30). |
44 | 24 |
|
45 |
| -* To test using trained network, set **[scope name]** defined in the **train** phase. |
46 |
| -* Generated images are saved in the **images** subfolder along with **[result directory]** folder. |
47 |
| -* **index.html** is also generated to display the generated images. |
| 25 | + * Ch.3 Equation (3.29): `Filtering kernel` |
| 26 | + *  |
| 27 | + |
| 28 | +* Filtering is performed by `convolution ver.` using Ch.3 Equation (3.30) and `FFT ver.` using Equation (3.21). |
| 29 | + * Ch.3 Equation (3.30): `convolution ver.` |
| 30 | + *  |
| 31 | + * Ch.3 Equation (3.21): `FFT ver.` |
| 32 | + *  |
48 | 33 |
|
| 34 | +## Backprojection |
| 35 | +* Backprojection operator is implemented based on Ch.3 Equation (3.22). |
| 36 | +* Pixel-driven method is applied to backprojection operator. |
49 | 37 |
|
50 |
| -## Tensorboard |
51 |
| - $ tensorboard --logdir [log directory]/[scope name]/[data name] \ |
52 |
| - --port [(optional) 4 digit port number] |
53 |
| ---- |
54 |
| - $ tensorboard --logdir ./log/dcgan/celeba \ |
55 |
| - --port 6006 |
56 |
| - |
57 |
| -After the above comment executes, go **http://localhost:6006** |
| 38 | + * Ch.3 Equation (3.22): `Backprojection` |
| 39 | + *  |
| 40 | + |
| 41 | +## Parameters |
| 42 | +* X-ray CT System parameters |
| 43 | + 1. dAngle `[degree]` : Rotational range of X-ray source |
| 44 | + 2. nView `[unit]` : The number of views |
| 45 | + 3. dView `[degree]` : The step of views |
| 46 | + 4. DSO `[mm]` : Distance from Source to Object |
| 47 | + 5. DSD `[mm]` : Distance from Source to Detector |
58 | 48 |
|
59 |
| -* You can change **[(optional) 4 digit port number]**. |
60 |
| -* Default 4 digit port number is **6006**. |
| 49 | +* X-ray detector parameters |
| 50 | + 1. dDctX `[mm]` : Detector pitch |
| 51 | + 2. nDctX `[unit]` : The number of detectors |
| 52 | + 3. dOffsetDctX `[float]` : Index of shifted detectors (+, -) |
| 53 | + 4. compute_filtering `[convolution, fft]` : Filtering method |
| 54 | + |
| 55 | +* Object parameters |
| 56 | + 1. dImgX, dImgY `[mm]` : Pixel resolutions |
| 57 | + 2. nImgX, nImgY `[unit]` : The number of pixels |
| 58 | + 3. dOffsetImgX, dOffsetImgY `[float]` : Index of shifted image (+, -) |
61 | 59 |
|
62 | 60 |
|
63 | 61 | ## Results
|
64 |
| - |
65 |
| -* The results were generated by a network trained with **celeba** dataset during **10 epochs**. |
66 |
| -* After the Test phase runs, execute **display_result.py** to display the figure. |
67 |
| - |
68 |
| -## Directories structure |
69 |
| - pytorch-DCGAN |
70 |
| - +---[dir_checkpoint] |
71 |
| - | \---[scope] |
72 |
| - | \---[name_data] |
73 |
| - | +---model_epoch00000.pth |
74 |
| - | | ... |
75 |
| - | \---model_epoch12345.pth |
76 |
| - +---[dir_data] |
77 |
| - | \---[name_data] |
78 |
| - | +---000000.png |
79 |
| - | | ... |
80 |
| - | \---12345.png |
81 |
| - +---[dir_log] |
82 |
| - | \---[scope] |
83 |
| - | \---[name_data] |
84 |
| - | +---arg.txt |
85 |
| - | \---events.out.tfevents |
86 |
| - \---[dir_result] |
87 |
| - \---[scope] |
88 |
| - \---[name_data] |
89 |
| - +---images |
90 |
| - | +---00000-output.png |
91 |
| - | | ... |
92 |
| - | +---12345-output.png |
93 |
| - \---index.html |
| 62 | + |
| 63 | +* The results were reconstructed by below hyper parameters. |
94 | 64 |
|
95 |
| ---- |
| 65 | +* X-ray CT System parameters |
| 66 | + 1. dAngle `[degree]` : 360 |
| 67 | + 2. nView `[unit]` : 360 |
| 68 | + 3. dView `[degree]` : 1 |
| 69 | + 4. DSO `[mm]` : 400 |
| 70 | + 5. DSD `[mm]` : 800 |
96 | 71 |
|
97 |
| - pytorch-DCGAN |
98 |
| - +---checkpoints |
99 |
| - | \---dcgan |
100 |
| - | \---celeba |
101 |
| - | +---model_epoch00001.pth |
102 |
| - | | ... |
103 |
| - | \---model_epoch0010.pth |
104 |
| - +---datasets |
105 |
| - | \---celeba |
106 |
| - | +---000001.jpg |
107 |
| - | | ... |
108 |
| - | \---202599.jpg |
109 |
| - +---log |
110 |
| - | \---dcgan |
111 |
| - | \---celeba |
112 |
| - | +---arg.txt |
113 |
| - | \---events.out.tfevents |
114 |
| - \---results |
115 |
| - \---dcgan |
116 |
| - \---celeba |
117 |
| - +---images |
118 |
| - | +---0000-output.png |
119 |
| - | | ... |
120 |
| - | +---0127-output.png |
121 |
| - \---index.html |
122 |
| - |
123 |
| -* Above directory is created by setting arguments when **main.py** is executed. |
124 |
| - |
| 72 | +* X-ray detector parameters |
| 73 | + 1. dDctX `[mm]` : 0.7 |
| 74 | + 2. nDctX `[unit]` : 400 |
| 75 | + 3. dOffsetDctX `[float]` : 30 |
| 76 | + 4. compute_filtering `[convolution, fft]` : 'fft' |
| 77 | + |
| 78 | +* Object parameters |
| 79 | + 1. dImgX, dImgY `[mm]` : 1, 1 |
| 80 | + 2. nImgX, nImgY `[unit]` : 256, 256 |
| 81 | + 3. dOffsetImgX, dOffsetImgY `[float]` : 0, 0 |
0 commit comments