Monday, 25 March 2013

Peltier type Chillers, Air conditioner,

 

Rittal’s thermoelectric coolers employ the “Peltier Effect” to provide 340 BTU’s (100 W) of cooling output without refrigerants or gases and with very few moving parts.   Small in size (16” H x 5” W x 6” D), and the lightest thermoelectric cooler on the market at a mere 7 lb, Rittal’s versatile thermoelectric coolers can be mounted internally or externally, horizontally or vertically and produce very little noise or vibration.

 

Rittal’s air/air heat exchangers are perfect for environments where the ambient air temperature is at or below the desired interior temperature of the enclosure. Two separate air circuits prevent dust and pollutants present in the ambient air to ingress the enclosure interior.

Rittal TopTherm PLUS 4X wallmount air conditioners are the most advanced enclosure air conditioners available on the market today, with stainless steel exteriors to provide the protection you need for harsh environments. Utilizing nanotechnology to repel dirt, oil, and other contaminants from the condenser coils, TopTherm PLUS air conditioners have drastically improved energy efficiency and performance along with extended maintenance intervals. This revolutionary RiNano coating also eliminates the need for filter mats. In addition, an integrated condensate evaporator makes emptying condensate collection bottles a thing of the past.

http://www.rittal.us/products/index.cfm?n1ID=4&n2ID=26

Read More

Monday, 18 March 2013

MATLAB and Octave Functions for Computer Vision and Image Processing

MATLAB and Octave Functions
for Computer Vision and Image Processing

Phase Based Feature Detection and Phase Congruency

    Phase congruency is an illumination and contrast invariant measure of feature significance. Unlike gradient based feature detectors, which can only detect step features, phase congruency correctly detects features at all kind of phase angle, and not just step features having a phase angle of 0 or 180 degrees.

  • phasecongmono.m This function computes phase congruency via monogenic filters. It has excellent speed and much reduced memory requirements compared to the other phase congruency functions below. However you may prefer the output from phasecong3's oriented filters.
  • phasecong3.m This function supersedes phasecong2.m and phasecong.m being faster and requiring less memory.
    • Deprecated: phasecong.m Original code for calculating phase congruency in an image. This function also returns a feature type image. Note this function is superseded by phasecong2.m and phasecong3.m and is only here for reference.
    • Deprecated: phasecong2.m Phase congruency code that combines edge and corner detection, and provides better localization. Note this function is superseded by phasecong3.m and phasecongmono.m and is only here for reference.
  • dispfeat.m This function provides visualisation and statistics of the different feature types found in an image by phasecong. Typically you will find a broad distribution of all feature types between step edges and lines. This function needs edgelink.m (see below).
  • odot.m Demonstrates the actions of the 'Odot' and 'Oslash' operators on a 1D signal. These operators allow one to decompose and combine signals in a way that is consistent with the Local Energy model of feature perception.
  • spatialgabor.m applies a single oriented Gabor filter to an image.

http://www.csse.uwa.edu.au/~pk/research/matlabfns/

Read More

Sunday, 17 March 2013

Limnor – Programming without Coding Software

 

A Few Highlights

  • It is a generic purpose visual codeless programming system.
  • It is a programming system without using textural computer languages.
  • It is based on some concepts easy for most people to follow. See Users’ Guide for Beginners – Part I for more information.
  • Its Math Expression Editor visualizes math expressions in its original graphic formats as people originally learned in schools.
  • Its Method Editor visualizes programming logic via action diagrams.
  • Event Path visualizes programming logic via control-flow.
  • Object Explorer visualizes object hierarchy, task assignments, and other entities and attributes.
  • UI Designer visualizes UI design.
  • Enhanced supports in specific areas make tough tasks intuitive and easy for beginners such as multi-threads parallel executions, multi-language resources and language switching at runtime, create professional installation, copy-protection, database applications, 2D drawings, web services, Windows services, kiosk, internet, etc.
  • All kinds of software can be developed without learning and using textural computer languages.
  • For .Net programs, .Net types are its programming entities. ActiveX is also supported.
  • It works with all other .Net programming languages seamlessly.
  • For web application, it visualizes Javascript and PHP programming
  • Its IDE is an open platform for plugging in visual programming approaches which may visualize the programming in different ways, allowing visual programming researchers to focus on innovations, not implementations.
  • A single visual and codeless programming approach can be used to develop web applications for LAMP (Linux Apache MySQL Php) and Windows. It unifies client side and server side programming in a single approach.
  • Its compiler generates EXE/DLL files, Windows installation files (MSI files), C# source code, Javascript code, HTML files, PHP files, and other supporting files. You have complete source code files for your programs.
Talking about "easy and intuitive", let's ask "how to make multi-threads parallel executions"? The answer: leave the actions unlinked. Isn't that easy and intuitive?

http://www.limnor.com/

Read More

Programming Without Coding Technology (PWCT)

 

pwctshot.jpg

PWCT is not a Wizard for creating your application in 1 2 3 steps.
PWCT is a general-purpose visual programming tool  designed for novice and expert programmers
A novice programmer can use PWCT to learn programming  concepts like Data Structure, Control Structure, Programming Paradigm,..etc.
An expert programmer can use PWCT to develop large and/or complex software.

Using PWCT we developed a textual programming language Compiler and Virutal Machine without writing a single line of code where the programming process done using the PWCT visual components.
This language called Supernova and it's free-open source.
Many database, Multi-Media, Network, AI, Simulation & Math applications developed using PWCT.

The last stable release of PWCT is 1.8 Smart. We update this release every little days and when you download from the next link you will get the last update. Last update date : 2013.02.11

http://doublesvsoop.sourceforge.net/pwcthelp/main.htm

Read More

Saturday, 16 March 2013

Turning a Web Page Into a Keeper

 

iCyte Logo

 

iCyte Chest

http://www.cybershade.us/winwget/

Read More

Tool Box

Features

1.Materail: high impact PP;

2.ROHS approved;

3.Operating Temperature:-25℃ to 120℃;

4. customized foam,logos and printing are available;

5. frosted surface;

6.suitable for tools, precised devices.

Order Note:

1.Color can be customized(need samples),but we have MOQ;

2.Material can be changed ,such as adding flame retardant,antistatic agent;

3.Modifications can ben done ,such as drilling holes,adding or changing PCB pillars(not free in charge);

4.All the products are designned under the regulations of certain protections,but we don’t provide the certificates;

5.For some special requirements,please contact us in advance,and describe this in the PO;

6.Because of revising and updating,technic data may not be updated on time,please get the confirmation before order;

7.Welcome to DEVELOP NEW MOULD with us,including OEM !

http://www.everestcase.com/tpc_content.asp?showid=14
Read More

Running your windows or linux software application in cloud storage

A big thanks to Touini, who send us this case study on how to run QuantShare on the cloud (Amazon's EC2 Instance) and use that instance to generate signals for your trading strategies.
Part1: Setting up QS on EC2
What is Amazon's EC2 and why would one want to run QuantShare "on the cloud"?
Setting up an EC2 instance is like setting up a small PC on the cloud. You can install anything on this PC. You can choose the base OS (Windows, Linux, etc.) and then configure this virtual PC as needed. We will be using Windows OS and installing Quantshare.
Potential reasons why it could be beneficial to run QuantShare on the cloud are:
1.      Have access to QuantShare from your ipad or iphone, anywhere in the world.
2.      Schedule the downloaders and build the databases on the cloud without human intervention. Use SugarSync or Dropbox to "sync" the updated database to all home and office computers.
3.      Automate generation of Buy/Sell signals. This includes e-mailing oneself the trading signals, running a trading advisory service or generating orders to sites like collective2.com. All without being at home and worrying about power/internet failures.
4.       Auto-trade an account. This is the most interesting application for real time traders. Especially mid-budget traders that are located outside the U.S., or suffer from bad internet connectivity and cannot afford to co-locate.
Let's start by setting up a virtual PC. There are many providers for cloud computing. We will be taking advantage of the Amazon current offer of one year free access to a basic micro instance to new users.
The micro instance is the smallest instance running at a virtual 1 Ghz, 613 MB Ram. It's not a lot of power but it's enough to run QuantShare and perform some basic tasks.
Steps:
1.      You need to sign up for an account with Amazon.com unless you already have one. Even if you run the free micro instance, you will need to give out your credit card to Amazon. Please review Amazon's offering. It should be enough to run free for a year.
If you exceed the quota they give you, you will be charged. 2.
Set up the instance. I used the Windows 2008 32bit AMI, but I guess you can use the Windows 2008 64bit R2 one. The lighter the package, the better since the micro instance has minimal RAM and CPU power.
I will not go through the basic setup. This video will guide you through the steps:http://www.youtube.com/watch?v=ZAB8wCg9MyE
(Start from the middle of the video where he sets up the actual instance). If you don't like videos you can read this "how to guide":
http://docs.amazonwebservices.com/AWSEC2/latest/WindowsGuide/EC2Win_GetStarted.html
keep in mind, the default Security Group does not allow for a Remote Desktop Connection.
When you get at the part of setting security groups, edit the default group and add port 3389 inside the "Port Range". Press "Add Rule'. This will open up the port for Remote Desktop Connection which is the non-programmer's way of controlling your remote PC. You can leave Source as is unless you have a static IP and are concerned over security.

Once you have set up port 3389 access you have the minimum to continue. Optionally you can open additional ports (SSH, FTP, etc).
Assuming you have followed the video tutorial you have now a micro instance running on EC2.
2.       Connect to the instance using Remote Desktop Connection. Best way is to go to the AWS control panel, right click on the instance and choose Connect. This will download a file and fire up RDC with the right settings. Alternatively, start RDC (Start--->search "remote") and point it to the instance's public IP address.

Choose "options" and type "Administrator" under User. Connect. Type in your instance's administrator password when asked. A window should open with your new desktop.
3.      At this point, I was asked to setup my network as Home, Work or Public. I chose Public. That brought problems and caused Internet Explorer to refuse to download stuff... So... I downloaded Firefox.
4.      (optional) Get Firefox: Start Internet Explorer from the Start Menu. Navigate to "http://www.mozilla.org/en-US/" and download Firefox. If IE refuses, try adding www.mozilla.org to the trusted sites.
Now if you want to transfer a few files from your computer to your instance, the easiest way is by copy/paste. Select a file (or folder) in your computer desktop and right-click "Copy". Now go to the instance desktop, right-click "Paste". That simple.
If you have large files/folders to transfer, copy /paste takes forever. A better way is to set up
a Dropbox or SugarSync account and upload files there. Then from the Instance, we turn our browser to the SugarSync (or Dropbox) site, log in and download the larger files into the instance (at a faster speed since you are using Amazon's 100MB bandwidth ). Keep in mind that incoming traffic seems to be free, but you do get charged for outward traffic, after a certain quota is reached.
You can set up QuantShare with Dropbox or SugarSync so that your home computer QS and the EC2 cloud QS are in sync. I will not go into that here. You are welcome to try.
Either way, open QuantShare folder, find QuantShare.exe, make an alias and place it on the Desktop for easy access. Launch QuantShare. Type in your user name and password, choose auto log in and hit ok.
If everything went well, Quantshare is running.

We can reach our virtual PC from our IPad, too. There are many Remote Clients for the IPad. I useIrdesktop.

Part2: Automate Trading Signals from Portfolio Strategies
We will create 4 scripts:
Go to Tools-->Scripts Editor and write a script that calls a downloader to update today's quotes. I use the Daily Stock Quotes downloader.You should edit the script according to your needs. The script has only one line.
Downloader.StartDownloader("Daily Stock Quotes");
Save the script. Let's call it "UpdateQuotes".
We then create a new script. Also has one line:
App.Main.Quit();
Keep in mind that when we create a task from this script, we do NOT tick the "Run even if app is not
Loaded" box. We want to Quit QS only if it is running...
The next step is to setup retrieving and emailing of trading signals.
Let's assume you have a portfolio based on a strategy. We will call it "MySystem". We will make a new Script (Tools-->Script Editor)
PortfolioTask task1 = Portfolio.Run("", "MySystem");
while(!task1.IsCompleted) // Wait/Sleep until task is completed
{
      App.Main.Sleep(1000);
}
string txt1="";
for (int i=0; i< task1.Orders.Length;i++)
{
      txt1=txt1+task1.Orders[i].Symbol+","+task1.Orders[i].OrderOrigin+","+task1.Orders[i].Share s+","+task1.Orders[i].OrderType+"\n";
}
App.Net.SendEmail("QS Cloud Service",txt1) ;
Save this script as “RetrieveSignals”.
One more script:
Order[] orders1=Portfolio.GetOrders("MySystem");
for (int i=0; i< orders1.Length;i++)
{
      orders1[i].SubmitOrder();
}
Call this "SubmitOrders".
Note: For email to be send, you will have to go to Quantshare's settings menu and add your e-mail account details. If you are using Gmail set port to 25 (or try 587) and Authentication to SSL.
So now we should have 4 scripts. We should schedule them in this order:
1.      Run RetrieveSignals.
2.      Run UpdateQuotes.
3.      Run SubmitSignals
4.      Run Quit_QS

Go "Tools"-->Task Manager to add a Task. We create a task for each Script and schedule it according to the previous logic. Remember to tick the "Run even if app is not Loaded" box in all tasks except the “Quit_QS” task.


So now, you have QS updating quotes, keeping track of portfolios and emailing signals, all by itself. Read More

Saturday, 9 March 2013

Read / Write CSV file in Java

If you want to work with Comma-separated Files (CSV) in Java, here’s a quick API for you.

As Java doesn’t support parsing of CSV files natively, we have to rely on third party library. Opencsv is one of the best library available for this purpose. It’s open source and is shipped with Apache 2.0 licence which makes it possible for commercial use.

Let’s us see different APIs to parse CSV file. Before that we will need certain tools for this example:

Tools & Technologies

  1. Java JDK 1.5 or above
  2. OpenCSV library v1.8 or above (download)
  3. Eclipse 3.2 above (optional)

Let’s get started.

1. Reading CSV file in Java

We will use following CSV sample file for this example:
File: sample.csv

COUNTRY,CAPITAL,POPULATION

India,New Delhi, 1.21B

People's republic of China,Beijing, 1.34B

United States,Washington D.C., 0.31B

Read CSV file line by line:

String csvFilename = "C:\\sample.csv";

CSVReader csvReader = new CSVReader(new FileReader(csvFilename));

String[] row = null;

while((row = csvReader.readNext()) != null) {

System.out.println(row[0]

+ " # " + row[1]

+ " #  " + row[2]);

}

//...

csvReader.close();

In above code snippet, we use readNext() method of CSVReader class to read CSV file line by line. It returns a String array for each value in row.

It is also possible to read full CSV file once. The readAll() method of CSVReader class comes handy for this.

String[] row = null;

String csvFilename = "C:\\work\\sample.csv";

CSVReader csvReader = new CSVReader(new FileReader(csvFilename));

List content = csvReader.readAll();

for (Object object : content) {

row = (String[]) object;

System.out.println(row[0]

+ " # " + row[1]

+ " #  " + row[2]);

}

//...

csvReader.close();

The readAll() method returns a List of String[] for given CSV file.

Both of the above code snippet prints output:
Output

COUNTRY # CAPITAL #  POPULATION

India # New Delhi #   1.21B

People's republic of China # Beijing #   1.34B

United States # Washington D.C. #   0.31B

Use different separator and quote characters
If you want to parse a file with other delimiter like semicolon (;) or hash (#), you can do so by calling a different constructor of CSVReader class:

CSVReader reader = new CSVReader(new FileReader(file), ';')

//or

CSVReader reader = new CSVReader(new FileReader(file), '#')

Also if your CSV file’s value is quoted with single quote (‘) instead of default double quote (“), then you can specify it in constructor:

CSVReader reader = new CSVReader(new FileReader(file), ',', '\'')

Also it is possible to skip certain lines from the top of CSV while parsing. You can provide how many lines to skip in CSVReader’s constructor. For example the below reader will skip 5 lines from top of CSV and starts processing at line 6.

CSVReader reader = new CSVReader(new FileReader(file), ',', '\'', 5);

2. Writing CSV file in Java

Creating a CSV file is as simple as reading one. All you have to do is it create the data list and write using CSVWriter class.

Below is the code snippet where we write one line in CSV file.

String csv = "C:\\output.csv";

CSVWriter writer = new CSVWriter(new FileWriter(csv));

String [] country = "India#China#United States".split("#");

writer.writeNext(country);

writer.close();

We created object of class CSVWriter and called its writeNext() method. The writeNext() methods takes String [] as argument.

You can also write a List of String[] to CSV directly. Following is code snippet for that.

String csv = "C:\\output2.csv";

CSVWriter writer = new CSVWriter(new FileWriter(csv));

List<String[]> data = new ArrayList<String[]>();

data.add(new String[] {"India", "New Delhi"});

data.add(new String[] {"United States", "Washington D.C"});

data.add(new String[] {"Germany", "Berlin"});

writer.writeAll(data);

writer.close();

We used writeAll() method of class CSVWriter to write a List of String[] as CSV file.

3. Mapping CSV with Java beans

In above examples we saw how to parse CSV file and read the data in it. We retrieved the data as String array. Each record got mapped to String.

It is possible to map the result to a Java bean object. For example we created a Java bean to store Country information.

Country.java – The bean object to store Countries information.

package net.viralpatel.java;

public class Country {

private String countryName;

private String capital;

public String getCountryName() {

return countryName;

}

public void setCountryName(String countryName) {

this.countryName = countryName;

}

public String getCapital() {

return capital;

}

public void setCapital(String capital) {

this.capital = capital;

}

}

Now we can map this bean with Opencsv and read the CSV file. Check out below example:

ColumnPositionMappingStrategy strat = new ColumnPositionMappingStrategy();

strat.setType(Country.class);

String[] columns = new String[] {"countryName", "capital"}; // the fields to bind do in your JavaBean

strat.setColumnMapping(columns);

CsvToBean csv = new CsvToBean();

String csvFilename = "C:\\sample.csv";

CSVReader csvReader = new CSVReader(new FileReader(csvFilename));

List list = csv.parse(strat, csvReader);

for (Object object : list) {

Country country = (Country) object;

System.out.println(country.getCapital());

}

Check how we mapped Country class using ColumnPositionMappingStrategy. Also the methodsetColumnMapping is used to map individual property of Java bean to the CSV position. In this example we map first CSV value to countryName attribute and next to capital.

4. Dumping SQL Table as CSV

OpenCSV also provides support to dump data from SQL table directly to CSV. For this we need ResultSet object. Following API can be used to write data to CSV from ResultSet.

java.sql.ResultSet myResultSet = getResultSetFromSomewhere();

writer.writeAll(myResultSet, includeHeaders);

The writeAll(ResultSet, boolean) method is utilized for this. The first argument is the ResultSet which you want to write to CSV file. And the second argument is boolean which represents whether you want to write header columns (table column names) to file or not.

http://viralpatel.net/blogs/java-read-write-csv-file/

Read More

Java CSV

image

Other Resources


Ricebridge CSV Manager allows you to read and write CSV files from within your Java application. This component covers all sorts of boundary cases and bad data that you'd rather not think about.
CSVReader and CSVWriter from Canadian Mind Products are classes to read, write, align and pack CSV (comma separated value) files.

Package com.csvreader

Class Summary

CsvReader
A stream based parser for parsing delimited text data from a file or a stream.

CsvWriter
A stream based writer for writing delimited text data to a file or a stream.

http://www.csvreader.com/java_csv.php

Read More

Sunday, 3 March 2013

Camera calibration using Open CV

OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products. Being a BSD-licensed product, OpenCV makes it easy for businesses to utilize and modify the code.

calib3d module. Camera calibration and 3D reconstruction

CameraCalSqChess
Read More