Comments (4)
Hi Ron,
Good point, I do not see a convincing reason why idx
in that line is not checked for zeros. I will look into it further and probably update it on GitHub.
Binarization is very unlikely to improve your results. I would recommend against using binary images in basically all situations, since the information content of your images is dramatically reduced and matching is no longer well defined. Matching relies on steep non-singular intensity gradients in the images. Some alternative means of filtering your images may help reduce noise (e.g. median or Gaussian), although without more information or being able to see the images I hesitate to say.
Also, the strain spatial frequency resolution will depend not only on the displacement reconstruction parameters in FIDVC (i.e. subset size and spacing) but also on whatever strain kernel you have chosen to employ. It is likely possible to reduce minimum subset sizes or spacing further. You would need to modify the code and make sure to re-evaluate and make sure everything work properly.
Regards,
Alex L
from fidvc.
Thanks for the suggestions, Alex.
Before going down the route modifying the code to minimize the subset spacing, I will like to know what you mean by strain kernel since that is a factor the strain resolution depends on. If this helps, the displacement gridpoints obtained from the FIDVC are at every 8 pixels since "dm is set to the default". So to obtain the full-field displacement at each point, I use linear interpolation from MATLAB's griddedInterpolant. I then generate Cauchy strain at each gridded point points to generate my full-field strain (where the partial derivative terms are obtained using MATLAB's gradient function). Is there anything I am missing?
Thanks.
Ron.
from fidvc.
Hi Ron,
Typically, direct measurement such as you describe is noisy, since you are taking the spatial derivative of an already somewhat noisy displacement signal. Matlab's "gradient
" uses a central differencing scheme that is effectively quite similar to a Prewitt filter, which is a pretty basic 3x3 filter. A good way to mitigate this noise is to use a more sophisticated spatial differentiation filter kernel (e.g. an optimal n-tap or similar - see the section on page 266 of the paper) to determine stain. The amount of spatial averaging of the strain will depend on the size of the differentiation kernel.
Regards,
Alex L
from fidvc.
Closing due to inactivity.
from fidvc.
Related Issues (20)
- Error in x, y, and z dimensions HOT 1
- calculated surface HOT 4
- Does this code use input values of type unit8 or double for vol*.mat? HOT 1
- Can I have the analytical displacement in your example files HOT 1
- Problem regrding boundary of the image HOT 3
- Rigid Registration Pre-Processing HOT 1
- 3D TFM HOT 1
- Is the FIDVC can be used for the displacement analysis of a 3D surface? HOT 1
- Parseinput HOT 1
- Strain calculations, Total displacements from incremental analysis, and very small bug HOT 5
- Question towards the displacement grid positions (m) HOT 3
- Error using mex HOT 1
- error using MEX issue HOT 1
- Computing DVC displacements HOT 1
- Incremental to cumulative displacements follow up HOT 1
- Registration 3D images using FIDVC HOT 3
- acceleration using gpu HOT 3
- mex error with Xcode 13.2.1 HOT 1
- 3D visualization HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fidvc.