You are on page 1of 9

y F a s t

Ve r
The Fast Curvelet Transform

Brian Eriksson
Curvelet Transform

Coefficient Value = 0

Zero
Curvelet Transform

Coefficient Value << 1

Very Small
Curvelet Transform

Coefficient Value >> 1

Very Large
Algorithm Construction

•Take FFT of image


•Divide into
coronization
segments
Algorithm Construction

•For each segment, wrap around the origin


•Take Inverse FFT
Optimization Strategies

•Double Precision to Single Precision


•Loop Unrolling
•Subword Parallel Instructions
•Integer Instructions – MMX Intrinsics
•Wrapping Indices
•Floating Point Instructions – SSE1 Intrinsics
•Corona Filtering
•Normalization
Optimization Costs
•Larger Code
•Original = 874 lines
•Optimized = 2660 lines
•Time
•Double to Single Precision Error
Results

Total transform (forward+inverse) time in seconds:

Matlab Original C SSE/MMX


Version Version C Version
7.551 5.691 3.201

You might also like