J has some support for manipulating image files. It also has opengl
support.  I'm not sure if J8 has image file support yet (I have not
tried to use it yet) but J6 has convenient support for a variety of
image file formats
(http://www.jsoftware.com/jwiki/Addons/media/platimg).

However, if you use current J implementations for image processing you
should expect to spend a lot of time re-thinking things. A lot of the
literature about image processing is written from a "machine
instruction" perspective, or not much more abstract than that. And
while opengl shaders can be used, J itself currently has not
implemented tools to efficiently transform its code into arbitrary
machine instructions. For J to be fast, you have to use its primitives
to operate on "large" quantities of data.

Or, I think it should be possible to use opengl shaders in J7 or J8.
They have been re-built in part because of issues like how hard it was
in J6 to use features of opengl like shaders. But, personally, I have
not yet taken the time to exercise this ability in the new systems (J
is a spare-time effort, for me, and I have a broad range of
interests).

On the other hand, you can develop code in J and then when you find a
performance bottleneck you can re-implement just that operation in C
(http://www.jsoftware.com/help/user/dlls.htm). But this translation
currently needs to be a manual operation. We have not yet built tools
that work this way. Also, since C code has an independent existence in
the operating system and building C code has dependences on the
specific machine, you wind up with dependencies on the OS and on the
machine configuration. And, of course, you would also need to be using
C (hypothetically other languages can be used, but I am not sure which
ones can build efficient shared libraries).

Also, if you are going to use J for image processing, I think the only
good book that's been published so far that has relevance to image
processing and is specific to J is Cliff Reiter's "Fractals,
Visualization and J".

And maybe we can get some image file support into J8 (we can, I just
do not think I have time to do that, myself).

I hope this helps, and I hope other people speak up on this topic (I
might have stated something incorrectly).

Thanks,

On Wed, Apr 24, 2013 at 7:23 AM, Sarah Arnold <[email protected]> wrote:
> Hi
>
> I'm new to J (and virtually to programming in general). I have just finished
> reading the J Primer. For my PHD I need to do some image processing. I was
> wondering whether J was a good choice for image processing, since the
> language works so fine with arrays. At the moment, I'm mostly using Wolfram
> Mathematica, which I like a lot, but it is also very slow.
>
> Is J fast? Does there already exist a library for image processing tasks?
>
> Any help is appreciated!
> Sarah
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to