PROJECTS


I don't know if I can call all the following programs as projects or not but I included some of the software that I developed in the following sections. Some of these are projects from classes some are done just for fun while others are my job work. These are the only three categories that the following projects fall into.


Optical Character Recogntion of Cursive Handwriting

DESCRIPTION
This software allows users to converts their handwritten text to computer's ASCII text. The program first need to train itself with the handwriting of a given user. For this the user has to write a few pages of text already "known" to the program on a sheet of paper. Next the pages are scanned and send to the software for its training. It saves some information about the user (including the slant, style, size etc). After this given another sheet of text in digital format (scanned image), the software uses the previus knowledge about the users style and tries to recognize the words. Currently the system has the best performance of 83% only, but with more parameters a better accuracy can be achieved.

This is a class project for ECE 532: Digital Image Analysis

PROGRAMMING LANGUAGE USED
Java

OPERATING SYSTEM
Platform Independent



Visual Aid System for Robot



DESCRIPTION
Robots have been extensively used in the 20th century and their use still increasing from manufacturing industry to space exploration. There are robots which still work without a vision system and they are mostly dependant on some hardwired information such as world coordinates or movements guided by radio frequencies or some others which are manually controlled. But to make robots truly autonomous, there has to be some kind of visual aid for them to guide against collisions and also to make accurate pick and place operations. Our project in this area arose from this idea. Since the scorbot-er robot in Systems and Industrial Engineering (SIE) lab does not have a visual system we planned to implement our system on it.

In this project we make the robot pick up an object, no matter where it is placed in some limited space using its visual system. A camera is mounted on the robot hand so that robot can "see" what it wants to pick up. The visual system controls the movement (not directly but through an additional control system) of the robot to place it correctly in position to pick up the object of interest placed in the robots world. In our experiments the object of interest is a blue wax piece and the robots space is a stock. We used Logitech Webcam as a visual aid system.

This is a class project for SIE 583: Computer Integrated Manufacturing

PROGRAMMING LANGUAGE USED
Java

OPERATING SYSTEM
Platform Independent



Website Downloader

DESCRIPTION
With this software you can download parts or complete website from the internet to your local disk for offline viewing. Suppose you visit a website and want to download its content so that they can be viewed at leisure you can use Website Downloader to download all the files from the website. You can also choose which files to select. For example you can download all the .pdf, .doc and .html files from the website and nothing else. You can also select how deep you want to go from the current link. To summarize some of the main features include
  • Choice of selecting predefined or user selected file types (movies, music, documents etc) to download
  • Five simultaneous downloads improves download speed
  • Converts links in the documents to make them suitable for local viewing
  • You can select the depth
  • Save and load facility to continue previously suspended job
PROGRAMMING LANGUAGE USED
Python

OPERATING SYSTEM
Platform Independent

DOWNLOADS
This software has been compiled for Windows only. Download here



Virtual Network Computing

DESCRIPTION
This is a crude immitation of the Real VNC. Here is the description of VNC quoted from their website.

VNC stands for Virtual Network Computing. It is a remote control software which allows you to view and interact with one computer (the "server") using a simple program (the "viewer") on another computer anywhere on the Internet. The two computers don't even have to be the same type, so for example you can use VNC to view an office Linux machine on your Windows PC at home.

Basic theory out of the way, now for the truth. I implemented the idea of VNC to learn the remote control software. My software is neither as fast as Real VNC nor has any security (more of a hack). The figure on the left side shows a view of unix machine controlling a remote windows machine.

PROGRAMMING LANGUAGE USED
Java, C

OPERATING SYSTEM
Java implementation is Platform Independent. The C version is written using WIN32 API




Text Image Signature

DESCRIPTION
If you ever want to send an image in text format you can use this software. This program converts an image into plain ASCII text and saves it to a file. This text can be sent in emails. I agree that it is not a very useful software, but anything goes with fun. Along side you can see the actual image (on the left) and the converted image (right). If you cross your eyes or view the screen from distance you should be able to see the text image as a black and white image of the original one.

PROGRAMMING LANGUAGE USED
Java

OPERATING SYSTEM
Platform Independent




Computer based Function Generator (ANTIQUE)

DESCRIPTION
This software generates various kinds of signals such as square, ramp, sinusoidal and triangular signals through the sound card. Since a sound card is inherently a digital to analog converter it can be programmed to receive digital data and convert it to corresponding voltage level. The software I created sends digital data at a very fast rate (rate at which a sound card can receive which is generally 44 kHz). Thus a computers sound card can be used as a function generator with various kinds of outputs. The frequency range is between 1 Hz to 10 kHz, though the shape of the signal may not be exact for signals such as ramp, sinusoidal and triangular and it can go as far as 22 kHz for square wave. The software is completely operated with mouse and has a graphical interface. Not only frequency and amplitude but also duty cycle (for square wave) and DC offset can be varied all through a few mouse clicks. The images on the left side may be decieving in the sense that the actual program is much more colorful! Unfortunatley I could not get color snapshots because it is a DOS based code and for some reason WinXP does not allow me to take snapshot of Fullscreen DOS applications. I got these from an old project report. I am hoping to find some PC running win98 to take more snapshots (may be added soon).

PROGRAMMING LANGUAGE USED
C

OPERATING SYSTEM
Windows




Simulation of Shunt Motor (ANTIQUE)



DESCRIPTION
I created this software which simulates the shunt motor characteristics using graphics in C. It is common for students to work with different kind of motors in their labs. One of which is shunt motor. In these days of computerization one would expect to have more of simulation labs rather than conventional labs. Also one can have high flexibility to do practical research work without causing any adverse effects such as overloading, short circuiting etc, since everything can be handled by software. This is where the software I created comes into picture. In the software students can run a shunt motor using a five-point starter. Its speed can be varied by changing shunt rheostat. Loading can also be varied. Thus the output for various loads and various other characteristics such as speed, load current, efficiency etc. can be obtained dynamically. A lot of features such as input voltage, core losses, mechanical losses, armature current can be varied so as to conduct tests on different kinds of shunt motors with various ratings. All this can be done with a graphical interface, mouse and keyboard. One can even obtain tables and graphs, which a student does in a lab leading to a virtual lab at home

PROGRAMMING LANGUAGE USED
C

OPERATING SYSTEM
Windows




My job works as a Java/Flash Programmer at the Chemistry Department

FLASH MOVIES
Drawing Pad
Fiber Optics
Calculator

JAVA APPLETS (better viewed in Windows than in Linux and never tested on Mac)
Concept Map Builder
Concept Map 2
Concept Map 1
Resistance Concept
Fefraction Experiment
Refraction Concept
Reflection Concept
Graph Drawing
Lewis Builder
Chemical Equilibrium
Phase Seperation
Binary Mixture (2)
Binary Mixture (1)
States of Matter