What's a good matrix manipulation library available for C? [closed] - image

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am doing a lot of image processing in C and I need a good, reasonably lightweight, and above all FAST matrix manipulation library with a permissive license. I am mostly focussing on affine transformations and matrix inversions, so i do not need anything too sophisticated or bloated.
Primarily I would like something that is very fast (using SSE perhaps?), with a clean API and (hopefully) prepackaged by many of the unix package management systems.
Note this is for C not for C++.
Thanks
:)

I'd say BLAS or LAPACK.
Here you have some examples.

OpenCV
alt text http://opencv.willowgarage.com/wiki/Welcome?action=AttachFile&do=get&target=OpenCV_Overview.jpg

You could try CUBLAS(CUDA Basic Linear Algebra Subroutines library) with CUDA enabled graphics card to do matrix manipulation on nVidia GPUs. It has quite significant performance boost than other CPU libraries, though it is not that lightweight to your requirement.
This page contains some description and figures about it.

I found this library and it's brilliant: Meschach

Armadillo have simple interface and can use different LAPACK and BLAS linear algebra libraries

Related

Language and Platform [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I am really new to Windows platform.
I was wondering if you guys can give me a tip on which language to start on and which platform is the best and easy to learn and use for the following
I will be working on Video dissecting, frame rate measurement. Everything to do with video frames and image processing measurement.
Performance is a very big concern. So I will not be able to work on Java or any other language. I would performance like C/C++.
Please give me reference as to where I can start off on it too.
Is OpenCV a good choice?
Thank you.
OpenCV is definitely a good place to start. The library is written in C++, have good API, and is highly optimized. OpenCV's cv::Mat data structure is fast and easy to work with and allows you to do linear algebra on matrices. The library has a large user community, so you should be able to find help on-line easily. You may use other libraries in conjunction with OpenCV or implement your own custom functions.
I would also suggest to use the power of GPU for image processing (when it is appropriate). OpenCV has a few functions that are implemented on GPU. This number will probably increase, because the library is being continuously updated (an updated version is released approximately every 3 to 4 months).
Yes OpenCV is very good choice to start. Its very easy to learn since it is widely used and lot of help is available online. You can get things done with minimum code.

what is the latest and best face recognition algorithm? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
am doing my final project that includes face recognition and am trying to implement it on matlab. can anybody help me on getting some resources on each algorithms and their pro's and cons. plus if i get their matlab implementation i would be glad.
i've tried PCA(Eigenfaces) but in some resources it says it not a good algorithm anymore. so am looking for an alternative.
The Viola Jones Face Detector is nice but of course it is just detection:
http://www.cs.ubc.ca/~lowe/425/slides/13-ViolaJones.pdf
if you want the best results you can try fusion by employing multiple methods at once and recogintion rate can increase considerably if performance is not an issue
One may use Gabor wavelets
face recognition in opencv
a matlab code uses Gabor feature

Application based(which is used) OpenMPI [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Please help me to find some working application which is using openmpi. I need any name of application which have widely/worldwide usage and based on openmpi (using it). At least the name of that kind application will be enough.
Thanks
OpenMPI is an implementation of MPI. Applications are written using MPI (i.e. the code calls MPI routines), and they can be compiled/run using any MPI implementation (e.g. MPICH2, OpenMPI, LAM-MPI, etc).
So, to answer your question, strictly speaking there is no such thing as an "OpenMPI application".
As for what applications use MPI, there are many. Here's a few:
AMBER (Molecular Dynamics)
Gromacs (Molecular Dynamics)
DL-POLY (molecular dynamics)
FFTW (for parallel Fourier transform)
MATLAB Parallel Computing Toolbox
FLAME (Agent-based modelling)
CASTEP (Materiam science)
POLCOMS (Marine Ecosystem)
WRF (Weather Forecast)
NWCHEM (Computational Chemistry)
... and the list goes on and on.
Well, you could search for MPI benchmarks. There are several popular ones such as NAS, PALLAS, SPEC, etc.

How and where are GPUs used in scientific simulations? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
How and where are GPUs used in scientific simulations (esp. in astrophysics/cosmology)?
Take a look at NVIDIA CUDA showcase. First two applications mentioned are astronomy/astrophysics.
Astrophysics tag on GPGPU.org
It's quite a new field, but I've seen an application in astrophysics once.
Generally GPUs can be used for parallelizable calculations (per pixel or per event), with simple C-compatible (not object oriented) routines, e.g. fourier trafo, histograms, etc
The simulation in Physics usually needs to consider thousands/millions of particles in cosmology and astrophysics, in Electromagnetic (e.g. in the light propagation g-search "+fdtd +gpu") and fluid simulations, in biological contexts, atmosphere, etc. The GPU can harness the parallelism that is present in the universe. The hardware and the software are ready (g-search Open-CL, CUDA). You can have a supercomputer in your desk. In almost all simulations we can use parallel reasoning: define how to model the response of one component and apply to all components propagating the interactions in time steps.
see my PSE-answer here to see a nice picture where my GPU(300 processors) was used to simulate gravitacional interactions using direct N-Body code.

Good library/libraries for datastructures in assembler [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
Are there any good libraries (preferably with commented source) for standard datastructures (Linked list, array list, queue, stack etc.) for x86 (or others)
in Assembler ?
I don't like to reinvent (and debug !) the wheel....
Why not just find a good C library and call it from your asm?
Or if you need "inline" functionality:
Compile the functions you want to use into a Hello World program.
Disassemble the program.
Rewrite the assembly as asm/pre-processor macros.
You'd be best asking in one of the Assembler-specific groups rather than here. Try:
the recently-released MASM32 SDK v10 which gives a link to the MASM Forum.
the WinAsm site.
Google said there were some data structures demo-ed on Microsoft's MASM Samples page, but I didn't go hunting.
Another possibility is to check out HLA, the High Level Assembly Language. The blurb there is, in part,
Now you can enjoy all of the benefits of high-level and low-level languages, all rolled into a single language! HLA, the High-Level Assembler lets you write true low-level code while enjoying the benefits of high-level language programming. Don't let the name fool you; you can do anything with HLA that you can do with a traditional low-level assembler. All the same instructions are present, all the same low-level programming facilities are present. The difference between HLA and low-level assemblers is that you're not stuck using low-level programming paradigms when they're not needed. Watch your productivity soar when using HLA; and write far more efficient programs than you could using high-level languages.
IIRC, their support for data structures is quite good.

Resources