5 ms·
textread() becomes part of Octave just as it's getting phased out in Matlab :) textread() is a nice function that essentially takes an array of records (in a f
by Nate75Sanders 16y ago
textread() becomes part of Octave just as it's getting phased out in Matlab :)
textread() is a nice function that essentially takes an array of records (in a flat file) and turns it into a set of arrays. Basically you're performing a projection to get the set of time series you need from a time series of records.
I used to use Octave a lot instead of Matlab in grad school (computer vision) and still use it a good bit now translating/writing scripts for U-Hawaii's Oceanography program. viraptor is right, though, "ipython -pylab" is a great replacement, too
Python is where I keep going back to, for _everything_, because it has libraries for so much stuff, super-clean syntax, relatively easy integration with C, and enough extensibility.
- euroclydon 16y agoI recently spent three hours trying to track down an algorithm to convert celestial (or equatorial) coordinates to ecliptic. I found several Matlab scripts that purported to work and I tried them in Octave. They never gave answers even close to the NASA Calc [1], so then I searched for something in Python and found pyehpem [2], pulled it down with easy_install, and had the correct answer in two lines of code. [1] http://lambda.gsfc.nasa.gov/toolbox/tb_coordconv.cfm http://lambda.gsfc.nasa.gov/toolbox/tb_coordconv.cfm [2] http://rhodesmill.org/pyephem/index.html http://rhodesmill.org/pyephem/index.html
- chancho 16y agoI don't understand why the computer vision community is so locked in to matlab. Sure it's a great tool, but it's only marginally better than what the python community has to offer (that margin being the network effect I'm about to rage against) and it's damn expensive. You'd think the high cost and vendor lock-in would be off-putting to academics (the discounts are such a transparent ploy.) I mean, what good is it releasing some code under the GPL when you need a $2000 system (plus a handful of toolboxes at $1000 a pop, plus maintenance fees) to run it. What's particularly galling (to a matlab hater like me, anyway) is how some of the most highly-cited and useful work that's made available by researchers is done so only through matlab. The de facto standard benchmark for keypoints (http://www.robots.ox.ac.uk/~vgg/research/affine/ http://www.robots.ox.ac.uk/~vgg/research/affine/) is a matlab function, but it's not like that code uses matlab in any interesting way, it just reads text files. And even though it's not computationally intesive (the benchmark is only on small set of images) there is a mex function involved to do the actual computation, which makes it a pain in the ass to use with octave. Basically they're using matlab as a $2000 bash shell. Same situation for the standard segmentation benchmark (http://www.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/ http://www.eecs.berkeley.edu/Research/Projects/CS/vision/bsd...) And then there's LabelMe (http://labelme.csail.mit.edu/ http://labelme.csail.mit.edu/) the "open" annotation tool. They've got a really slick javascript UI for crowdsourcing ground truth collection for image segmentation / object classification tasks. They make the data freely available (which is awesome) but to access it you have to go through a matlab toolbox...? WTF?! I mean really, you've obviously got someone on your team who knows a thing or two about the web: take a page out of Flickr's playbook (after all they've done for the CV community) and make your data available via open standards. There's not even a goddamned download link on the page. It's like they're on the Mathworks payroll. Grrr...
- Nate75Sanders 16y agoA lot of it is institutional buy-in. Your group might be buying single licenses or something, but pretty much all reasonably big research universities in the US have either a site license or a college/school-level license -- like maybe the whole College of Engineering or whatever. A lot of engineers (non-CS guys) REALLY like Matlab because it's extremely easy to use with good visualizations and with all the toolboxes and stuff, you can do whatever you want. So you get a lot of ME, EE, CE, other guys saying "we want Matlab" and all of a sudden you have a good reason to get a site license. Add to that that many computer vision researchers are really EE or applied math guys who aren't going to use some other language/tool and it boils down to free Matlab (because you have the site license) or free Octave (because it's free) and they take Matlab because it's more full-featured. Particularly, until the last few years, the plotting/visualization stuff under Octave was some mix of incomplete and very hacky. The situation has certainly become better, lately, though. Also, as of say...2006? Matlab was considerably faster. Also, at conferences, etc, it's easy to find books about Matlab and a salesman with a little booth who's happy to talk to you and they also advertise elsewhere a good bit. I don't think anybody's preaching Octave, actively, except for the choir. Edit/addendum: I think Octave is great. Just explaining why I think people choose Matlab.
- mturmon 16y agoI understand your perspective. I love to develop in Python, but still do most of my work in Matlab. I think the easy to use and high quality graphics in Matlab, plus the painless installation and setup (compared to python, scipy, ipython, etc.) are the main factors. Thanks for the link to LabelMe, that's cool.
- fluidcruft 16y agoI came to the same realization and that's why I've moved to octave. Octave's a much better "bash" shell. It works much more nicely for integrating tools on unix. I often build things that mix specialized C/C++/Fortran programs, octave and R. Octave makes it so much easier to assemble these things. You can use each tool for its strengths.