| Date | File | Comment by | Comment | Rating |
|---|---|---|---|---|
| 26 Oct 2009 | ENVI file reader, version 2 Read ENVI raster files. Supports all interleaves, data types (except complex) and byte orders. | Esquerre, Carlos | It works pretty good. I made a small modification to read files without geographical information since I work with hyperspectral image of mushrooms. |
|
| 26 Sep 2009 | SORTFIELDS SORTFIELDS sort values in all fields within a structure. | Fetterman, Matt | Seems quite useful ! |
|
| 24 Nov 2008 | SORTFIELDS SORTFIELDS sort values in all fields within a structure. | Shlomi | It'll be also useful if you return the parameter 'I' in the same manner that the sort function does. 'I' should be an array or cell array in the case that 'SORTBYFIELDS' was not used. |
|
| 24 Nov 2008 | SORTFIELDS SORTFIELDS sort values in all fields within a structure. | Shlomi | This function is just what I looked for. Thanks.
|
|
| 13 Aug 2008 | DATEPART Extract decimal yr/month/day/hr/min/sec from a datenum. More versatile than datevec. | Howat, Ian | Cory,
and then get the decimal month using datepart:
|
|
| 06 Aug 2008 | DATEPART Extract decimal yr/month/day/hr/min/sec from a datenum. More versatile than datevec. | Sieg, Cory | Doesn't pick out the month accurately from a daily time series. |
|
| 19 May 2008 | FILLNANS FILLNANS replaces all NaNs in array using inverse-distance weighting between non-NaN values. | Janiczek, Janusz | ||
| 16 May 2008 | TIMESPLITRINEX Break up a RINEX GPS file by a length of time | Rogula, Stanislaw | ||
| 16 May 2008 | TIMESPLITRINEX Break up a RINEX GPS file by a length of time | Rogo, Stan | ||
| 18 Jan 2008 | ENVI file reader, version 2 Read ENVI raster files. Supports all interleaves, data types (except complex) and byte orders. | Utku, Cuneyt | Very useful. Code is easy to follow.
|
|
| 25 Jul 2007 | ENVI file reader, version 2 Read ENVI raster files. Supports all interleaves, data types (except complex) and byte orders. | Howat, Ian | If the map/image coordinates in the map info in the header are not the upper left corner (1.5,1.5), the program will not create the correct X Y vectors. I've uploaded a fix for this. |
|
| 20 Jul 2007 | ENVI file reader, version 2 Read ENVI raster files. Supports all interleaves, data types (except complex) and byte orders. | Howat, Ian | Notice (7/19/2007) There's a bug in the current version that keeps it from loading 1-band images correctly. I've uploaded an update, so you'll want to wait and download when the system posts the revised version on 7/20/2007. |
|
| 19 Jul 2007 | FILLNANS FILLNANS replaces all NaNs in array using inverse-distance weighting between non-NaN values. | D'Errico, John | My thanks to the author for his continued modifications. Along the way, he has considerably improved this code. With those enhancements, perhaps it is now time to revise my own rating. |
|
| 18 Jul 2007 | FILLNANS FILLNANS replaces all NaNs in array using inverse-distance weighting between non-NaN values. | Howat, Ian | I thank John for his thorough and informative review below. I would like to respond to his point about the relative "accuracy" of FILLNANS and INPAINT_NANS. In the example John used, he interpolated between gaps in a smooth sinusoidal function and tested the accuracy by cross-validation of the interpolated points with the missing functions. Since INPAINT_NANS uses linear least-squares, it will do the best job of interpolating smooth gradients. However, as an Earth Scientist, I deal a lot with interpolating data with messy (ie. highly peaked) variograms that do not follow smooth functions with even gradients. Ideally I use Kriging to interpolate these data so I can get some sense of the spatial variance and therefore some idea of the confidence of my interpolation. However, kriging takes too long on big datasets and doesnt do well with edges of arrays, thus inverse-distance interpolation is simple and keeps a tight bound on the interpolated values. To gain some insight into the relative accuracy of methods, I applied and compared FILLNANS and INPAINT_NANS to some "real" data - in this case gridded altimetry measurements over the coast of Greenland. This is the same data that's in the screen shot.
For FILLNANS(A,'power',6,'radius',20) the average standard deviation for all the tests was 78.7083m with a range of 59.2604 to 105.1010. It took 2.790790 seconds to complete each interpolation.
|
|
| 16 Jul 2007 | FILLNANS FILLNANS replaces all NaNs in array using inverse-distance weighting between non-NaN values. | D'Errico, John | I did like the help in fillnans. There is no error checking, but relatively little to check. ;-) It has an H1 line, although part of it spills over into a second line. The code is quite simple. I did some testing to compare fillnans with my own inpaint_nans tool. The first test has a moderately sparse sampling, with fully 98% of it a NaN. [X,Y] = meshgrid(0:.02:2);
tic,Zip = inpaint_nans(Z);toc
tic,Zf = fillnans(Z);toc
figure
figure
figure
There is a significant difference in speed between the two, as you should see. You should also note the spiky-ness of the fillnans result. This is a characteristic of an inverse distance interpolation. Changing the value of p will have significant influence on your results. For example: Zf = fillnans(Z,6);
This was a bit less spiky. Lets see what happens for more densely populated arrays.
[X,Y] = meshgrid(0:.02:2);
tic,Zip = inpaint_nans(Z);toc
tic,Zf = fillnans(Z);toc
figure
figure
Inpaint_nans was very much faster here, and nicely smoother. How accurate is fillnans? For the problem above, where Z0 is a well behaved, smooth function, inpaint_nans replicates its surface well, better by almost a factor of 200. std(Z0(:) - Zip(:))
std(Z0(:) - Zf(:))
Can the speed of fillnans be improved? Sadly, the use of waitbar is itself a real time eater. >> tic,Zf = fillnans(Z);toc
Next, I modified the code to call waitbar only 100 times over the entire main loop. This just took an extra rem call in an if statement. The waitbar is still updated often enough to see it move, but not too often that it was a time hog. >> tic,Zf = fillnans(Z);toc
It turns out that the calls to waitbar actually wasted roughly 60% of the entire time running. I'll bet the author makes this enhancement quickly. One behavior of fillnans that is useful is based on its being a convex combination of the data. So at any location, the predicted value must be bounded by the min and max of the data itself. (Method 4 of inpaint_nans should have a similar behavior, for those who must minimize extrapolation
Another property of fillnans that may be more useful is based on its underlying algorithm. While fillnans is moderately slow, the time required for its solution is
So for those who may read my review, your own rating of this tool will be a function of the problems that you pose to it. If your problems are simply too large for inpaint_nans, and you are not too worried about a lesser accuracy, then fillnans may be worth a 5 rating for you. For those of you who have smaller problems, who need more accuracy/smoothness, then your rating will be lower. I've chosen to rate it as a 4. |
|
| 16 Jul 2007 | FILLNANS FILLNANS replaces all NaNs in array using inverse-distance weighting between non-NaN values. | Howat, Ian | This error comes from a call to a non-standard toolbox function. I've uploaded a corrected version. (Make sure the revision is noted on this page before re-uploading). |
|
| 16 Jul 2007 | INVDISTGRID Simple, robust gridding using inverse-distance interpolation. | Howat, Ian | This error comes from a call to a non-standard toolbox function. I've uploaded a corrected version. (Make sure the revision is noted on this page before re-uploading). |
|
| 16 Jul 2007 | INVDISTGRID Simple, robust gridding using inverse-distance interpolation. | Stevens, Andrew | Doesn't work as provided... ??? Undefined function or method 'vsum' for input arguments of type 'double'. Error in ==> invdistgrid at 39
|
|
| 16 Jul 2007 | FILLNANS FILLNANS replaces all NaNs in array using inverse-distance weighting between non-NaN values. | D'Errico, John | >> Af = fillnans(A);
Error in ==> fillnans at 34
|
|
| 04 Oct 2006 | squiggle SQUIGGLE stacked-line plot, typically used for plotting seismic and radar profiler data. | B, R | Good starting point for my plotting needs |
|
| 23 Jul 2005 | squiggle SQUIGGLE stacked-line plot, typically used for plotting seismic and radar profiler data. | j, y | ok,thanks |
|
NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.
Contact us at files@mathworks.com