PIV images not processable

classic Classic list List threaded Threaded
8 messages Options
sm792 sm792
Reply | Threaded
Open this post in threaded view
|

PIV images not processable

Hi William,
Thanks a lot for developing and sharing the software, and it looks fantastic. However, my piv images are not able to be processed in PIVlab, whereas in alternative software like JPIV it was fine (JPIV has been stopped by the developer). After piv processing there is no vectors, and the U and V values shown in mat file is either 0 or NaN. I set the interrogation window to be 64 (1st pass), 32 (2nd pass) and 32 (3rd pass), and 50% overlap.
Could you please have a view of my problem?

Thanks a lot,
Shaohua
William William
Reply | Threaded
Open this post in threaded view
|

Re: PIV images not processable

Please attach two images to this thread and I'll try to have a look.

Please consider donating for the PIVlab project:
http://paypal.me/pools/c/81Y8wBVi4y

The developer needs to update to a recent Matlab release in order to keep the project running.

Stephan C Stephan C
Reply | Threaded
Open this post in threaded view
|

Re: PIV images not processable

I have the same issue. I suspect it is some kind of coding error , losing the velocity information from the 3th pass. I will have a quick look in the code if i can find the source.
William William
Reply | Threaded
Open this post in threaded view
|

Re: PIV images not processable

Hi,
it would be very helpful if you would attach some example image data. The creator of this thread unfortunately didn't do this, so I have no possibility to reproduce or understand the problem.

Please consider donating for the PIVlab project:
http://paypal.me/pools/c/81Y8wBVi4y

The developer needs to update to a recent Matlab release in order to keep the project running.

Stephan c Stephan c
Reply | Threaded
Open this post in threaded view
|

Re: PIV images not processable

One of the images the issue arises with is the following pair.

http://s22.postimg.org/m7fa9vdrl/pivtest4_rect3104.png

http://s7.postimg.org/solk6w7ij/pivtest4_rect3105.png

As you will see, the seeding is (far) from ideal, but it is because it concerns an application of surface piv in a region with high divergence and convergence of flow, and thus regions of high accumulation of seeders and empty spots arise.

I process the pair without pre-processing, since im testing to optimize the input images with external software.

I perform piv with FFT, first pass 64/32, second pass 32/16 , lineair deformation and gauss subpixel model.

This way , the result of the second pass results in a field full of NaN velocities.
Altering the deformation model, subpixel model doesn't help.

Altering the first pass to 128/64 and leaving the second 32/16 results in a velocity field with values.

Adding a third pass and going for 128/64 , 64/32 , 32/16 results in a NaN velocity field again for the third pass.

Doing 3 passes with 64/32 , 32/16 , 32/16 results in a NaN velocity field for the second pass.

This all together makes me think very hard of some bug still left in the code , where something creates the NaN Velocity field, for reasons yet unknown.

If i would find the reason for this strange behavior myself i surely well let something know aswell
William William
Reply | Threaded
Open this post in threaded view
|

Re: PIV images not processable

Thanks for the details.
Stephan c wrote
As you will see, the seeding is (far) from ideal, but it is because it concerns an application of surface piv in a region with high divergence and convergence of flow, and thus regions of high accumulation of seeders and empty spots arise.
png images are not "officially" supported in PIVlab, therefore I do not know if strange things could happen. Please use bmp or tif to make sure everything runs smoothly.
Also keep in mind that the smallest window should contain at least around 5 particles. Do not increase the vector resolution as much as possible, because this will also increase measurement noise.

I perform piv with FFT, first pass 64/32, second pass 32/16 , lineair deformation and gauss subpixel model.

This way , the result of the second pass results in a field full of NaN velocities.
Altering the deformation model, subpixel model doesn't help.

Altering the first pass to 128/64 and leaving the second 32/16 results in a velocity field with values.
When I do this, I get pretty good results (with "Gauss" you mean "Gauss 2x3-point"?):



But when I use 64/32, 32/16, 32/16, then I indeed get a field full of NaNs. I think that this happens because the vectors are filtered incorrectly in between the passes. When the first pass contains many NaNs (because of very sparse seeding), then the filtering algorithm might fail. I need to correct this in the next release. But for now, you could just enable the CLAHE filter in pre-processing, it will increase the quality of the analyses and seems to fix this bug.

Please consider donating for the PIVlab project:
http://paypal.me/pools/c/81Y8wBVi4y

The developer needs to update to a recent Matlab release in order to keep the project running.

Stephan C Stephan C
Reply | Threaded
Open this post in threaded view
|

Re: PIV images not processable

The png seems to be an artefact of the upload, since i always work with 8-bit bmp files.
I know the application im 'abusing' the script for can't be called real PIV , since the seeding density is far too sparse. As said, it is impossible to seed better, because floating particles are applied on a free surface flume, and whenever an 'upwelling' event happens, the seeding spreads and empty spots arise.

However, for time averaged quantities something can be done, if you eliminate the regions with insufficient seeding.
Obviously, some bias error might be introduced, this is something we are still looking into.
Im also looking upon the possibility to perform PTV, which considering the sparse seeding, might be more applicable for this case. I just mentioned the error and indeed thought it had to be something coming from a small coding bug.

Since i saw it was a general issue I wanted to mention it so that you could have a look and maybe others would be helped :)
Thanks for the response.
William William
Reply | Threaded
Open this post in threaded view
|

Re: PIV images not processable

I just found the problem...:
somehow, the correlation matrix (result_conv) becomes negative (with very tiny numbers) with your dataset. Then, during the subpixel displacement estimation, I calculate the log of these negative numbers, which leads to imaginary values... I fixed this in the 1.4 release.

Please consider donating for the PIVlab project:
http://paypal.me/pools/c/81Y8wBVi4y

The developer needs to update to a recent Matlab release in order to keep the project running.