hatch pattern
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 559
Pattern-lab 0.4.0
Pattern-lab is a pattern recognition program. more>>
Pattern-lab is a pattern recognition program. Pattern-lab project is optimized for OCR, but not constrained to it. The method used is mainly pattern matching. Separation of merged patterns is one of the main goals. It is currently under development.
Enhancements:
- This release adds the Standardizing Transformation (ST) embedding IMage Euclidean Distance (IMED) in the preprocessing phase.
- Positive and negative effects of the new feature are explained in the manual.
<<lessEnhancements:
- This release adds the Standardizing Transformation (ST) embedding IMage Euclidean Distance (IMED) in the preprocessing phase.
- Positive and negative effects of the new feature are explained in the manual.
Download (2.5MB)
Added: 2007-03-21 License: GPL (GNU General Public License) Price:
950 downloads
Isotopic Pattern Calculator 1.4
Isotopic Pattern Calculator is a calculates isotopic distributions. more>>
IPC is a program that calculates the isotopic distribution of a given chemical formula. It gives the rel. intensities and the propability of the masses belonging to a molecule ion, fragment or whatever is represented by the given chemical formula.
Furthernmore it can use GNUPlot to visualize the result. Only masses with a rel. Intensity bigger then 0.009% are shown. Additionaly ipc prints the overall number of peaks and the needed computation time.
The program uses an algorithm which computes the exact isotopic distribution. This leads to a large number of peaks which have very low rel. abundances. Even for a small molecule as Acetylsalicylic acid ( C9H8O4, Mr=180.15) there are 1350 peaks but only nine of them have a rel. abundance higher then 0.01%.
Enhancements:
- A complete list of elements and isotopes is now used.
- The list of elements is taken from the NIST.
<<lessFurthernmore it can use GNUPlot to visualize the result. Only masses with a rel. Intensity bigger then 0.009% are shown. Additionaly ipc prints the overall number of peaks and the needed computation time.
The program uses an algorithm which computes the exact isotopic distribution. This leads to a large number of peaks which have very low rel. abundances. Even for a small molecule as Acetylsalicylic acid ( C9H8O4, Mr=180.15) there are 1350 peaks but only nine of them have a rel. abundance higher then 0.01%.
Enhancements:
- A complete list of elements and isotopes is now used.
- The list of elements is taken from the NIST.
Download (0.070MB)
Added: 2005-08-15 License: GPL (GNU General Public License) Price:
1531 downloads
Knitting Pattern Generator 0.3
Knitting Pattern Generator is a Python script to convert image files (PNG, GIF, BMP, etc.) into knitting patterns. more>>
Knitting Pattern Generator is a Python script to convert image files (PNG, GIF, BMP, etc.) into knitting patterns.
Usage:
python kpg.py myimage.png
<<lessUsage:
python kpg.py myimage.png
Download (0.008MB)
Added: 2007-04-25 License: GPL (GNU General Public License) Price:
923 downloads
Array::PatternMatcher 0.04
Array::PatternMatcher is a pattern matching for arrays. more>>
Array::PatternMatcher is a pattern matching for arrays.
SYNOPSIS
This section inlines the entire test suite. Please excuse the ok()s.
use Array::PatternMatcher;
Matching logical variables to input stream
# 1 - simple match of logical variable to input
my $pattern = AGE ;
my $input = 969 ;
my $result = pat_match ($pattern, $input, {} ) ;
ok($result->{AGE}, 969) ;
# 2 - if binding exists, it must equal the input
$input = 12;
my $new_result = pat_match ($pattern, $input, $result) ;
ok(!defined($new_result)) ;
# 3 - bind the pattern logical variables to the input list
$pattern = [qw(X Y)] ;
$input = [ 77, 45 ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok($result->{X}, 77) ;
Matching segments (quantifying) portions of the input stream
# 1
{
my $pattern = [a, [qw(X *)], d] ;
my $input = [a, b, c, d] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ("@{$result->{X}}","b c") ;
}
# 2
{
my $pattern = [a, [qw(X *)], [qw(Y *)], d] ;
my $input = [a, b, c, d] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ("@{$result->{Y}}","b c") ;
}
# 3
{
my $pattern = [a, [qw(X +)], d] ;
my $input = [a, b, c, d] ;
ok ("@{$result->{X}}","b c") ;
}
# 4
{
my $pattern = [ a, [qw(X ?)], c ] ;
my $input = [ a, b, c ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ("$result->{X}","b") ;
}
# 5
{
my $pattern = [ qw(X OP Y is Z),
[
sub { "($_->{X} $_->{OP} $_->{Y}) == $_->{Z}" },
IF?
]
] ;
my $input = [qw(3 + 4 is 7) ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ($result) ;
}
Single-matching:
Take a single input and a series of patterns and decide which pattern
matches the input:
# 1 - Here all input patterns must match the input
{
my @pattern ;
push @pattern, [ qw(X Y) ] ;
push @pattern, [ qw(22 Z ) ] ;
push @pattern, [ qw(M 33) ] ;
my $input = [ qw(22 33) ] ;
my $meta_pattern = [ AND?, @pattern ] ;
# if no bindings, add a binding between pattern and input
my $result = pat_match ($meta_pattern, $input, {} ) ;
ok ($result->{Z},33) ;
}
# 2 - Here, any one of the patterns must match the input
{
my @pattern ;
push @pattern, [ qw(99 22) ] ;
push @pattern, [ qw(33 22) ] ;
push @pattern, [ qw(44 3) ] ;
push @pattern, [ qw(22 Z) ] ;
my $input = [ qw(22 33) ] ;
my $meta_pattern = [ OR?, @pattern ] ;
# if no bindings, add a binding between pattern and input
my $result = pat_match ($meta_pattern, $input, {} ) ;
ok ($result->{Z},33) ;
}
# 3 - Here, none of the patterns must match the input
{
my @pattern ;
push @pattern, [ qw(99 22) ] ;
push @pattern, [ qw(33 22) ] ;
push @pattern, [ qw(44 3) ] ;
push @pattern, [ qw(22 Z) ] ;
my $input = [ qw(22 33) ] ;
my $meta_pattern = [ NOT?, @pattern ] ;
# if no bindings, add a binding between pattern and input
my $result = pat_match ($meta_pattern, $input, {} ) ;
ok (scalar keys %$result == 0) ;
}
# 4 - here the input must satisfy the predicate
{
sub numberp { $_[0] =~ /d+/ }
my $pattern = [ qw(X age), [qw(IS? N), νmberp] ] ;
my $input = [ qw(Mary age), thirty-four ] ;
# if no bindings, add a binding between pattern and input
my $result = pat_match ($pattern, $input, {} ) ;
ok (!defined($result));
}
# 5 - same thing, but this time a failing result ---
# not undef because it is the return val of numberp
{
sub numberp { $_[0] =~ /d+/ }
my $pattern = [ qw(X age), [qw(IS? N), νmberp] ] ;
my $input = [ qw(Mary age), 34 ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ($result->{N},34) ;
}
Segment-matching:
Match a chunk of the input stream using *, +, ?
# 1 - * is greedy in this case, but not with 2 consecutve * patterns
{
my $pattern = [a, [qw(X *)], d] ;
my $input = [a, b, c, d] ;
# if no bindings, add a binding between pattern and input
my $result = pat_match ($pattern, $input, {} ) ;
warn sprintf "X*RETVAL: %s", Data::Dumper::Dumper($result) ;
ok ("@{$result->{X}}","b c") ;
}
# 2 - X* gets nothing, Y* gets all it can:
{
my $pattern = [a, [qw(X *)], [qw(Y *)], d] ;
my $input = [a, b, c, d] ;
# if no bindings, add a binding between pattern and input
my $result = pat_match ($pattern, $input, {} ) ;
warn sprintf "X*Y*RETVAL: %s", Data::Dumper::Dumper($result) ;
ok ("@{$result->{Y}}","b c") ;
}
# 3 - samething , but require at least one match for X
{
my $pattern = [a, [qw(X +)], d] ;
my $input = [a, b, c, d] ;
my $result = pat_match ($pattern, $input, {} ) ;
warn sprintf "RETVAL: @{$result->{X}}" ;
ok ("@{$result->{X}}","b c") ;
}
# 4 - require 0 or 1 match for X
{
my $pattern = [ a, [qw(X ?)], c ] ;
my $input = [ a, b, c ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ("$result->{X}","b") ;
}
# 5 - evaluate a sub on the fly after match
{
my $pattern = [ qw(X OP Y is Z),
[
sub { "($_->{X} $_->{OP} $_->{Y}) == $_->{Z}" },
IF?
]
] ;
my $input = [qw(3 + 4 is 7) ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ($result) ;
}
# --- 6 same thing, but fail
{
my $pattern = [ qw(X OP Y is Z),
[
sub { "($_->{X} $_->{OP} $_->{Y}) == $_->{Z}" },
IF?
]
] ;
my $input = [qw(3 + 4 is 8) ] ;
my $result = pat_match ($pattern, $input, {} ) ;
warn sprintf "IF_RETVAL2: *%s*", Data::Dumper::Dumper($result);
ok ($result eq ) ;
}
<<lessSYNOPSIS
This section inlines the entire test suite. Please excuse the ok()s.
use Array::PatternMatcher;
Matching logical variables to input stream
# 1 - simple match of logical variable to input
my $pattern = AGE ;
my $input = 969 ;
my $result = pat_match ($pattern, $input, {} ) ;
ok($result->{AGE}, 969) ;
# 2 - if binding exists, it must equal the input
$input = 12;
my $new_result = pat_match ($pattern, $input, $result) ;
ok(!defined($new_result)) ;
# 3 - bind the pattern logical variables to the input list
$pattern = [qw(X Y)] ;
$input = [ 77, 45 ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok($result->{X}, 77) ;
Matching segments (quantifying) portions of the input stream
# 1
{
my $pattern = [a, [qw(X *)], d] ;
my $input = [a, b, c, d] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ("@{$result->{X}}","b c") ;
}
# 2
{
my $pattern = [a, [qw(X *)], [qw(Y *)], d] ;
my $input = [a, b, c, d] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ("@{$result->{Y}}","b c") ;
}
# 3
{
my $pattern = [a, [qw(X +)], d] ;
my $input = [a, b, c, d] ;
ok ("@{$result->{X}}","b c") ;
}
# 4
{
my $pattern = [ a, [qw(X ?)], c ] ;
my $input = [ a, b, c ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ("$result->{X}","b") ;
}
# 5
{
my $pattern = [ qw(X OP Y is Z),
[
sub { "($_->{X} $_->{OP} $_->{Y}) == $_->{Z}" },
IF?
]
] ;
my $input = [qw(3 + 4 is 7) ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ($result) ;
}
Single-matching:
Take a single input and a series of patterns and decide which pattern
matches the input:
# 1 - Here all input patterns must match the input
{
my @pattern ;
push @pattern, [ qw(X Y) ] ;
push @pattern, [ qw(22 Z ) ] ;
push @pattern, [ qw(M 33) ] ;
my $input = [ qw(22 33) ] ;
my $meta_pattern = [ AND?, @pattern ] ;
# if no bindings, add a binding between pattern and input
my $result = pat_match ($meta_pattern, $input, {} ) ;
ok ($result->{Z},33) ;
}
# 2 - Here, any one of the patterns must match the input
{
my @pattern ;
push @pattern, [ qw(99 22) ] ;
push @pattern, [ qw(33 22) ] ;
push @pattern, [ qw(44 3) ] ;
push @pattern, [ qw(22 Z) ] ;
my $input = [ qw(22 33) ] ;
my $meta_pattern = [ OR?, @pattern ] ;
# if no bindings, add a binding between pattern and input
my $result = pat_match ($meta_pattern, $input, {} ) ;
ok ($result->{Z},33) ;
}
# 3 - Here, none of the patterns must match the input
{
my @pattern ;
push @pattern, [ qw(99 22) ] ;
push @pattern, [ qw(33 22) ] ;
push @pattern, [ qw(44 3) ] ;
push @pattern, [ qw(22 Z) ] ;
my $input = [ qw(22 33) ] ;
my $meta_pattern = [ NOT?, @pattern ] ;
# if no bindings, add a binding between pattern and input
my $result = pat_match ($meta_pattern, $input, {} ) ;
ok (scalar keys %$result == 0) ;
}
# 4 - here the input must satisfy the predicate
{
sub numberp { $_[0] =~ /d+/ }
my $pattern = [ qw(X age), [qw(IS? N), νmberp] ] ;
my $input = [ qw(Mary age), thirty-four ] ;
# if no bindings, add a binding between pattern and input
my $result = pat_match ($pattern, $input, {} ) ;
ok (!defined($result));
}
# 5 - same thing, but this time a failing result ---
# not undef because it is the return val of numberp
{
sub numberp { $_[0] =~ /d+/ }
my $pattern = [ qw(X age), [qw(IS? N), νmberp] ] ;
my $input = [ qw(Mary age), 34 ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ($result->{N},34) ;
}
Segment-matching:
Match a chunk of the input stream using *, +, ?
# 1 - * is greedy in this case, but not with 2 consecutve * patterns
{
my $pattern = [a, [qw(X *)], d] ;
my $input = [a, b, c, d] ;
# if no bindings, add a binding between pattern and input
my $result = pat_match ($pattern, $input, {} ) ;
warn sprintf "X*RETVAL: %s", Data::Dumper::Dumper($result) ;
ok ("@{$result->{X}}","b c") ;
}
# 2 - X* gets nothing, Y* gets all it can:
{
my $pattern = [a, [qw(X *)], [qw(Y *)], d] ;
my $input = [a, b, c, d] ;
# if no bindings, add a binding between pattern and input
my $result = pat_match ($pattern, $input, {} ) ;
warn sprintf "X*Y*RETVAL: %s", Data::Dumper::Dumper($result) ;
ok ("@{$result->{Y}}","b c") ;
}
# 3 - samething , but require at least one match for X
{
my $pattern = [a, [qw(X +)], d] ;
my $input = [a, b, c, d] ;
my $result = pat_match ($pattern, $input, {} ) ;
warn sprintf "RETVAL: @{$result->{X}}" ;
ok ("@{$result->{X}}","b c") ;
}
# 4 - require 0 or 1 match for X
{
my $pattern = [ a, [qw(X ?)], c ] ;
my $input = [ a, b, c ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ("$result->{X}","b") ;
}
# 5 - evaluate a sub on the fly after match
{
my $pattern = [ qw(X OP Y is Z),
[
sub { "($_->{X} $_->{OP} $_->{Y}) == $_->{Z}" },
IF?
]
] ;
my $input = [qw(3 + 4 is 7) ] ;
my $result = pat_match ($pattern, $input, {} ) ;
ok ($result) ;
}
# --- 6 same thing, but fail
{
my $pattern = [ qw(X OP Y is Z),
[
sub { "($_->{X} $_->{OP} $_->{Y}) == $_->{Z}" },
IF?
]
] ;
my $input = [qw(3 + 4 is 8) ] ;
my $result = pat_match ($pattern, $input, {} ) ;
warn sprintf "IF_RETVAL2: *%s*", Data::Dumper::Dumper($result);
ok ($result eq ) ;
}
Download (0.006MB)
Added: 2007-07-12 License: Perl Artistic License Price:
836 downloads
State Machine Compiler 4.4.0
State Machine Compiler takes a state machine stored in an .sm file and generates the state pattern classes. more>>
State Machine Compiler takes a state machine stored in an .sm file and generates the state pattern classes in nine programming languages.
Its features include default transitions, transition arguments, transition guards, push/pop transitions, and Entry/Exit actions. State Machine Compiler requires Java SE 1.4.1 or better.
Enhancements:
- This release cleans up C# and VB.net debug output using System.Diagnostics.Trace.
- It fixes a number of minor bugs.
<<lessIts features include default transitions, transition arguments, transition guards, push/pop transitions, and Entry/Exit actions. State Machine Compiler requires Java SE 1.4.1 or better.
Enhancements:
- This release cleans up C# and VB.net debug output using System.Diagnostics.Trace.
- It fixes a number of minor bugs.
Download (MB)
Added: 2007-02-19 License: MPL (Mozilla Public License) Price:
982 downloads
libwrapiter 1.2.0
libwrapiter is a library that provides wrappers for C++ STL style iterators. more>>
libwrapiter is a library that provides wrappers for C++ STL style iterators.
It makes it easy to define generic iterator wrappers, which remove the need to expose underlying data structures when working with classes using STL containers.
Purpose:
Consider the following massively oversimplified example. Were using the private implementation pattern or pimpl to avoid sticking too much in the header files.
myproject/myclass.hh without libwrapiter
#include < list >
namespace myproject
{
class MyClass
{
private:
///name implementation data, using the private implementation pattern
///{
struct Implementation;
Implementation * _imp;
///}
///name disallow copying and assignment
///{
MyClass(const MyClass &);
const MyClass & operator= (const MyClass &);
///}
public:
MyClass();
~MyClass();
///name iterate over our items
///{
typedef std::list ::const_iterator Iterator;
Iterator begin() const;
Iterator end() const;
///}
};
}
Enhancements:
- Headers are now split into -fwd, -decl, and -impl, allowing finer grained control to give faster compile times.
- The old, undecorated header paths are still fine if you dont need this kind of control.
- libwrapiter has a new homepage.
<<lessIt makes it easy to define generic iterator wrappers, which remove the need to expose underlying data structures when working with classes using STL containers.
Purpose:
Consider the following massively oversimplified example. Were using the private implementation pattern or pimpl to avoid sticking too much in the header files.
myproject/myclass.hh without libwrapiter
#include < list >
namespace myproject
{
class MyClass
{
private:
///name implementation data, using the private implementation pattern
///{
struct Implementation;
Implementation * _imp;
///}
///name disallow copying and assignment
///{
MyClass(const MyClass &);
const MyClass & operator= (const MyClass &);
///}
public:
MyClass();
~MyClass();
///name iterate over our items
///{
typedef std::list ::const_iterator Iterator;
Iterator begin() const;
Iterator end() const;
///}
};
}
Enhancements:
- Headers are now split into -fwd, -decl, and -impl, allowing finer grained control to give faster compile times.
- The old, undecorated header paths are still fine if you dont need this kind of control.
- libwrapiter has a new homepage.
Download (0.13MB)
Added: 2007-06-06 License: GPL (GNU General Public License) Price:
871 downloads
hachoir-regex 1.0
hachoir-regex application is regex manipulation Python library. more>>
hachoir-regex application is regex manipulation Python library. Its used by hachoir-subfile for fast pattern matching (find file header).
Examples
Regex creation
>>> from hachoir_core.regex import parse, createString
>>> createString("bike") | createString("motor")
< RegexOr (bike|motor) >
>>> createString("big ") + createString("bike")
< RegexString big bike >
>>> r=parse((cat|horse))
>>> r.minLength(), r.maxLength()
(3, 5)
Optimizations
>>> from hachoir_core.regex import parse, createString
>>> parse("(ma|mb|mc)")
< RegexAnd m[a-c] >
>>> createString("moto") | parse("mot.")
< RegexAnd mot. >
Pattern matching
from hachoir_core.regex import PatternMatching
p = PatternMatching()
p.addString("un", 1)
p.addString("deux", 2)
p.addRegex("(trois|three)", 3)
for start, end, item in p.search("un deux trois"):
print "%r at %s: user=%r" % (item, start, item.user)
find
< StringPattern un > at 0: user=1
< StringPattern deux > at 3: user=2
< RegexPattern t(rois|hree) > at 8: user=3
Enhancements:
- This version supports most regex structures and a lot of regex optimization, but keeps regex order.
<<lessExamples
Regex creation
>>> from hachoir_core.regex import parse, createString
>>> createString("bike") | createString("motor")
< RegexOr (bike|motor) >
>>> createString("big ") + createString("bike")
< RegexString big bike >
>>> r=parse((cat|horse))
>>> r.minLength(), r.maxLength()
(3, 5)
Optimizations
>>> from hachoir_core.regex import parse, createString
>>> parse("(ma|mb|mc)")
< RegexAnd m[a-c] >
>>> createString("moto") | parse("mot.")
< RegexAnd mot. >
Pattern matching
from hachoir_core.regex import PatternMatching
p = PatternMatching()
p.addString("un", 1)
p.addString("deux", 2)
p.addRegex("(trois|three)", 3)
for start, end, item in p.search("un deux trois"):
print "%r at %s: user=%r" % (item, start, item.user)
find
< StringPattern un > at 0: user=1
< StringPattern deux > at 3: user=2
< RegexPattern t(rois|hree) > at 8: user=3
Enhancements:
- This version supports most regex structures and a lot of regex optimization, but keeps regex order.
Download (0.020MB)
Added: 2007-07-03 License: GPL (GNU General Public License) Price:
844 downloads
Quantity/Formatter Library 1.0
Quantity/Formatter Library provides a Java library made with the quantity/formatter pattern. more>>
Quantity/Formatter Library provides a Java library made with the quantity/formatter pattern..
Quantity/Formatter Library is a Java library developed in accordance to the quantity/formatter pattern (as demonstrated by the Date/SimpleDateFormat in the standard J2SE library).
The following quantity/formatter pairs are currently available:
Currency/CurrencyFormat,
Density/ DensityFormat,
Dimension/DimensionFormat,
Distance/ DistanceFormat,
ElapsedTime/ElapsedTimeFormat,
Temperature/TemperatureFormat,
Volume/VolumeFormat
Weight/WeightFormat.
<<lessQuantity/Formatter Library is a Java library developed in accordance to the quantity/formatter pattern (as demonstrated by the Date/SimpleDateFormat in the standard J2SE library).
The following quantity/formatter pairs are currently available:
Currency/CurrencyFormat,
Density/ DensityFormat,
Dimension/DimensionFormat,
Distance/ DistanceFormat,
ElapsedTime/ElapsedTimeFormat,
Temperature/TemperatureFormat,
Volume/VolumeFormat
Weight/WeightFormat.
Download (MB)
Added: 2007-01-30 License: MPL (Mozilla Public License) Price:
997 downloads
Cypher 0.7.8
Cypher generates the .rdf (RDF graph) and .serql (SeRQL query) representation of a plain language input. more>>
Cypher generates the .rdf (RDF graph) and .serql (SeRQL query) representation of a plain language input.
With robust definition languages, its grammar and lexicon can quickly and easily be extended to process highly complex sentences and phrases of any natural language, and can cover any vocabulary.
Programmers can build next generation semantic Web applications that harness natural language.
Main features:
- Morpholgical Processing
- Word Sense Disambiguation
- Part of speech tagging
- Phrase Structure Grammar parser (phrase tree output)
- High Speed pattern matching algorithm
- Robust templating for RDF, and SeRQL output
- Easy to learn phrase description language , lexicon and framenet definition language
Enhancements:
- Change were made to the pattern element parser.
- Now either store or root may be specified as an attribute to determine if a pattern will be output.
- Setting to false prevents the pattern from being output if the pattern is the root pattern.
<<lessWith robust definition languages, its grammar and lexicon can quickly and easily be extended to process highly complex sentences and phrases of any natural language, and can cover any vocabulary.
Programmers can build next generation semantic Web applications that harness natural language.
Main features:
- Morpholgical Processing
- Word Sense Disambiguation
- Part of speech tagging
- Phrase Structure Grammar parser (phrase tree output)
- High Speed pattern matching algorithm
- Robust templating for RDF, and SeRQL output
- Easy to learn phrase description language , lexicon and framenet definition language
Enhancements:
- Change were made to the pattern element parser.
- Now either store or root may be specified as an attribute to determine if a pattern will be output.
- Setting to false prevents the pattern from being output if the pattern is the root pattern.
Download (6.2MB)
Added: 2006-09-07 License: Free for non-commercial use Price:
1228 downloads
KXStitch 0.8
KXStitch can be used to create cross stitch patterns. more>>
KXStitchs aim is to create software to allow the creation and editing of cross stitch patterns. Although software for this type of application has existed on the Windows platform for many years, there has never been an application written specifically for the Linux platform.
KXStitch will be developed for Linux using KDE/QT.
Main features:
- Creation of new patterns
- User defined size
- Selection of material type
- Selection of material colour
- Importing of various picture formats
- Importing images from a scanner
- Importing options will allow
- Limiting colours to a specific palette
- Limiting the number of colours
- Setting of the finished size
- Cropping of the image
- Support for transparancy in images
- Use of an image background for tracing
- Editing of existing patterns
- Editing tools will include
- Open and filled recangles
- Open and filled ellipses
- Filled polylines
- Lines
- Erasing stitches and backstitches
- Colour selection from existing stitch
- Swap colours
- Replace colour
- Cut, copy and paste of rectangular regions
- Stitch type and colour masks can be used to limit the selection
- Undo, Redo
- Mirroring
- Rotation
- Scaling
- Resizing of the canvas
- Extending canvas left, top, right, bottom
- Cropping canvas to the pattern
- Cropping canvas to selection
- Inserting rows and columns
- Centering current pattern on the canvas
- Conversion between floss schemes
- Display scales in Stitches,CM and inches
- Use of various floss palettes, DMC, Anchor, Madeira
- Creation of custom palettes
- Creation of new colours
- Use of standard stitches
- Creation of custom stitches
- Free use of backstitching
- Printing of patterns and floss keys
- (implemented, but needs to be enhanced)
- Mapping of symbols to flosses
- Calibration of floss colours
- Adding notes to patterns
- Full previews with layout tools
- Pattern library
Enhancements:
- Added a new palette manager to replace add floss and remove flosses dialogs
- New palette manager allows allocation of strands for stitches and backstitches
- New palette manager allows allocation of symbols for flosses
- Import / Export of library patterns
- Undo / Redo partially implemented
- Faster rendering speed
- Mouse tracking display in the status bar
- Selection tool and drawing tools scroll the editor screen
- Bug fix for using background images not on the local file system
- Bug fix for filenames used on the command line
- Bug fix page page wrapping
<<lessKXStitch will be developed for Linux using KDE/QT.
Main features:
- Creation of new patterns
- User defined size
- Selection of material type
- Selection of material colour
- Importing of various picture formats
- Importing images from a scanner
- Importing options will allow
- Limiting colours to a specific palette
- Limiting the number of colours
- Setting of the finished size
- Cropping of the image
- Support for transparancy in images
- Use of an image background for tracing
- Editing of existing patterns
- Editing tools will include
- Open and filled recangles
- Open and filled ellipses
- Filled polylines
- Lines
- Erasing stitches and backstitches
- Colour selection from existing stitch
- Swap colours
- Replace colour
- Cut, copy and paste of rectangular regions
- Stitch type and colour masks can be used to limit the selection
- Undo, Redo
- Mirroring
- Rotation
- Scaling
- Resizing of the canvas
- Extending canvas left, top, right, bottom
- Cropping canvas to the pattern
- Cropping canvas to selection
- Inserting rows and columns
- Centering current pattern on the canvas
- Conversion between floss schemes
- Display scales in Stitches,CM and inches
- Use of various floss palettes, DMC, Anchor, Madeira
- Creation of custom palettes
- Creation of new colours
- Use of standard stitches
- Creation of custom stitches
- Free use of backstitching
- Printing of patterns and floss keys
- (implemented, but needs to be enhanced)
- Mapping of symbols to flosses
- Calibration of floss colours
- Adding notes to patterns
- Full previews with layout tools
- Pattern library
Enhancements:
- Added a new palette manager to replace add floss and remove flosses dialogs
- New palette manager allows allocation of strands for stitches and backstitches
- New palette manager allows allocation of symbols for flosses
- Import / Export of library patterns
- Undo / Redo partially implemented
- Faster rendering speed
- Mouse tracking display in the status bar
- Selection tool and drawing tools scroll the editor screen
- Bug fix for using background images not on the local file system
- Bug fix for filenames used on the command line
- Bug fix page page wrapping
Download (0.71MB)
Added: 2006-07-03 License: GPL (GNU General Public License) Price:
700 downloads
Class::Adapter 1.02
Class::Adapter is a Perl implementation of the Adapter Design Pattern. more>>
Class::Adapter is a Perl implementation of the "Adapter" Design Pattern.
The Class::Adapter class is intended as an abstract base class for creating any sort of class or object that follows the Adapter pattern.
What is an Adapter?
The term Adapter refers to a "Design Pattern" of the same name, from the famous "Gang of Four" book "Design Patterns". Although their original implementation was designed for Java and similar single-inheritance strictly-typed langauge, the situation for which it applies is still valid.
An Adapter in this Perl sense of the term is when a class is created to achieve by composition (objects containing other object) something that cant be achieved by inheritance (sub-classing).
This is similar to the Decorator pattern, but is intended to be applied on a class-by-class basis, as opposed to being able to be applied one object at a time, as is the case with the Decorator pattern.
The Class::Adapter object holds a parent object that it "wraps", and when a method is called on the Class::Adapter, it manually calls the same (or different) method with the same (or different) parameters on the parent object contained within it.
Instead of these custom methods being hooked in on an object-by-object basis, they are defined at the class level.
Basically, a Class::Adapter is one of your fall-back positions when Perls inheritance model fails you, or is no longer good enough, and you need to do something twisty in order to make several APIs play nicely with each other.
What can I do with the actual Class::Adapter class
Well... nothing really. It exist to provide some extremely low level fundamental methods, and to provide a common base for inheritance of Adapter classes.
The base Class::Adapter class doesnt even implement a way to push method calls through to the underlying object, since the way in which that happens is the bit that changes from case to case.
To actually DO something, you probably want to go take a look at Class::Adapter::Builder, which makes the creation of Adapter classes relatively quick and easy.
<<lessThe Class::Adapter class is intended as an abstract base class for creating any sort of class or object that follows the Adapter pattern.
What is an Adapter?
The term Adapter refers to a "Design Pattern" of the same name, from the famous "Gang of Four" book "Design Patterns". Although their original implementation was designed for Java and similar single-inheritance strictly-typed langauge, the situation for which it applies is still valid.
An Adapter in this Perl sense of the term is when a class is created to achieve by composition (objects containing other object) something that cant be achieved by inheritance (sub-classing).
This is similar to the Decorator pattern, but is intended to be applied on a class-by-class basis, as opposed to being able to be applied one object at a time, as is the case with the Decorator pattern.
The Class::Adapter object holds a parent object that it "wraps", and when a method is called on the Class::Adapter, it manually calls the same (or different) method with the same (or different) parameters on the parent object contained within it.
Instead of these custom methods being hooked in on an object-by-object basis, they are defined at the class level.
Basically, a Class::Adapter is one of your fall-back positions when Perls inheritance model fails you, or is no longer good enough, and you need to do something twisty in order to make several APIs play nicely with each other.
What can I do with the actual Class::Adapter class
Well... nothing really. It exist to provide some extremely low level fundamental methods, and to provide a common base for inheritance of Adapter classes.
The base Class::Adapter class doesnt even implement a way to push method calls through to the underlying object, since the way in which that happens is the bit that changes from case to case.
To actually DO something, you probably want to go take a look at Class::Adapter::Builder, which makes the creation of Adapter classes relatively quick and easy.
Download (0.024MB)
Added: 2007-06-20 License: Perl Artistic License Price:
856 downloads
Pattern Classification Program 2.2
Pattern Classification Program is a machine learning program for pattern classification. more>>
Pattern Classification Program is an open-source machine learning program for supervised and unsupervised classification of patterns (vectors of measurements). Pattern Classification Program implements the following algorithms and methods:
- k-means clustering
- Fishers linear discriminant
- dimension reduction using Singular Value Decomposition
- Principal Component Analysis
- feature subset selection
- Bayes error estimation
- parametric classifiers (linear and quadratic)
- least-squares (pseudo-inverse) linear discriminant
- k-Nearest Neighbor
- neural networks (Multi-Layer Perceptron)
- Support Vector Machine algorithm
- cross-validation
- bagging (committee) classification
The program supports interactive and batch processing. Commands are issued through a keyboard-driven menu system in the interactive mode, or in a batch file in the batch mode. It is a binary executable and does not need any special run-time environment. PCP uses tab-delimited text files for input data. The results are displayed on the screen and saved in text files.
PCP runs under Linux and Windows operating systems (under Cygwin environment), on i386 architecture CPUs such as Intel Pentium or AMD Athlon. PCP has been developed and tested on RedHat Linux 9.0 distribution. It has also been tested on SUSE Linux 9.1 and Fedora Core 2 and verified to run on Knoppix 3.7 and Windows XP.
Enhancements:
- This release supports model selection for the linear SVM kernel and an option to build SVD transforms using training and test datasets (as opposed to just training data).
- P-errors are now reported in SVM model selection.
- The build process was simplified.
<<less- k-means clustering
- Fishers linear discriminant
- dimension reduction using Singular Value Decomposition
- Principal Component Analysis
- feature subset selection
- Bayes error estimation
- parametric classifiers (linear and quadratic)
- least-squares (pseudo-inverse) linear discriminant
- k-Nearest Neighbor
- neural networks (Multi-Layer Perceptron)
- Support Vector Machine algorithm
- cross-validation
- bagging (committee) classification
The program supports interactive and batch processing. Commands are issued through a keyboard-driven menu system in the interactive mode, or in a batch file in the batch mode. It is a binary executable and does not need any special run-time environment. PCP uses tab-delimited text files for input data. The results are displayed on the screen and saved in text files.
PCP runs under Linux and Windows operating systems (under Cygwin environment), on i386 architecture CPUs such as Intel Pentium or AMD Athlon. PCP has been developed and tested on RedHat Linux 9.0 distribution. It has also been tested on SUSE Linux 9.1 and Fedora Core 2 and verified to run on Knoppix 3.7 and Windows XP.
Enhancements:
- This release supports model selection for the linear SVM kernel and an option to build SVD transforms using training and test datasets (as opposed to just training data).
- P-errors are now reported in SVM model selection.
- The build process was simplified.
Download (4.3MB)
Added: 2006-05-25 License: BSD License Price:
1253 downloads
pyTrommler 1.0
pyTrommler is a cross platform drum machine that is loosely based on the now defunct Trommler project. more>>
pyTrommler is a cross platform drum machine that is loosely based on the now defunct Trommler project. pyTrommler supports WAV files as samples and features real-time audio playback.
Main features:
- Distributed under the GPL.
- Works under Linux, BSD, Windows.
- Graphical user interface based on GTK.
- Supporty complex rhythms (variable number of beats per pattern)
- Virtual drum "@ACCENT" to emphasize certain beats.
- 16 bit 44100kHz mono or stereo drum samples (individual stereo panning and volume adjustment)
- Realtime (stereo) audio output using SDL library.
- Alternatively, audio output to a wav file.
Enhancements:
- This release cleans up a lot of minor bugs and adds real time pattern/beat tracking.
<<lessMain features:
- Distributed under the GPL.
- Works under Linux, BSD, Windows.
- Graphical user interface based on GTK.
- Supporty complex rhythms (variable number of beats per pattern)
- Virtual drum "@ACCENT" to emphasize certain beats.
- 16 bit 44100kHz mono or stereo drum samples (individual stereo panning and volume adjustment)
- Realtime (stereo) audio output using SDL library.
- Alternatively, audio output to a wav file.
Enhancements:
- This release cleans up a lot of minor bugs and adds real time pattern/beat tracking.
Download (1.8MB)
Added: 2006-10-27 License: GPL (GNU General Public License) Price:
1092 downloads
DateTime::Format::Roman 0.03
DateTime::Format::Roman is a Perl module with roman day numbering for DateTime objects. more>>
DateTime::Format::Roman is a Perl module with roman day numbering for DateTime objects.
SYNOPSIS
use DateTime::Format::Roman;
my $formatter = DateTime::Format::Roman->new(
pattern => %d %f %b %y );
my $dt = DateTime->new( year => 2003, month => 5, day => 28 );
$formatter->format_datetime($dt);
# 5 Kal Jun 2003
This module formats dates in the Roman style.
The Romans expressed their dates in relation to three fixed dates per month. For example: the Ides of March was the 15th of that month; 14 March was called "2 Ides", 13 March was called "3 Ides", etcetera. The days in the second half of the month were named after the first day of the next month, the "Kalends"; e.g. 16 March was called "17 Kalends of April".
METHODS
new( pattern => $string )
Creates a new formatter object. The optional formatting pattern defines the format of the output of format_datetime(). If no formatting pattern is given, a reasonable default is used.
format_datetime($datetime)
Retruns the formatted string. This method can be called on a formatter object (created by new()), or it can be called as a class method. In the latter case, the default pattern is used.
PATTERN SPECIFIERS
The following specifiers are allowed in the format strings given to the new() method:
%b
The abbreviated month name.
%B
The full month name.
%d
The day of the month as a decimal number (including 1 for the fixed days).
%D
The day of the month, written as a number plus the corresponding fixed day.
%f
The fixed day part of the date.
%m
The month as a decimal number (range 1 to 12).
%y
The year as a decimal number.
If a specifier is preceded by O or o, numbers will be written in uppercase and lowercase Roman numerals, respectively.
The %f specifier accepts an additional argument of 1 digit, specifying the length of the output:
%0f : abbreviated name (e.g. "Kal")
%1f : full name (e.g. "Kalends")
%2f : one-letter abbreviation (e.g. "K")
<<lessSYNOPSIS
use DateTime::Format::Roman;
my $formatter = DateTime::Format::Roman->new(
pattern => %d %f %b %y );
my $dt = DateTime->new( year => 2003, month => 5, day => 28 );
$formatter->format_datetime($dt);
# 5 Kal Jun 2003
This module formats dates in the Roman style.
The Romans expressed their dates in relation to three fixed dates per month. For example: the Ides of March was the 15th of that month; 14 March was called "2 Ides", 13 March was called "3 Ides", etcetera. The days in the second half of the month were named after the first day of the next month, the "Kalends"; e.g. 16 March was called "17 Kalends of April".
METHODS
new( pattern => $string )
Creates a new formatter object. The optional formatting pattern defines the format of the output of format_datetime(). If no formatting pattern is given, a reasonable default is used.
format_datetime($datetime)
Retruns the formatted string. This method can be called on a formatter object (created by new()), or it can be called as a class method. In the latter case, the default pattern is used.
PATTERN SPECIFIERS
The following specifiers are allowed in the format strings given to the new() method:
%b
The abbreviated month name.
%B
The full month name.
%d
The day of the month as a decimal number (including 1 for the fixed days).
%D
The day of the month, written as a number plus the corresponding fixed day.
%f
The fixed day part of the date.
%m
The month as a decimal number (range 1 to 12).
%y
The year as a decimal number.
If a specifier is preceded by O or o, numbers will be written in uppercase and lowercase Roman numerals, respectively.
The %f specifier accepts an additional argument of 1 digit, specifying the length of the output:
%0f : abbreviated name (e.g. "Kal")
%1f : full name (e.g. "Kalends")
%2f : one-letter abbreviation (e.g. "K")
Download (0.011MB)
Added: 2007-08-14 License: Perl Artistic License Price:
801 downloads
XML::Filter::Dispatcher 0.52
XML::Filter::Dispatcher is a path based event dispatching with DOM support. more>>
XML::Filter::Dispatcher is a path based event dispatching with DOM support.
SYNOPSIS
use XML::Filter::Dispatcher qw( :all );
my $f = XML::Filter::Dispatcher->new(
Rules => [
foo => &handle_foo_start_tag,
@bar => &handle_bar_attr,
## Send any elts and their contents to $handler
snarf//self::node() => $handler,
## Print the text of all elements
description
=> [ string() => sub { push @out, xvalue } ],
],
Vars => {
"id" => [ string => "12a" ],
},
);
WARNING: Beta code alert.
A SAX2 filter that dispatches SAX events based on "EventPath" patterns as the SAX events arrive. The SAX events are not buffered or converted to an in-memory document representation like a DOM tree. This provides for low lag operation because the actions associated with each pattern are executed as soon as possible, usually in an elements start_element() event method.
This differs from traditional XML pattern matching tools like XPath and XSLT (which is XPath-based) which require the entire document to be built in memory (as a "DOM tree") before queries can be executed. In SAX terms, this means that they have to build a DOM tree from SAX events and delay pattern matching until the end_document() event method is called.
<<lessSYNOPSIS
use XML::Filter::Dispatcher qw( :all );
my $f = XML::Filter::Dispatcher->new(
Rules => [
foo => &handle_foo_start_tag,
@bar => &handle_bar_attr,
## Send any elts and their contents to $handler
snarf//self::node() => $handler,
## Print the text of all elements
description
=> [ string() => sub { push @out, xvalue } ],
],
Vars => {
"id" => [ string => "12a" ],
},
);
WARNING: Beta code alert.
A SAX2 filter that dispatches SAX events based on "EventPath" patterns as the SAX events arrive. The SAX events are not buffered or converted to an in-memory document representation like a DOM tree. This provides for low lag operation because the actions associated with each pattern are executed as soon as possible, usually in an elements start_element() event method.
This differs from traditional XML pattern matching tools like XPath and XSLT (which is XPath-based) which require the entire document to be built in memory (as a "DOM tree") before queries can be executed. In SAX terms, this means that they have to build a DOM tree from SAX events and delay pattern matching until the end_document() event method is called.
Download (0.086MB)
Added: 2006-09-16 License: Perl Artistic License Price:
1133 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above hatch pattern search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed