Spatial filtering of cylindrical data
Show older comments
I have a set of dimensional measurements of a tire that are stored in a 2D array. Each column consists of 4096 measurements that are evenly spaced around the tire. The columns are also evenly spaced across the tire's surface, so the values in the array are the r coordinates, the rows are theta, and the columns are Z.
Assuming the radius of the tire is 1 foot, the circumference would be ~6.28 feet and the circumferential measurements would be 0.018 inch apart. The columns are about 1 mm apart (0.0394 inch), so the x and Y spatial resolutions are different.
I would like to high-pass and low-pass filter the data, but I am struggling to define an appropriate filter. I would probably filter the rows over a length of 6 inches (325 rows), but
1) how do I define such a filter in dimensional terms?
To remove any edge effects of the filtering, I can extend the row data by about 30% on both ends by adding data from the opposite ends of the array (which I will remove again after filtering).
Initially, I would like to only filter the data in the row direction, without a phase-shift, so filtfilt would seem appropriate to me.
2) Is that the right tool to use?
It would also be nice to be able to filter the entire surface (e.g., filter2), but I'm again not sure how to define such a 2D filter given the different spatial resolutions.
3) suggestions?
I do not have data available to pad the columns, so:
4) how do I deal with the edge effects of the filter on the rows?
I do have the signal processing toolbox and the image processing toolbox installed.
2 Comments
Matt J
on 12 May 2025
the rows are theta, and the columns are Z.
Does that mean each row corresponds to a fixed theta, or does theta vary across each fixed row?
Jim McIntyre
on 12 May 2025
Accepted Answer
More Answers (1)
Using padarray you can pad circularly in theta and symmetrically in z and then filter with 'valid' shape flags. If you are filtering separably, you can also do fft-based convolution along the columns (in lieu of padding), which will be equivalent to a circulant filter in theta.
1 Comment
Jim McIntyre
on 12 May 2025
Categories
Find more on Spectral Estimation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




