Skip to content

LukeGrif/MachineVision_Project1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Machine Vision Assignment: Sinogram Image Reconstruction

📘 Overview

This project demonstrates image reconstruction from a parallel-projection sinogram using Python. The process includes:

  • Unfiltered Backprojection
  • Ramp Filtered Backprojection
  • Hamming-Windowed Ramp Filter
  • Hann-Windowed Ramp Filter

Each RGB channel is reconstructed separately and combined into the final image.

Contributors:

  • Luke Griffin
  • Patrick Crotty
  • Michael Cronin
  • Aaron Smith
  • Cullen Toal

🧠 Background

Reconstruction from sinograms is a core concept in Computed Tomography (CT). This project builds upon:

  • Radon Transform and Filtered Backprojection
  • Frequency-domain filtering using Ramp, Hamming, and Hann windows
  • Evaluation of visual clarity and artifact suppression in reconstruction

🏗️ Architecture & Workflow

1. Input Sinogram

  • Load the RGB sinogram
  • Extract metadata (e.g. aspect ratio)

image

🖼️ Sinogram Image


2. Preprocessing

  • Separate into R, G, B channels
  • Transform to frequency domain using FFT

3. Filtering

  • Apply:
    • Ramp filter
    • Hamming-windowed ramp filter
    • Hann-windowed ramp filter

image

🖼️ Hamming Window Plot

image

🖼️ Hann Window Plot


4. Inverse Transformation

  • Convert filtered data back to the spatial domain using inverse FFT

5. Backprojection

  • Reconstruct image by backprojecting each filtered projection at its corresponding angle
  • Accumulate results into a laminogram

6. Post-Processing

  • Crop based on original aspect ratio
  • Normalize pixel values
  • Combine RGB channels into final image

7. Output

  • Save reconstructed images for all filter types
  • Display side-by-side comparisons

image

🖼️ No Filter Reconstruction

image

🖼️ Ramp Filter Reconstruction

image

🖼️ Hamming Ramp Filter Reconstruction

image

🖼️ Hann Ramp Filter Reconstruction


📊 Results Summary

  • No Filter: Blurry image with strong artifacts
  • Ramp Filter: Sharper image but some high-frequency noise
  • Hamming: Balanced sharpness and noise suppression
  • Hann: Smoother result, slight loss of detail

✅ Conclusion

Filtering is essential in sinogram-based image reconstruction to suppress noise and improve clarity. The Hamming window provided the best compromise between detail and artifact reduction.


📎 References

  • Zeng, G. L. (2014). Model Based Filtered Backprojection Algorithm: A tutorial.
  • Arai, Y. (2021). Local cone beam CT: how did it all start?
  • IAEA Human Health Campus. 3D Image Reconstruction.
  • Wikipedia. Radon Transform
  • Wikipedia. Backpropagation
  • ScienceDirect. Hamming Window

About

Sinogram Image Reconstructio.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages