Module: Multiple Features-Object Conceptualization
Module: Multiple Entities Recognition via Case-base Analysis
Module: Object Spatial Relationship Extraction
Module: Semantic Image Interpreter via Conceptual Graph
Projects from year 1998 until NOW ... - Developed by AHYEEK
Sponsorship chair for the Third Malaysian Joint Conference on Artificial Intelligence (MJCAI) and Semantic Technology and Knowledge Engineering (STAKE), year 2011
Paper publication presentation -
S. Y. Tan, C.C. Kiu, Dickson Lukose. Automatic Question Generator Evaluating In 3rd Semantic Technology and Knowledge Engineering (STAKE 2011), UNITEN Putrajaya, Malaysia, July 18-22, 2011
Demo chair for the Artificial Intelligent Demo 2011
Event : Knowledge Technology Week (Conference & Exhibition)
Date : 26 July – 30 July 2010
Time : 9am – 5pm
Venue : Damai Beach Resort, Kuching, Sarawak
Responsibility: Demo presenter
1. Generics allow you to define type-safe data structures, without committing to actual data types.
2. Result higher quality of code by reuse data processing algorithm without duplicating type-specific code.
3. Generics allow you to define type-safe classes without compromising type safety, performance, or productivity.
.Net 1.1 way of implementing Stack data structure providing Push() and Pop() methods.
For general purpose of Stack, it used to store instances of various type. Old way using Object-based stack, which is amorphous object. This is because Object is canonical .NET base type, it able to hold any type of items.
1. Performance in boxing and unboxing value types when pushing and popping process.
2. Type safety. Compiler allow anything cast from Object type. Hence, programmer losing compile-time type safety. Cast wrongly will raise an invalid cast exception at run time.
Hence, to solve this, old way is to create type-specific Stack data structure. For Interger, using InsStack, for String, use StringStack.
Writing type-specific data structures is a tedious, repetitive, and error-prone task.
In addition, there is no way to foresee the use of unknown or yet-undefined future types, so you have to keep an Object-based data structure as well.
Sample Code Download : Learn_Generics.zip
1. A Collection of Items containing a Single Item.
2. Can Add any datatype value, every item in arraylist is treated as object.
3. It will dynamically expand and contract when you add/remove elements to it.
1. Collection of key,value pairs.
2. Key Can be any data-type.
3. Key Cannot be null reference, but value can be.
4. Each element is a key/value pair stored in a DictionaryEntry object.
Retrieving by key in Hashtable is faster than retrieving in Arraylist.
Sample Code Download : Hashtable_Vs_ArrayList.zip
An event is a message sent by an object to signal the occurrence of an action. The object that raises the event is called the event sender. The object that captures the event and responds to it is called the event receiver. In event communication, the event sender class does not know which object or method will receive (handle) the events it raises. What is needed is an intermediary (or pointer-like mechanism) between the source and the receiver. The .NET Framework defines a special type (Delegate) that provides the functionality of a function pointer.
A delegate is a class that can hold a reference to a method.
A delegate class has a signature, and it can hold references only to methods that match its signature. Thus equivalent to a type-safe function pointer or a callback.
Sample Code Download : Event-Delegate-Learn.zip
Abstract method vs Virtual methods
Abstract method: When a class contains an abstract method, that class must be declared as abstract. The abstract method has no implementation and thus, classes that derive from that abstract class, must provide an implementation for this abstract method.
A subclass which derives from an abstract class and fails to implement abstract methods will fail to compile.
Virtual method: A class can have a virtual method. The virtual method has an implementation. When you inherit from a class that has a virtual method, you can override the virtual method and provide additional logic, or replace the logic with your own implementation.
Virtual methods allow subclasses to provide their own implementation of that method using the override keyword.
A member defined as virtual must be implemented in the base class, but may be optionally overridden in the derived lass if different behavior is required.
Sample Code Download : Learn_Abstract_Vs_Virtual.zip
Abstract Base Vs Interface
An Abstract class without any implementation just looks like an Interface; however there are lot of differences than similarities between an Abstract class and an Interface.
Will Code In Finally Block Being Executed When There Is A 'Return' In Try Block?
Finally block allow us to specify code that's guaranteed to execute no matter what kind of exception a thread throws.
Sample Code: Try_Catch_Finally.zip
Home-grown small pipeline inspection system to inspect pipeline interiors welding quality for pharmaceutical industry and food industry, diameter range from 12 mm to 75 mm.
Non-destructive video inspection is required from recent government law enforcement to above industry to increase safety standard and environmental contamination control on above industry facility pipe line and sewage system.
Video evident of the interiors of pipelines for welding defects such as surface discontinuity, corrosion fatigue cracking, creep of dissimilar weld joints and piping conditions such as leakage and blockage is done yearly by pipe line inspection service’s consultant company.
* This project was awarded with entrepreneurship (CIP) grant by CRADLE in year 2009
This project is continue research and enhanced from ASIS PCB, Advance Stencil Inspection System in order to achieve new capabilities:
- System able to inspect 1 million apertures, with 1 time scan 8x8 inch wafer disk, by 3200dpi resolution and its accuracy achieve 7um
- System able to inspect 1 million apertures, with 1 time scan 12x12 inch wafer disk, by 2400dpi, resolution and its accuracy achieve 11um
* This project was awarded with entrepreneurship (CIP) grant by CRADLE in year 2008
Research & Developed Prototype In Inspecting Wafer Stencil (Die by Die Inspection) Demonstration:
Automatic human eye independent QC tool for stencil inspection
Check missing, extra, position offset and area defective aperture
ASIS™ is a fully integrated, stand-alone measurement and inspection workstation for stencil and screen fabrication or other machined, etched or laser cut eform operations.
ASIS™ uses a PC Windows based software package integrated with a high-resolution, calibrated, A3 size flatbed scanner. This combination allows inspection of both stencils and screens for accuracy and the ability to inspect and measure 100% for absence/presence and correct size of apertures.
* Awarded with pre-seed entrepreneurship grant by MDEC.
Product sold to Hakko Sdn. Bhd., www.hakko.com and Ocular Sdn. Bhd. www.ocular.com.my
Software and hardware design in optical inspection technology effectively prevent human error in product labeling process in a manufacturing system. This technology consists of camera, video card, computer and image processing software to replace human eye and mental comparison process(brain), which is known for not reliable and error prone for repetitive task.
This proprietary solution prevent human mistake happen at the source, verify the source input data in text form against with machine first output unit. Therefore, it totally eliminate possibility of catastrophic product scrap cost, quality and reputation loss. Other competitors system provide solution in the area of “verify ‘first output actual unit’ against subsequence unit”. This comparison method only good for solving mix device and product segregation after mass production.
* This project was awarded with entrepreneurship (CIP) grant by CRADLE in year 2007
Hardware setup environment:
Software interface screen shots:
Genseq is a start up company incorporated in Jersey (C.I.), which has been founded by two successful entrepreneurs to offer affordable genome sequencing and bioinformatics analysis of the resulting data. The first human genome sequencing was successfully complete in 2005 by the Human Genome Project, a US$3 billion public funded program and by Celera genomics, a private company at a cost of over US$300m. For more information, refer: www.genseq.co.uk
Product developed: www.MyFamilyHealth.com
How is it useful?
# Connect with your relatives to record and track an accurate and up-to-date family health history.
# Find out which diseases and health problems run in your family.
# Discover if you or your family members are at risk of certain diseases - even one's that might otherwise not be considered by your doctor.
# Discover if you or your family members need a specific diagnostic test.
Latest technology developed:
Provided a plug in engine, that able to provide the system in your own site.
This is the example: http://MyHealthyFamily.blogspot.com
Microsoft Certificate Of Achievement For Advance Windows Forms Technologies
Year: 16 Jun 2007
Programming Language: Microsoft .NET C#
Source Code: Email author firstname.lastname@example.org
Simulation Application For Test: Download
I always tell my friends that "Image Processing (IP)" technology can be translate as "The Ability For Machine To view". I considered it as 1 of the A.I knowledge in computer science and really interesting.
Below are some of the examples I did using C#. Below is the first example, which the example is research on 'Thresholding' technique (see Image [a]). In order to thresholding a color image, I translated the color code for the color image into a gray scale image first (see Image [b]) before doing any further filtering operation. The third example is doing the invert filtering (see Image [c]).
(Image [a] - Threshold Image Filtering Example)
(Image [b] - Gray Scale Image Filtering Example)
(Image [c] - Invert Image Filtering Example)