Opened 13 years ago
Closed 12 years ago
#126 closed defect (fixed)
Query about 3D Atrous Reconstruction
Reported by: | Owned by: | MatthewWhiting | |
---|---|---|---|
Priority: | normal | Milestone: | Release-1.2 |
Component: | Wavelet reconstruction | Version: | 1.1.13 |
Severity: | normal | Keywords: | |
Cc: |
Description
Shouldn't the value of x be at least bounded by xdim where the xLim1==xLim2, it is possible to create a value of x that exceeds the x dimension (or is negative). Therefore, oldpos will be incorrect and possibly some random part of the memory and potentially non zero.
Likewise for old row with regard to y bounds.
for(int xoffset=-filterHW; xoffset<=filterHW; xoffset++){ long x = long(xpos) + spacing*xoffset; // Boundary conditions -- assume reflection at boundaries. // Use limits as calculated above if(xLim1[ypos]!=xLim2[ypos]){ // if these are equal we will get into an infinite loop while((x<xLim1[ypos])||(x>xLim2[ypos])){ if(x<xLim1[ypos]) x = 2*xLim1[ypos] - x; else if(x>xLim2[ypos]) x = 2*xLim2[ypos] - x; } } size_t oldpos = oldchan + oldrow + x; filterpos++; if(isGood[oldpos]) wavelet[pos] -= filter[filterpos]*coeffs[oldpos]; }
Change History (2)
comment:1 Changed 12 years ago by
Component: | Building/Installation → Wavelet reconstruction |
---|---|
Milestone: | → Release-1.1.14 |
Status: | new → assigned |
comment:2 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
I have made several changes to the way the wavelet reconstruction handles blank pixels, which has gotten away from the use of parameters like xLim1 etc. The indexing of the bounds is now more robust and memory leaks like those identified in the ticket should now not occur.
Version 1.2 will be released shortly. Closing this ticket.
Address this for upcoming release