BUTTERFLY KISS A film review by Steve Rhodes Copyright 1996 Steve Rhodes
I saw this troubling and unusual show at the press screening. It opens to the public Friday June 28th at one of the Camera Cinemas in the San Jose area.
RATING (0 TO ****): ** 1/2
BUTTERFLY KISS is an effective and chilling study of the criminal psychosis of a serial killer. Secondarily the film is a love story between two disturbed women - one clearly insane and the other at least amoral and probably equally mentally unbalanced. The film is not for the faint of heart. It is a shocking show with a surprising conclusion.
Before I get into the body of the review, I want to warn potential viewers. Although I am giving this film a thumbs up, this is the type of picture that will have some viewers walking out early in disgust claiming the film is sick. If you see the movie and feel that way, I will completely understand. On the other hand, films like HENRY: PORTRAIT OF A SERIAL KILLER, MANHUNTER, SEVEN, and THE SILENCE OF THE LAMBS that realistically delve into the minds of brutal killers must contain a natural revulsion. Sometimes the violence in the show is gratuitous and sometimes not, and it is a fine line the director has to walk. Here I felt the acting was excellent and realistic, and the director (Michael Winterbottom) had everything right on the edge without going too far.
The plot of the shot is that Eunice, played by Amanda Plummer from PULP FICTION, is searching petrol station's convenience stores for her ex-lover Judith. When the clerks there turn out not to be Judith, she kills them. She also starts to have sex with men and then murders them. Plummer delivers an excellent performance reminiscent of James Woods. She has so much pent-up energy that you are certain she will ignite at any moment. She even pours gasoline over herself at one point which serves as an apt metaphor for her explosive volatility.
At one of the petrol stations she meets Miriam, played by Saskia Reeves who was so wonderful two years ago in TRAPS and is quite good her as well. Miriam takes an instant liking to Eunice and discounts her faults like killing people. When Eunice says, "I know I'm a bad person," Miriam reassures her with, "Don't be daft. There's no such thing as a bad person." Eunice has no sense of right and wrong and explains to Miriam that, "Killing people is nothing.  Miriam's mother is a disabled hermit who has a simple solution to keep from getting into trouble. As she explains, "If you never go out, you'll never do no evil." Miriam certainly does not follow her mother's advice.
The costumes (Rachael Fleming) are an important part of the show. Eunice is like a walking ad for a bondage magazine. She makes a metallic clinking sound since inside her clothes she has lots of chains and locks attached to various obscure portions of her anatomy. She likes showing her metal off, especially to her intended victims. Eunice also has 17 tattoos, and Miriam assures us that each has a special meaning.
The cinematography (Seamus McGarvey) of the film captures just the right gray melancholy feel, especially in the exterior scenes. The script by Frank Cottrell Boyce pulls no punches - hard hitting and to the point.
BUTTERFLY KISS runs just 1:28. It is not rated, but would probably get an R rating rather than an NC-17, but it is close. There is nudity, sex, and quite gory violence. This picture is not appropriate for teenagers. I recommend the show to people with strong stomachs because the acting is quite good and the story bizarre but interesting. I give it ** 1/2.
**** = One of the top few films of this or any year. A must see film. *** = Excellent show. Look for it. ** = Average movie. Kind of enjoyable. * = Poor show.  Totally unbearable.
REVIEW WRITTEN ON: June 14, 1996
Opinions expressed are mine and not meant to reflect my employer's.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


"GOAD "(Hebrews malmad, only in Judges 3: 31), an instrument used by ploughmen for guiding their oxen. Shamgar slew six hundred Philistines with an ox-goad. “The goad is a formidable weapon. It is sometimes ten feet long, and has a sharp point. We could now see that the feat of Shamgar was not so very wonderful as some have been accustomed to think.” In 1 Samuel 13:21, a different Hebrew word is used, dorban, meaning something pointed. The expression (Acts 9:5, omitted in the R.V.), “It is hard for thee to kick against the pricks”, i.e., against the goad, was proverbial for unavailing resistance to superior power.
"GOAD "(Hebrews malmad, only in Judges 3: 31), an instrument used by ploughmen for guiding their oxen. Shamgar slew six hundred Philistines with an ox-goad. “The goad is a formidable weapon. It is sometimes ten feet long, and has a sharp point. We could now see that the feat of Shamgar was not so very wonderful as some have been accustomed to think.” In 1 Samuel 13:21, a different Hebrew word is used, dorban, meaning something pointed. The expression (Acts 9:5, omitted in the R.V.), “It is hard for thee to kick against the pricks”, i.e., against the goad, was proverbial for unavailing resistance to superior power.


This interactive article will explain and demonstrate:
- What timbre really is (a.k.a texture of a sound; the thing that makes you distinguish between a violin and a guitar).
- Why certain timbres sound more pleasant than others.
- How the basis of timbre is also the basis of chords (i.e. major, minor, etc.).
- Why certain chords sound more pleasant than others.
- Creating timbres from scratch. Make your very own instrument on tonehack.
Creating a pure tone with a simplified string model
A tight string that is fixed at both ends vibrates when plucked.
Below is a simplified, imaginary string. Let's assume that our simplified string wobbles up and down continuously when plucked, at a constant rate.
The resulting vibration that this up-down motion produces is a sine wave. For this particular example, the frequency of the sound is set to 220Hz.
Hit the "pluck" button. If such a string could exist in the physical world, this is what you would actually hear. A pure 220Hz sine wave, in sound form.
Coming across pure tones in the physical world is extremely rare. In terms of non-electric sound sources, tuning forks are as close as we can get to pure tones.
Overtones (or resonant frequencies)
The reason a string wobbles up and down in repetitive motion is because as the string stretches one way, the tension that is building up gets released in the opposite way at equal speed, therefore mirroring its previous motion. In this sense, it can be thought of as self-perpetuating motion.
The energy levels at which the string achieves self-perpetuating vibrations are called the resonant frequencies. For strings, the resonant frequency depends on things such as the material or its tightness.
A string can have many resonant frequencies. When the strings are tied at both ends, the motion that is mirroring itself needs to have fixed nodes at exactly those points.
The example below demonstrates the first few resonant wave patterns (a.k.a overtones) of a string. (Hit the pluck button)
What you hear is a combination of the first four overtones at equal volume.
If you look at the wavelengths, you will note that each overtone is an integer multiple of the first overtone (2, 3, 4, ...) So if the first overtone was vibrating at 110Hz (meaning 110 up-down motions per second), then the rest would continue as 220Hz, 330Hz, 440Hz, etc.
Click the "resulting vibration" tab to see how their combination would actually make the string look, if they all took place at the same time.
Attack and Decay
A physical string loses energy as it vibrates, which leads to decay of volume. The first moment when a string is plucked is when it has the strongest vibrations, and then the volume quickly falls to a fraction of the initial strength. Then it decays slowly for a few seconds until it dies out. This is called the attack and the decay.
The example below has attack and decay, which you can follow visually with the wave animations.
As you can hear, the attack and decay makes the sound feel a little bit less digital, little more realistic. I feel like this sounds more like a dull bell.
One important feature to note is that each overtone can decay at different speeds and patterns. For example with a guitar string, higher overtones die out much faster than lower overtones. This is demonstrated in the next example.
To add more realism, we will also need to add more overtones, since theoretically we could have an infinite number of resonant frequencies, which are getting quieter and quieter as the frequency keeps increasing.
Now it's starting to sound more like a real string being plucked.


Check out how each of these artists has
influenced the music
that we listen to today.
Aretha Franklin is one of the giants of soul music, and indeed of American pop as a whole. More than any other performer, she epitomized soul at its most gospel-charged.
In his brief four-year reign as a superstar, Jimi Hendrix expanded
the vocabulary of the electric rock guitar more than anyone before
or since.
As a solo artist, Diana Ross is one of the most successful female singers of the rock era. If you factor in her work as the lead singer of the Supremes , she may be the most successful.
Soul Brother Number One, the Godfather of Soul, the Hardest Working Man in Show Business, Mr. Dynamite -- those are mighty titles, but no on can question that James Brown earned them.


Multi Calculator of different scores to measure adherence to Mediterranean Diet, to compute them in nutriepidemiological data. Additionally, a sample dataset of this kind of data is provided, and some other minor tools useful in epidemiological studies.
| Version: | 0.1.0 |
| Imports: | stats |
| Suggests: | graphics, knitr, rmarkdown |
| Published: | 2017-04-07 |
| Author: | Miguel Menendez [aut, cre], David Lora [ctb], Agustin Gomez-Camara [dtc] |
| Maintainer: | Miguel Menendez <miguelmo at gmail.com> |
| License: | GPL-3 |
| NeedsCompilation: | no |
| CRAN checks: | MedDietCalc results |
| Reference manual: | MedDietCalc.pdf |
| Vignettes: |
"MedDietCalc" |
| Package source: | MedDietCalc_0.1.0.tar.gz |
| Windows binaries: | r-devel: MedDietCalc_0.1.0.zip, r-release: MedDietCalc_0.1.0.zip, r-oldrel: MedDietCalc_0.1.0.zip |
| OS X binaries: | r-release: MedDietCalc_0.1.0.tgz, r-oldrel: MedDietCalc_0.1.0.tgz |
Please use the canonical form https://CRAN.R-project.org/package=MedDietCalc to link to this page.


Foreign Currency Draft |
|
You can transfer funds from
Canadian currency to a full range of currencies with a foreign currency money
draft. Our money drafts, which are accepted for redemption worldwide, are
issued and guaranteed by the Bank of America.
The draft is prepaid at the time of purchase and is cashable upon receipt. The purchaser is responsible for delivering the draft to the recipient. |
There is a small service
charge to buy a money draft, waived for Surrey Metro Savings
PRESTIGE Chequing account holders.
Consider a Foreign Currency Money Draft if:
|
Copyright © Surrey Metro Savings September
4, 1996


Kayle's attacks are empowered by the heavens as she levels up and spends skill points. Her wings are lit aflame as she progressively gains Attack Speed, Movement Speed, Attack Range, and waves of fire on her attacks.
RADIANT BLAST
Kayle conjures a portal, summoning a celestial sword that pierces through enemies, slowing, damaging, and reducing the resistances of all hit.
CELESTIAL BLESSING
Blessed by the divine, Kayle heals and grants movement speed to herself and the nearest ally.
STARFIRE SPELLBLADE
Passive: Kayle's celestial sword, Virtue, deals bonus magic damage to enemies she attacks. Active: Kayle's next attack smites her target with celestial fire, dealing bonus damage proportionate to their missing health.
DIVINE JUDGMENT
Kayle makes an ally invulnerable and calls upon former Aspects of Justice to purify the area around her target with a holy rain of swords.


Tricky Tripper - Help & Info
Links
What does Tricky Tripper do?
Tricky Tripper is an offline-compatible
utility for managing travel expenses. It is especially intended for
holidays with shared expenses, e.g. you go on a trip with your friends
and from time to time one companion pays for all travelers. In such a
situation
Tricky Tripper splits the costs among the
companions as you want it. The application calculates all debts among
the travelers and offers means to get even, during or after the trip.
Features
- Even or individual splitting of costs among travelers.
- Debt protocol
- Function to settle debts
- Tricky Tripper is
offline-compatible.
- App2SD support
- Data report export
- Formats: HTML, CSV, TXT.
- To: Dropbox, Email, Evernote, Sdcard.
Planned Features
Limitations
- No tablet specific layout yet.
Permissions
- Contact access is required only for autocompletion of the
travellers' names.
- Write access to the storage directory is required for the
data export only.
- Internet access is only required for downloading exchange
rates.
The typical usage scenario
Tricky Tripper's typical usage scenario is:
- You create a trip.
- You add companions to your trip.
- You go on your trip and you track every payment with more
than one cost participant with the help of
Tricky Tripper.
- Debts among travelers are settled during or after the trip.
- After your trip, Tricky Tripper
informs you about the total spending and about who owes what amount
to whom.
Manage, create , and edit trips
Wiping from the left or alternativelly tabbing onto the burger button in the upprt left corner reveals the
Manage trips dialog, allowing you to
create, edit and delete trips. A long-tap on a trip entry offers
functions to delete/edit in the menu.
Add travel companions to your trip
In
Tricky Tripper travel companions are called
Travelers. A traveler can be added to
your trip with the menu function Person+
on the primary tab dialogs.
Amend travelers' names
A Long-Tap on a traveler on the
Travelers-Tab reveals various menu functions referring to him/her.
Edit allows you to edit the name of
the selected traveler.
Create payment
- Tap one of those travelers on the Travelers-Tab,
who is going to pay the money (Alternatively select Create Payment from the context menu.)
- The Create Payment dialog
opens.
- The definition of who pays in advance for others is done in
the upper area of the Create payment
dialog.
- The lower area defines to whom the payment amount is debited
to.
- Choosing the option Split
evenly causes the total amount to be split evenly among all active
travelers whereas ...
- ... The alternative option Custom
split allows you to define the travelers to be charged individually
according to your custom requirements.
- The ∨-Button on the right
side allows you to tailor the set of travelers involved.
Amend/delete payments
- To edit a payment tap it on the Payments-Tab.
- A payment's context menu offers the delete function.
Note: Money transfers cannot be edited but only deleted.
Debts report
- Tap on the Report-Tab and
choose the traveler you are interested in or.
- Long-Tap on the traveler of interest on the Travelers-Tab and select Report from the upcoming context menu.
The debts are also displayed on the
Money transfer dialog, i.e. the place
where you can settle debts.
Settle debts
- On the Travelers-Tab,
long-tab on the traveler who's debts are to be settled.
- Choose the function Money
transfer which opens the Money
transfer dialog: It allows you to settle the debts by money transfer
of the debt amount to the creditor of the debts.
Note: A
Money transfer is equally to lending
money in case that a transferring traveler transfers an amount bigger
than the amount he owes to the target of a transfer.
Report export
- Choose the Export function
from the action bar on one of the major tabs to open up the Export
dialog.
- Choose your desired export options and hit the Do Export-Button in the menu.
Tricky Tripper supports the export via
- Dropbox
- Evernote
- Mail
- or is alternatively capable to write the data to your
telephone's memory.
Export services not available on your telephone will be displayed as
disabled.


{{ information_card_title }}
{% include "grant_management/grantmanagement/information_card_section.html" with outer_p="How many employees are currently on your payroll across all UK sites?" inner_p=activation.process.grant_application.get_number_of_employees_display highlighted_p="A business must have less than 250 employees on their UK payroll to be eligible" %}
{% include "grant_management/grantmanagement/information_card_section.html" with outer_p="Was your turnover greater than €50m, or your balance sheet (or Statement of Financial Position) greater than €43m, in the last fiscal year?" inner_p=activation.process.grant_application.is_turnover_greater_than|yesno:"Yes,No" highlighted_p="A business must have less than 250 employees on their UK payroll to be eligible" %}
Supporting information
Dun & Bradstreet records for {{ activation.process.grant_application.company_name }}


| PostgreSQL 9.0.10 Documentation | ||||
|---|---|---|---|---|
| Prev | Up | Chapter 46. Frontend/Backend Protocol | Next |
This section describes the detailed format of each message. Each is marked to indicate that it can be sent by a frontend (F), a backend (B), or both (F & B). Notice that although each message includes a byte count at the beginning, the message format is defined so that the message end can be found without reference to the byte count. This aids validity checking. (The CopyData message is an exception, because it forms part of a data stream; the contents of any individual CopyData message cannot be interpretable on their own.)
Identifies the message as an authentication request.
Length of message contents in bytes, including self.
Specifies that the authentication was successful.
Identifies the message as an authentication request.
Length of message contents in bytes, including self.
Specifies that Kerberos V5 authentication is required.
Identifies the message as an authentication request.
Length of message contents in bytes, including self.
Specifies that a clear-text password is required.
Identifies the message as an authentication request.
Length of message contents in bytes, including self.
Specifies that an MD5-encrypted password is required.
The salt to use when encrypting the password.
Identifies the message as an authentication request.
Length of message contents in bytes, including self.
Specifies that an SCM credentials message is required.
Identifies the message as an authentication request.
Length of message contents in bytes, including self.
Specifies that GSSAPI authentication is required.
Identifies the message as an authentication request.
Length of message contents in bytes, including self.
Specifies that SSPI authentication is required.
Identifies the message as an authentication request.
Length of message contents in bytes, including self.
Specifies that this message contains GSSAPI or SSPI data.
GSSAPI or SSPI authentication data.
Identifies the message as cancellation key data. The frontend must save these values if it wishes to be able to issue CancelRequest messages later.
Length of message contents in bytes, including self.
The process ID of this backend.
The secret key of this backend.
Identifies the message as a Bind command.
Length of message contents in bytes, including self.
The name of the destination portal (an empty string selects the unnamed portal).
The name of the source prepared statement (an empty string selects the unnamed prepared statement).
The number of parameter format codes that follow (denoted C below). This can be zero to indicate that there are no parameters or that the parameters all use the default format (text); or one, in which case the specified format code is applied to all parameters; or it can equal the actual number of parameters.
The parameter format codes. Each must presently be zero (text) or one (binary).
The number of parameter values that follow (possibly zero). This must match the number of parameters needed by the query.
Next, the following pair of fields appear for each parameter:
The length of the parameter value, in bytes (this count does not include itself). Can be zero. As a special case, -1 indicates a NULL parameter value. No value bytes follow in the NULL case.
The value of the parameter, in the format indicated by the associated format code. n is the above length.
After the last parameter, the following fields appear:
The number of result-column format codes that follow (denoted R below). This can be zero to indicate that there are no result columns or that the result columns should all use the default format (text); or one, in which case the specified format code is applied to all result columns (if any); or it can equal the actual number of result columns of the query.
The result-column format codes. Each must presently be zero (text) or one (binary).
Identifies the message as a Bind-complete indicator.
Length of message contents in bytes, including self.
Length of message contents in bytes, including self.
The cancel request code. The value is chosen to contain 1234 in the most significant 16 bits, and 5678 in the least 16 significant bits. (To avoid confusion, this code must not be the same as any protocol version number.)
The process ID of the target backend.
The secret key for the target backend.
Identifies the message as a Close command.
Length of message contents in bytes, including self.
'S' to close a prepared statement; or 'P' to close a portal.
The name of the prepared statement or portal to close (an empty string selects the unnamed prepared statement or portal).
Identifies the message as a Close-complete indicator.
Length of message contents in bytes, including self.
Identifies the message as a command-completed response.
Length of message contents in bytes, including self.
The command tag. This is usually a single word that identifies which SQL command was completed.
For an INSERT command, the tag is INSERT oid rows, where rows is the number of rows inserted. oid is the object ID of the inserted row if rows is 1 and the target table has OIDs; otherwise oid is 0.
For a DELETE command, the tag is DELETE rows where rows is the number of rows deleted.
For an UPDATE command, the tag is UPDATE rows where rows is the number of rows updated.
For a SELECT or CREATE TABLE AS command, the tag is SELECT rows where rows is the number of rows retrieved.
For a MOVE command, the tag is MOVE rows where rows is the number of rows the cursor's position has been changed by.
For a FETCH command, the tag is FETCH rows where rows is the number of rows that have been retrieved from the cursor.
For a COPY command, the tag is COPY rows where rows is the number of rows copied. (Note: the row count appears only in PostgreSQL 8.2 and later.)
Identifies the message as COPY data.
Length of message contents in bytes, including self.
Data that forms part of a COPY data stream. Messages sent from the backend will always correspond to single data rows, but messages sent by frontends might divide the data stream arbitrarily.
Identifies the message as a COPY-complete indicator.
Length of message contents in bytes, including self.
Identifies the message as a COPY-failure indicator.
Length of message contents in bytes, including self.
An error message to report as the cause of failure.
Identifies the message as a Start Copy In response. The frontend must now send copy-in data (if not prepared to do so, send a CopyFail message).
Length of message contents in bytes, including self.
0 indicates the overall COPY format is textual (rows separated by newlines, columns separated by separator characters, etc). 1 indicates the overall copy format is binary (similar to DataRow format). See COPY for more information.
The number of columns in the data to be copied (denoted N below).
The format codes to be used for each column. Each must presently be zero (text) or one (binary). All must be zero if the overall copy format is textual.
Identifies the message as a Start Copy Out response. This message will be followed by copy-out data.
Length of message contents in bytes, including self.
0 indicates the overall COPY format is textual (rows separated by newlines, columns separated by separator characters, etc). 1 indicates the overall copy format is binary (similar to DataRow format). See COPY for more information.
The number of columns in the data to be copied (denoted N below).
The format codes to be used for each column. Each must presently be zero (text) or one (binary). All must be zero if the overall copy format is textual.
Identifies the message as a data row.
Length of message contents in bytes, including self.
The number of column values that follow (possibly zero).
Next, the following pair of fields appear for each column:
The length of the column value, in bytes (this count does not include itself). Can be zero. As a special case, -1 indicates a NULL column value. No value bytes follow in the NULL case.
The value of the column, in the format indicated by the associated format code. n is the above length.
Identifies the message as a Describe command.
Length of message contents in bytes, including self.

The name of the prepared statement or portal to describe (an empty string selects the unnamed prepared statement or portal).
Identifies the message as a response to an empty query string. (This substitutes for CommandComplete.)
Length of message contents in bytes, including self.
Identifies the message as an error.
Length of message contents in bytes, including self.
The message body consists of one or more identified fields, followed by a zero byte as a terminator. Fields can appear in any order. For each field there is the following:
A code identifying the field type; if zero, this is the message terminator and no string follows. The presently defined field types are listed in Section 46.6. Since more field types might be added in future, frontends should silently ignore fields of unrecognized type.
The field value.
Identifies the message as an Execute command.
Length of message contents in bytes, including self.
The name of the portal to execute (an empty string selects the unnamed portal).
Maximum number of rows to return, if portal contains a query that returns rows (ignored otherwise). Zero denotes "no limit".
Identifies the message as a Flush command.
Length of message contents in bytes, including self.
Identifies the message as a function call.
Length of message contents in bytes, including self.
Specifies the object ID of the function to call.
The number of argument format codes that follow (denoted C below). This can be zero to indicate that there are no arguments or that the arguments all use the default format (text); or one, in which case the specified format code is applied to all arguments; or it can equal the actual number of arguments.
The argument format codes. Each must presently be zero (text) or one (binary).
Specifies the number of arguments being supplied to the function.
Next, the following pair of fields appear for each argument:
The length of the argument value, in bytes (this count does not include itself). Can be zero. As a special case, -1 indicates a NULL argument value. No value bytes follow in the NULL case.
The value of the argument, in the format indicated by the associated format code. n is the above length.
After the last argument, the following field appears:
The format code for the function result. Must presently be zero (text) or one (binary).
Identifies the message as a function call result.
Length of message contents in bytes, including self.
The length of the function result value, in bytes (this count does not include itself). Can be zero. As a special case, -1 indicates a NULL function result. No value bytes follow in the NULL case.
The value of the function result, in the format indicated by the associated format code. n is the above length.
Identifies the message as a no-data indicator.
Length of message contents in bytes, including self.
Identifies the message as a notice.
Length of message contents in bytes, including self.
The message body consists of one or more identified fields, followed by a zero byte as a terminator. Fields can appear in any order. For each field there is the following:
A code identifying the field type; if zero, this is the message terminator and no string follows. The presently defined field types are listed in Section 46.6. Since more field types might be added in future, frontends should silently ignore fields of unrecognized type.
The field value.
Identifies the message as a notification response.
Length of message contents in bytes, including self.
The process ID of the notifying backend process.
The name of the channel that the notify has been raised on.
The "payload" string passed from the notifying process.
Identifies the message as a parameter description.
Length of message contents in bytes, including self.
The number of parameters used by the statement (can be zero).
Then, for each parameter, there is the following:
Specifies the object ID of the parameter data type.
Identifies the message as a run-time parameter status report.
Length of message contents in bytes, including self.
The name of the run-time parameter being reported.
The current value of the parameter.
Identifies the message as a Parse command.
Length of message contents in bytes, including self.
The name of the destination prepared statement (an empty string selects the unnamed prepared statement).
The query string to be parsed.
The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for.
Then, for each parameter, there is the following:
Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified.
Identifies the message as a Parse-complete indicator.
Length of message contents in bytes, including self.
Identifies the message as a password response. Note that this is also used for GSSAPI and SSPI response messages (which is really a design error, since the contained data is not a null-terminated string in that case, but can be arbitrary binary data).
Length of message contents in bytes, including self.
The password (encrypted, if requested).
Identifies the message as a portal-suspended indicator. Note this only appears if an Execute message's row-count limit was reached.
Length of message contents in bytes, including self.
Identifies the message as a simple query.
Length of message contents in bytes, including self.
The query string itself.
Identifies the message type. ReadyForQuery is sent whenever the backend is ready for a new query cycle.
Length of message contents in bytes, including self.
Current backend transaction status indicator. Possible values are 'I' if idle (not in a transaction block); 'T' if in a transaction block; or 'E' if in a failed transaction block (queries will be rejected until block is ended).
Identifies the message as a row description.
Length of message contents in bytes, including self.
Specifies the number of fields in a row (can be zero).
Then, for each field, there is the following:
The field name.
If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.
If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.
The object ID of the field's data type.
The data type size (see pg_type.typlen). Note that negative values denote variable-width types.
The type modifier (see pg_attribute.atttypmod). The meaning of the modifier is type-specific.
The format code being used for the field. Currently will be zero (text) or one (binary). In a RowDescription returned from the statement variant of Describe, the format code is not yet known and will always be zero.
Length of message contents in bytes, including self.
The SSL request code. The value is chosen to contain 1234 in the most significant 16 bits, and 5679 in the least 16 significant bits. (To avoid confusion, this code must not be the same as any protocol version number.)
Length of message contents in bytes, including self.
The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here).
The protocol version number is followed by one or more pairs of parameter name and value strings. A zero byte is required as a terminator after the last name/value pair. Parameters can appear in any order. user is required, others are optional. Each parameter is specified as:
The parameter name. Currently recognized names are:
The database user name to connect as. Required; there is no default.
The database to connect to. Defaults to the user name.
Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.)
In addition to the above, any run-time parameter that can be set at backend start time might be listed. Such settings will be applied during backend start (after parsing the command-line options if any). The values will act as session defaults.
The parameter value.
Identifies the message as a Sync command.
Length of message contents in bytes, including self.
Identifies the message as a termination.
Length of message contents in bytes, including self.


BMW, Daimler and Volkswagen fined €100m after forming cartel to buy steel
by Sky News(SKY NEWS) – Germany’s three largest car manufacturers have been fined a total of €100m for forming a cartel to buy steel for their automobile components.
Germany’s federal cartel office announced the fine for BMW, Volkswagen and Mercedes-Benz owner Daimler.
The regulator said that from 2004 to 2013, the carmakers regularly met steelmakers and other companies in the supply chain to discuss paying uniform surcharges when purchasing steel.
The watchdog added that unlawful prices resulting from the cartel were paid until at least 2016.
BMW said it would pay a penalty amounting to €28m.
Daimler will have to pay €23.5m, a spokeswoman said.
Volkswagen, Germany’s biggest carmaker which also owns Audi, declined to comment on the amount it would pay but welcomed the end of the cartel probe.
The cartel office said that purchasing prices for long steel products – the type of steel affected by the cartel and which is used for crankshafts, gearwheels or steering rods – account for less than 1% of a car’s final value.
Andreas Mundt, president of the cartel office, said: “Between 2004 and the end of 2013, representatives of BMW, Daimler and Volkswagen regularly met twice a year with steel manufacturers, forging companies and large systems suppliers, and exchanged information on uniform surcharges for the purchase of long steel products.
“Scrap and alloy surcharges account for a substantial part of the purchase prices for long steel.
“Insofar as the surcharges were no longer negotiated individually with the suppliers as a consequence of these talks, price competition between the companies on these price components was eliminated.”
The fining decisions are not yet final and can be appealed along with the findings contained in them to the Dusseldorf Higher Regional Court.
The case is not related to the European Commission’s current investigations into German car manufacturers suspected of colluding on emission control technologies.
More International News Stories
-
Former South Carolina deputy arrested for sex with teen in patrol car November 21, 2019
-
US judge temporarily stops 1st federal execution in 16 years November 21, 2019
-
DC priest says he was ‘too busy’ to abuse parishioners November 21, 2019
-
Utah woman faces lewdness charge for being topless at home in front of stepchildren November 21, 2019
-
Teen who ran ‘slave for sale’ Craigslist ad on black classmate faces hate crime charges November 21, 2019
-
Family drags uncle’s corpse to insurance company to prove he’s dead November 21, 2019
-
Prince Andrew didn’t step back from royal duties – Queen Elizabeth ‘fired’ him November 21, 2019
-
British Airways says flights hit by glitch November 21, 2019
-
Prince Andrew to step back from public duties November 20, 2019


--- layout: landing title: About description: Developing a passion for storytelling and inspiring ---
D aughter of a diplomat, Vivian spent a good part of her youth living in Canada and Europe. She earned her BA plus Standard Secondary Teaching Credentials at Fresno State University. Later she earned an MBA at Anderson School of Management at the University of New Mexico. Vivian has taught public speaking and other subjects at a variety of educational institutions, including: New Mexico State University, College of Santa Fe, University of New Mexico and Central New Mexico Community College. She has taught a variety of students, including prison inmates. Vivian has spoken at various clubs, conventions, and conferences and conducted training for a variety of organizations in New Mexico, Colorado, Arizona, California, and Puerto Rico. Vivian has demonstrated a life-long commitment to giving back to the community where she has lived. Her volunteer duties have included: working on a suicide prevention line, working for the Animal Humane Society, organizing a major marathon, president of a Toastmasters club, teaching English as a second language to refugees, etc.


|
phylopomp
Phylodynamics for POMPs
|
#include <set>
#include <unordered_map>
#include <string>
#include <cstring>
#include "internal.h"
#include "ball.h"
Go to the source code of this file.
Classes | |
| struct | ball_order |
| Ordering for balls in pockets. More... | |
| class | pocket_t |
| A pocket is a set of balls. More... | |
Typedefs | |
| typedef std::set< ball_t *, ball_order >::const_iterator | ball_it |
| typedef std::set< ball_t *, ball_order >::const_reverse_iterator | ball_rev_it |
| typedef std::set<ball_t*,ball_order>::const_iterator ball_it |
| typedef std::set<ball_t*,ball_order>::const_reverse_iterator ball_rev_it |


{% extends "layout/base.html" %} {% block main %}
Kickstarter is a popular crowdfunding website which focuses on funding project based ideas. It follows a funding policy where projects are proposed and have details on the site where they have their pitch and offer incentives to get people interested in their projects (backers) to pay a backer specified sum if the amount required to implement their project is in the time limit(pledge).
Pros
Kickstarter is a popular site it has over1 billion dollars promised to projects.
Kickstarter has and atomic model for funding either the project is fully funded or the project recieves no funding. Which creates a system that avoids half funded projects.
Allows for the backing of a wide variety of projects that fit into any of these cagegories: Art, Comics, Dance, Design, Fashion, Film, Food, Games, Music, Photography, Publishing, Technology, and Theater.
Cons
Kickstarter takes 5% of all funding of a funded project.
Kickstarter does not allow for charity projects or projects that use charity donations as an incentive.
The projects are restricted to these cagegories: Art, Comics, Dance, Design, Fashion, Film, Food, Games, Music, Photography, Publishing, Technology, and Theater.
Kickstarter does not allow for the use of equity as a reward/incentive for backing a project.
Kickstarter does not allow for multiple rewards per pledge(funding promise).
Requirements
Projects with hardware require physical prototype
Kickstarter requires that you show only what you have done and only allows one reward(incentive) per pledge(funding).
Indiegogo is a flexible crowdfunding website, similar in basic policy to kickstarter with a bit more flexibility, but higher usage costs. The site follows a similar model for getting a backing, but has less restrictions in the projects and payment plans.
Pros
Two funding options flexible which allows for projects to keep funding even if they don't reach their goal. Or fixed funding which allows for an alll or nothing approach.
open to non-profit ventures and personal funding, very flexible in accepted projects.
Cons
If using a flexible plan there is a 4% funding fee if project is fully funded 9% funding fee if project fails.
If using a fixed plan there 4% base funding fee if the project succeeds.
Crowdfunder is different from kickstarter and indiegogo in that as an incentive it allows users to actually sell partial ownership of their startup. Rather than just offering rewards for backing them they go for a backing that gives the investor a share of profits or equity.
Pros
network of investors
Kickstarter has and atomic model for funding either the project is fully funded or the project recieves no funding. Which creates a system that avoids half funded projects.
Allows for the backing of a wide variety of projects that fit into any of these cagegories: Art, Comics, Dance, Design, Fashion, Film, Food, Games, Music, Photography, Publishing, Technology, and Theater.
Cons
Actual equity can be sold.
Caters towards tech startups and small buisness
Site features cost from $100/month to 1000/month
Requirements
More thorough screening than most of the crowdfunding sites.
Rockethub is another crowdfunding website which is distinguished by its partnership with A&E.
Pros
Site uses flexible model, it does not go with an all or nothing approach
Tries to cater to the arts and social projects
allows for incnetives(goods) Theater.
Cons
charges 8% of collected fees if successfully funded and 12% if not fully funded
Can not offer equity, revenues, or raffles as incentives
Requirements
Have a Project that passes screening.
Crowdrise is a site that focuses on raising charity donations
Pros
Charitable
Cons
Still charges transaction fee.
Requirements
Not for profit project or group.
Angel list is a crowdfunding site that facilitates the communication between startups and investors.
Pros
Angel List allows for public investing
Allows for easier networking within domain
Cons
Angel List as a 10% carry
Is a more exclusive audience less whimsical ideas and more tech based startups.
Requirements
Startup idea that gets through screening
Change.org is a petition site and not an actual funding site.
Pros
Allows the reaching of a wide audience for a petition.
Cons
Will not help gather captial.
Quirky is a site that caters to tinkerers and takes proposed ideas and implements them.
Pros
Quirky allows ideas to be implemented without trying to raise backing.
Acceptance based partly off of voting system
Quirky gives rolaties based off of the invention.
Cons
Quirky takes related intellectual property.
Requirements
Projects with ideas have to be accepted by quirky team as well as voted in.
Patents help get voted in


RRtoolbox.lib.arrayops package¶
Submodules¶
RRtoolbox.lib.arrayops.basic module¶
This module contains simple array operation methods
-
RRtoolbox.lib.arrayops.basic.
angle
(v1, v2, deg=False)[source]¶ Angle between two N dimmensional vectors.
Parameters: - v1 – vector 1.
- v2 – vector 2.
- deg – if True angle is in Degrees, else radians.
Returns: angle in radians.
Example:
>>> angle_between((1, 0, 0), (0, 1, 0)) 1.5707963267948966 >>> angle_between((1, 0, 0), (1, 0, 0)) 0.0 >>> angle_between((1, 0, 0), (-1, 0, 0)) 3.141592653589793
Note
obtained from http://stackoverflow.com/a/13849249/5288758 and tested in http://onlinemschool.com/math/assistance/vector/angl/
-
RRtoolbox.lib.arrayops.basic.
angle2D
(v1, v2, deg=False, absolute=None)[source]¶ Angle between two 2 dimensional vectors.
Parameters: - v1 – vector 1.
- v2 – vector 2.
- deg – if True angle is in Degrees, else radians.
- absolute – if None returns the angle (0 yo 180(pi)) between v1 and v2. if True returns the absolute angle (0 to 360(2pi)) from v1 as axis to v2. if False returns the angle (0 to 180 or 0 to -180) from v1 as axis to v2, where v2 angle relative to v1 is positive or negative if counter-clock or clock wise.
Returns: angle in radians.
Note
implemented according to http://math.stackexchange.com/a/747992 and tested in http://onlinemschool.com/math/assistance/vector/angl/
-
RRtoolbox.lib.arrayops.basic.
angleXY
(coorX, coorY, angle)[source]¶ Rotate coordinate.
Parameters: - coorX – x coordinate.
- coorY – y coordinate.
- angle – radian angle.
Returns: rotated x,y
-
RRtoolbox.lib.arrayops.basic.
anorm2
(a)[source]¶ Summation of squares (helper function for
anorm()
)Parameters: a – Returns:
-
RRtoolbox.lib.arrayops.basic.
axesIntercept
(coorSM, maxS, maxM)[source]¶ Intercept static axis (S) and mobile axis (M) with a coordinate connecting both axes from minS to minM.
S1 S2S0 |<———————|———–> maxS
- coorSM <———| |
- M1 M2
M0 <———|———————>| maxM
Parameters: - coorSM – coordinate of vector from S=0 to M=0.
- maxS – value representing end of estatic axis.
- maxM – value representing end of mobile axis.
Returns: S1,S2,M1,M2.
-
RRtoolbox.lib.arrayops.basic.
boxPads
(bx, points)[source]¶ Get box pads to fit all.
Parameters: - bx – box coordinates or previous boxPads [left_top, right_bottom]
- points – array of points
Returns: [(left,top),(right,bottom)] where bx and points fit.
-
RRtoolbox.lib.arrayops.basic.
centerM
(coor, maxM)[source]¶ Center vector coor in M axis.
Parameters: - coor – coordinate of vector from S=0 to M center
- maxM – value representing end of mobile axis
Returns: M centered coordinate
-
RRtoolbox.lib.arrayops.basic.
centerS
(coor, maxS)[source]¶ Center vector coor in S axis.
Parameters: - coor – coordinate of vector from S center to M=0
- maxS – value representing end of estatic axis
Returns: S centered coordinate
-
RRtoolbox.lib.arrayops.basic.
centerSM
(coorSM, maxS, maxM)[source]¶ Center vector coorSM in both S and M axes.
Parameters: - coorSM – coordinate of vector from S to M centers.
- maxS – value representing end of estatic axis.
- maxM – value representing end of mobile axis.
Returns: SM centered coordinate.
-
RRtoolbox.lib.arrayops.basic.
contours2mask
(contours, shape=None, astype=<type 'bool'>)[source]¶ Creates an array with filled polygons formed by contours.
Parameters: - contours – list of contour or points forming objects
- shape – (None) shape of array. If None it creates an array fitted to contours.
- astype – (“bool”) numpy type
Returns:
-
RRtoolbox.lib.arrayops.basic.
contoursArea
(contours)[source]¶ Accumulates areas from list of contours.
Parameters: contours – list of contours or binary array. Returns: area.
-
RRtoolbox.lib.arrayops.basic.
convertXY
(x, y, backshape, foreshape, flag=0, quartile=0, angle=None)[source]¶ Convert absolute XY 0,0 coordinates to new system WZ.
Parameters: - x – x coordinate.
- y – y coordinate.
- backshape – shape of background image.
:param foreshape:shape of foreground image. :param flag: flag for position (default=0).
- flag==0 : foreground to left up.
- flag==1 : foreground to left down.
- flag==2 : foreground to right up.
- flag==3 : foreground to right down.
- flag==4 : foreground at center of background.
- flag==5 : XY 0,0 is at center of background.
- flag==6 : XY 0,0 is at center of foreground.
- flag==7 : XY 0,0 is at right down of foreground.
Parameters: - quartile – place Mobile image at quartile 1,2,3,4. if left quartile=0 image won’t be moved.
- angle – angle in radians (defalut=None). if None it does not apply.
Returns: W,Z
-
RRtoolbox.lib.arrayops.basic.
convexityRatio
(cnt, hull=None)[source]¶ Ratio to test if contours are irregular
Parameters: cnt – contour :param hull:(None) convex hull :return: ratio
-
RRtoolbox.lib.arrayops.basic.
entroyTest
(arr)[source]¶ Entropy test of intensity arrays. (Helper function for
entropy()
)Parameters: arr – array MxN of dim 2. Returns: entropy.
-
RRtoolbox.lib.arrayops.basic.
findContours
(*args, **kwargs)[source]¶ Compatibility wrapper around cv2.findContour to support both openCV 2 and openCV 3.
findContours(image, mode, method[, contours[, hierarchy[, offset]]]) -> image, contours, hierarchy
-
RRtoolbox.lib.arrayops.basic.
find_near
(m, thresh=None, side=None)[source]¶ helper function for findminima and findmaxima :param m: minima or maxima points :param thresh: guess or seed point :param side: left or right :return: value
-
RRtoolbox.lib.arrayops.basic.
findmaxima
(hist, thresh=None, side=None)[source]¶ Get nearest peak value to a thresh point from a histogram.
Parameters: - hist – histogram
- thresh – initial seed
- side – find valley from left or right of thresh
Returns:
-
RRtoolbox.lib.arrayops.basic.
findminima
(hist, thresh=None, side=None)[source]¶ Get nearest valley value to a thresh point from a histogram.
Parameters: - hist – histogram
- thresh – initial seed
- side – find valley from left or right of thresh
Returns:
-
RRtoolbox.lib.arrayops.basic.
getOtsuThresh
(hist)[source]¶ From histogram calculate Otsu threshold value.
Parameters: hist – histogram Returns: otsu threshold value
-
RRtoolbox.lib.arrayops.basic.
getTransformedCorners
(shape, H)[source]¶ from shape gets transformed corners of array.
Parameters: - shape – H,W array shape
- H – transformation matrix
Returns: upper_left, upper_right, lower_right, lower_lef transformed corners.
-
RRtoolbox.lib.arrayops.basic.
getTransparency
(array)[source]¶ Convert foreground to background.
Parameters: array – image array. Returns: alfa (int or array)
-
RRtoolbox.lib.arrayops.basic.
get_x_space
(funcs, step=10, xleft=-300, xright=300)[source]¶ get X axis space by brute force. This can be used to find the x points where the points in the y axis of any number of functions become stable.
Parameters: - funcs – list of functions
- step –
- step to close guess to maximum
- xleft – maximum left limit
- xright – maximum right limit
Returns: linspace
-
RRtoolbox.lib.arrayops.basic.
getdataVH
(array, ypad=0, xpad=0, bgrcolor=None, alfa=None)[source]¶ Get data from array according to padding (Helper function for
padVH()
).Parameters: - array – list of arrays to get data
- ypad – how much to pad in y axis
- xpad – how much to pad in x axis
Returns: matrix_shapes, grid_div, row_grid, row_gridpad, globalgrid
-
RRtoolbox.lib.arrayops.basic.
histogram
(img)[source]¶ Get image histogram.
Parameters: img – gray or image with any bands Returns: histogram of every band
-
RRtoolbox.lib.arrayops.basic.
im2imFormat
(src, dst)[source]¶ Tries to convert source image to destine image format.
Parameters: - src – source image.
- dst – destine image.
Returns: reshaped source image.
-
RRtoolbox.lib.arrayops.basic.
im2shapeFormat
(im, shape)[source]¶ Tries to convert image to intuited format from shape.
Parameters: - im – image.
- shape –
shape to get format.
shapes: * (None, None): converts to gray * (None, None, 2): converts to GR555 * (None, None, 3): converts to BGR * (None, None, 4): converts to BGRA
Returns: reshaped image.
-
RRtoolbox.lib.arrayops.basic.
instability_bf
(funcs, step=10, maximum=300, guess=0, tolerance=0.01)[source]¶ Find the instability of function approaching value by brute force,
Parameters: - funcs – list of functions
- step –
- step to close guess to maximum
- maximum –
- maximum value, if guess surpass this value then calculations are stopped.
- guess –
- initial guess
- tolerance – (0.01) tolerance with last step to check instability.
Returns: (state, updated guess). state is True if successful, else False.
-
RRtoolbox.lib.arrayops.basic.
invertM
(coorSM, maxM)[source]¶ Invert M axis.
Parameters: - coorSM – coordinate of vector for M inverted axes.
- maxS – value representing end of estatic axis.
- maxM – value representing end of mobile axis.
Returns: SM coordinate on S axis and inverted M axis.
-
RRtoolbox.lib.arrayops.basic.
invertSM
(coorSM, maxS, maxM)[source]¶ Invert S and M axes.
Parameters: - coorSM – coordinate of vector for SM inverted axes.
- maxS – value representing end of estatic axis.
- maxM – value representing end of mobile axis.
Returns: SM coordinate on inverted SM axes.
-
RRtoolbox.lib.arrayops.basic.
isnumpy
(arr)[source]¶ Test whether an object is a numpy array.
Parameters: arr – Returns: True if numpy array, else false.
-
RRtoolbox.lib.arrayops.basic.
makeVis
(globalgrid, bgrcolor=None)[source]¶ Make visualization (Helper function for
padVH()
)Parameters: - globalgrid – shape
- bgrcolor – color of visualization
Returns: array of shape globalgrid
-
RRtoolbox.lib.arrayops.basic.
matrixIntercept
(x, y, staticm, *mobilem)[source]¶ Intercepts planes x and y of a static matrix (staticm) with N mobile matrices (mobilem) translated from the origin to x,y coordinates.
Parameters: - x – x coordinate.
- y – y coordinate.
- staticm – static matrix.
- mobilem – mobile matrices.
Returns: ROI of intercepted matrices [staticm,*mobilem].
-
RRtoolbox.lib.arrayops.basic.
multiple_superpose
(base, fore, H, foremask=None)[source]¶ Superpose multiple foreground images to a single base image.
Parameters: - base – backgraound, base or dipest level image (level -1)
- fore – foreground image list (in order of level i = 0, ... , N)
- H – transformation matrix of fore in level i to overlay in base
- foremask – foreground alfa mask in level i
Returns: generator of each overlay
-
RRtoolbox.lib.arrayops.basic.
noisy
(arr, mode)[source]¶ Add noise to arrays
Parameters: - arr – Input ndarray data (it will be converted to float).
- mode –
noise method:
- ‘gauss’ - Gaussian-distributed additive noise.
- ‘poisson’ - Poisson-distributed noise generated from the data.
- ‘s&p’ - Replaces random pixels with 0 or 1.
- ‘speckle’ - Multiplicative noise using out = arr + n*arr,where
- n is uniform noise with specified mean & variance.
:return noisy arr
-
RRtoolbox.lib.arrayops.basic.
normalize2
(arr)[source]¶ Normalize with factor of absolute maximum value.
-
RRtoolbox.lib.arrayops.basic.
normalizeCustom
(arr, by=<function amax>, axis=None)[source]¶ Normalize array with custom operations.
Parameters: - arr – array (it does not correct negative values, use preferable NxM).
- by – np,max, np.sum or any function that gets an array to obtain factor.
- axis – if None it normalizes in all axes else in the selected axis.
Returns: normalized to with factor.
-
RRtoolbox.lib.arrayops.basic.
overlay
(back, fore, alpha=None, alfainverted=False, under=False, flag=0)[source]¶ Try to Overlay any dimension array.
Parameters: - back – BGRA background image.
- fore – BGRA foreground image.
- alpha – transparency channel.
- alfainverted – if True inverts alpha transparency.
- under – if True, place back as fore and fore as back.
- flag –
(experimental)
- Normally replace inverted transparency of alpha in back (N);
- superpose alpha in back (V).
- Bloat and replace inverted transparency of alpha in back;
- superpose bgr in back (V).
- Superpose inverted transparent COLOR of alpha in back.
- Superpose inverted transparent COLOR of alpha in back.
- Superpose transparent of alpha in back;
- superpose transparent COLOR of alpha in back.
- Superpose transparent of alpha in back;
- superpose transparent COLOR of alpha in back.
Returns: overlayed array
See also
-
RRtoolbox.lib.arrayops.basic.
overlay2
(back, fore)[source]¶ Overlay foreground to x,y coordinates in background image.
Parameters: - back – background image (numpy array dim 3).
- fore – foreground image (numpy array dim 4). the fourth dimension is used for transparency.
Returns: back (with overlay).
#Example:
import cv2 import numpy as np import time a= time.time() back = cv2.imread("t1.jpg") temp = back.shape bgr = np.zeros((temp[0],temp[1],4), np.uint8) points = [(86, 162), (1219, 1112), (2219, 2112), (1277,3000),(86, 162)] col_in = (0, 0, 0,255) thickness = 10 for i in range(len(points)-1): pt1 = (points[i][0], points[i][1]) pt2 = (points[i+1][0], points[i+1][1]) cv2.line(bgr, pt1, pt2, col_in, thickness) overlay(back,bgr) win = "overlay" cv2.namedWindow(win,cv2.WINDOW_NORMAL) cv2.imshow(win, back) print time.time()-a cv2.waitKey() cv2.destroyAllWindows()
See also
-
RRtoolbox.lib.arrayops.basic.
overlayXY
(x, y, back, fore, alfa=None, alfainverted=False, under=False, flag=0)[source]¶ Overlay foreground image to x,y coordinates in background image. This function support images of different sizes with formats: BGR background and BGRA foreground of Opencv or numpy images.
Parameters: - x – x position in background.
- y – y position in background.
- back – background image (numpy array dim 3).
- fore – foreground image (numpy array dim 4). the fourth dimension is used for transparency.
Returns: back (with overlay)
Example:
import cv2 back = cv2.imread("t1.jpg") bgr = cv2.imread("mustache.png",-1) x,y=convertXY(0,0,back.shape,bgr.shape,flag=1) overlayXY(x,y,back,bgr) win = "overlay" cv2.namedWindow(win,cv2.WINDOW_NORMAL) cv2.imshow(win, back) cv2.waitKey() cv2.destroyAllWindows()
-
RRtoolbox.lib.arrayops.basic.
overlaypng
(back, fore, alpha=None, alfainverted=False, under=False, flag=0)[source]¶ Overlay only BGRA.
Parameters: - back – BGRA background image.
- fore – BGRA foreground image.
- alpha – transparency channel.
- alfainverted – if True inverts alpha transparency.
- under – if True, place back as fore and fore as back.
- flag –
(experimental)
- Normally replace inverted transparency of alpha in back (N);
- superpose alpha in back (V).
- Bloat and replace inverted transparency of alpha in back;
- superpose bgr in back (V).
- Superpose inverted transparent COLOR of alpha in back.
- Superpose inverted transparent COLOR of alpha in back.
- Superpose transparent of alpha in back;
- superpose transparent COLOR of alpha in back.
- Superpose transparent of alpha in back;
- superpose transparent COLOR of alpha in back.
Returns: overlayed array
See also
-
RRtoolbox.lib.arrayops.basic.
padVH
(imgs, ypad=0, xpad=0, bgrcolor=None, alfa=None)[source]¶ Pad Vertically and Horizontally image or group of images into an array.
Parameters: - imgs – image to pad or list of horizontal images (i.e. piled up horizontally as [V1,..,VN] where each can be a list of vertical piling VN = [H1,..,HM]. It can be successive like horizontals, verticals, horizontals, etc.
- ypad – padding in axis y
- xpad – padding in axis x
- bgrcolor – color of spaces
- alfa – transparency of imgs over background of bgrcolor color.
Returns: visualization of paded and piled images in imgs.
-
RRtoolbox.lib.arrayops.basic.
pad_to_fit_H
(shape1, shape2, H)[source]¶ get boxPads to fit transformed shape1 in shape2.
Parameters: - shape1 – shape of array 1
- shape2 – shape of array 2
- H – transformation matrix to use in shape1
Returns: [(left,top),(right,bottom)]
-
RRtoolbox.lib.arrayops.basic.
points2mask
(pts, shape=None, astype=<type 'bool'>)[source]¶ Creates an array with the filled polygon formed by points.
Parameters: - pts – points.
- shape – (None) shape of array. If None it creates an array fitted to points.
- astype – (“bool”) numpy type
Returns: array.
Example:
pts = random_points([(-100, 100), (-100, 100)]) img = points2mask(pts) Plotim("filled",img).show()
-
RRtoolbox.lib.arrayops.basic.
points_generator
(shape=(10, 10), nopoints=None, convex=False, erratic=False, complete=False)[source]¶ generate points.
Parameters: - shape – enclosed frame (width, height)
- nopoints – number of points
- convex – if True make points convex, else points follow a circular pattern.
Returns:
-
RRtoolbox.lib.arrayops.basic.
polygonArea
(pts)¶ Area of points calculating polygon Area.
Parameters: pts – points. Returns: area value. - ..note::
- If polygon is incomplete (last is not first point) it completes the array.
- If the polygon crosses over itself the algorithm will fail.
- Based on http://www.mathopenref.com/coordpolygonarea.html
-
RRtoolbox.lib.arrayops.basic.
polygonArea_calcule
(pts)[source]¶ Area of points calculating polygon Area.
Parameters: pts – points. Returns: area value. - ..note::
- If polygon is incomplete (last is not first point) it completes the array.
- If the polygon crosses over itself the algorithm will fail.
- Based on http://www.mathopenref.com/coordpolygonarea.html
-
RRtoolbox.lib.arrayops.basic.
polygonArea_contour
(pts)[source]¶ Area of points using contours.
Parameters: pts – points. Returns: area value. ..note:: if polygon is incomplete (last is not first point) it completes the array.
-
RRtoolbox.lib.arrayops.basic.
polygonArea_fill
(pts)[source]¶ Area of points using filled polygon and pixel count.
Parameters: pts – points. Returns: area value. ..note:: if polygon is incomplete (last is not first point) it completes the array.
-
RRtoolbox.lib.arrayops.basic.
process_as_blocks
(arr, func, block_shape=(3, 3), mask=None, asWindows=False)[source]¶ process with function over an array using blocks (using re-striding).
Parameters: - arr – array to process
- func – function to feed blocks
- block_shape – (3,3) shape of blocks
- mask – (None) mask to process arr
- asWindows – (False) if True all blocks overlap each other to give a result for each position of arr, if False the results are given in blocks equivalent for each processed blocks of arr (faster).
Returns: processed array.
-
RRtoolbox.lib.arrayops.basic.
quadrant
(coorX, coorY, maxX, maxY, quadrant=0)[source]¶ Moves a point to a quadrant
Parameters: - coorX – point in x coordinate
- coorY – point in y coordinate
- maxX – max value in x axis
- maxY – max value in y axis
- quadrant – Cartesian quadrant, if 0 or False it leaves coorX and coorY unprocessed.
Returns:
-
RRtoolbox.lib.arrayops.basic.
random_points
(axes_range=((-50, 50), ), nopoints=4, complete=False)[source]¶ Get random points.
Parameters: - axes_range – [x_points_range, y_points_range] where points_range is (min,max) range in axis.
- nopoints – number of points.
- complete – last point is the first point (adds an additional point i.e. nopoints+1).
Returns: numpy array.
-
RRtoolbox.lib.arrayops.basic.
recursiveMap
(function, sequence)[source]¶ Iterate recursively over a structure using a function.
Parameters: - function – function to apply
- sequence – iterator
Returns:
-
RRtoolbox.lib.arrayops.basic.
relativeQuadrants
(points)[source]¶ Get quadrants of relative vectors obtained from points.
Parameters: points – array of points. Returns: quadrants.
-
RRtoolbox.lib.arrayops.basic.
relativeVectors
(pts, all=True)[source]¶ Form vectors from points.
Parameters: - pts – array of points [p0, ... ,(x,y)].
- all – (True) if True adds last vector from last and first point.
Returns: array of vectors [V0, ... , (V[n] = x[n+1]-x[n],y[n+1]-y[n])].
-
RRtoolbox.lib.arrayops.basic.
rescale
(arr, max=1, min=0)[source]¶ Rescales array values to range [min,max].
Parameters: - arr – array.
- max – maximum value in range.
- min – minimum value in range.
Returns: rescaled array.
-
RRtoolbox.lib.arrayops.basic.
separePointsByAxis
(pts, ptaxis=(1, 0), origin=(0, 0))[source]¶ Separate scattered points with respect to axis (splitting line).
Parameters: - pts – points to separate.
- ptaxis – point to form axis from origin
- origin – origin
Returns: left, right points from axis.
-
RRtoolbox.lib.arrayops.basic.
splitPoints
(pts, aslist=None)[source]¶ from points get x,y columns
Parameters: - pts – array of points
- aslist – True to return lists instead of arrays
Returns: x, y columns
example:
splitPoints((1,2)) >>> ([1], [2]) splitPoints([[[[(1,2),(1,2),(2,3)]]]]) >>> ([1, 1, 2], [2, 2, 3]) splitPoints(np.array([[[[(1,2),(1,2),(2,3)]]]])) >>> (array([1, 1, 2]), array([2, 2, 3])) splitPoints(np.array([[[[(1,2),(1,2),(2,3)]]]]), True) >>> ([1, 1, 2], [2, 2, 3]) splitPoints([(1,2,3,4,5),(1,2,3,4,5)]) # it is processed anyways >>> ([1, 2, 3, 4, 5], [1, 2, 3, 4, 5])
-
RRtoolbox.lib.arrayops.basic.
standarizePoints
(pts, aslist=False)[source]¶ converts points to a standard form :param pts: list or array of points :param aslist: True to return list instead of array :return: standard points
example:
standarizePoints((1,2)) >>> array([[1, 2]]) standarizePoints([[[[(1,2)]]]]) >>> array([[1, 2]]) standarizePoints([[[[(1,2),(1,2),(2,3)]]]],True) >>> [(1, 2), (1, 2), (2, 3)] standarizePoints([[[[(1,2,3),(1,2,3)]]]],True) >>> [(1, 2), (1, 2), (2, 3)] standarizePoints([(1,2,3,4,5),(1,2,3,4,5)],True) >>> [(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)]
-
RRtoolbox.lib.arrayops.basic.
superpose
(back, fore, H, foreMask=None, grow=True)[source]¶ Superpose foreground image to background image.
Parameters: - back – background image
- fore – foreground image
- H – transformation matrix of fore to overlay in back
- foreMask – (None) foreground alpha mask, None or function. foreMask values are from 1 for solid to 0 for transparency. If a function is provided the new back,fore parameters are provided to produce the foreMask. If None is provided as foreMask then it is equivalent to a foreMask with all values to 1 where fore is True.
- grow – If True, im can be bigger than back and is calculated according to how fore is superposed in back; if False im is of the same shape as back.
Returns: im, H_back, H_fore
-
RRtoolbox.lib.arrayops.basic.
transformPoint
(p, H)[source]¶ Transform individual x,y point with Transformation Matrix.
Parameters: - p – x,y point
- H – transformation matrix
Returns: transformed x,y point
-
RRtoolbox.lib.arrayops.basic.
transformPoints
(p, H)[source]¶ Transform x,y points in array with Transformation Matrix.
Parameters: - p – array of points
- H – transformation matrix
Returns: transformed array of x,y point
-
RRtoolbox.lib.arrayops.basic.
vectorsAngles
(pts, ptaxis=(1, 0), origin=(0, 0), dtype=None, deg=False, absolute=None)[source]¶ Angle of formed vectors in Cartesian plane with respect to formed axis vector.
- i.e. angle between vector “Vn” (formed by point “Pn” and the “origin”)
- and vector “Vaxis” formed by “ptaxis” and the “origin”.
where pts-origin = (P0-origin ... Pn-origin) = V0 ... Vn
Parameters: - pts – points to form vectors from origin
- ptaxis – point to form axis from origin
- origin – origin
- dtype – return array of type supported by numpy.
- deg – if True angle is in Degrees, else radians.
- absolute – if None returns angles (0 yo 180(pi)) between pts-origin (V0 .. Vn) and Vaxis. if True returns any Vn absolute angle (0 to 360(2pi)) from Vaxis as axis to Vn. if False returns any Vn angle (0 to 180 or 0 to -180) from Vaxis as axis to Vn, where any Vn angle is positive or negative if counter-clock or clock wise from Vaxis.
Returns:
-
RRtoolbox.lib.arrayops.basic.
vectorsQuadrants
(vecs)[source]¶ Get quadrants of vectors.
Parameters: vecs – array of vectors. Returns: quadrants.
-
RRtoolbox.lib.arrayops.basic.
vertexesAngles
(pts, dtype=None, deg=False)[source]¶ Relative angle of vectors formed by vertexes (where vectors cross).
- i.e. angle between vectors “v01” formed by points “p0-p1” and “v12”
- formed by points “p1-p2” where “p1” is seen as a vertex (where vectors cross).
Parameters: - pts – points seen as vertexes (vectors are recreated from point to point).
- dtype – return array of type supported by numpy.
- deg – if True angle is in Degrees, else radians.
Returns: angles.
-
RRtoolbox.lib.arrayops.basic.
view_as_blocks
(arr_in, block_shape=(3, 3))[source]¶ Provide a 2D block_shape view to 2D array. No error checking made. Therefore meaningful (as implemented) only for blocks strictly compatible with the shape of arr_in.
Parameters: - arr_in –
- block_shape –
Returns:
-
RRtoolbox.lib.arrayops.basic.
view_as_windows
(arr_in, window_shape, step=1)[source]¶ Provide a 2D block_shape rolling view to 2D array. No error checking made. Therefore meaningful (as implemented) only for blocks strictly compatible with the shape of arr_in.
Parameters: - arr_in –
- window_shape –
- step –
Returns:
RRtoolbox.lib.arrayops.convert module¶
This module unlike common and basic array operations classifies just the from-to-conversions methods
-
class
RRtoolbox.lib.arrayops.convert.
SimKeyPoint
(*args)[source]¶ Bases:
future.types.newobject.newobject
Simulates opencv keypoint (it allows manipulation, conversion and serialization of keypoints).
Note
Used for conversions and data persistence.
-
RRtoolbox.lib.arrayops.convert.
apply2kp_pairs
(kp_pairs, kp1_rel, kp2_rel, func=None)[source]¶ Apply to kp_pairs.
Parameters: - kp_pairs – list of (kp1,kp2) pairs
- kp1_rel – x,y relation or function to apply to kp1
- kp2_rel – x,y relation or function to apply to kp2
- func – function to build new copy of keypoint
Returns: transformed kp_pairs
-
RRtoolbox.lib.arrayops.convert.
cnt2pts
(contours)¶ Convert contours to points. (cnt2pts)
Parameters: contours – array of contours (cnt) ([[x,y]] only for openCV) Returns: Example:
contours = np.array([[[0, 0]], [[1, 0]]]) # contours points = contour2points(contours) print points # np.array([[0, 0], [1, 0]])
-
RRtoolbox.lib.arrayops.convert.
contour2points
(contours)[source]¶ Convert contours to points. (cnt2pts)
Parameters: contours – array of contours (cnt) ([[x,y]] only for openCV) Returns: Example:
contours = np.array([[[0, 0]], [[1, 0]]]) # contours points = contour2points(contours) print points # np.array([[0, 0], [1, 0]])
-
RRtoolbox.lib.arrayops.convert.
conv3H4H
(M)[source]¶ Convert a 3D transformation matrix (TM) to 4D TM.
Parameters: M – Matrix Returns: 4D Matrix
-
RRtoolbox.lib.arrayops.convert.
dict2keyPoint
(d, func=<built-in function KeyPoint>)[source]¶ KeyPoint([x, y, _size[, _angle[, _response[, _octave[, _class_id]]]]]) -> <KeyPoint object>
-
RRtoolbox.lib.arrayops.convert.
getSOpointRelation
(source_shape, destine_shape, asMatrix=False)[source]¶ Return parameters to change scaled point to original point.
# destine_domain = relation*source_domainParameters: - source_shape – image shape for source domain
- destine_shape – image shape for destine domain
- asMatrix – if true returns a Transformation Matrix H
Returns: x, y coordinate relations or H if asMatrix is True
Note
Used to get relations to convert scaled points to original points of an Image.
-
RRtoolbox.lib.arrayops.convert.
invertH
(H)[source]¶ Invert Transformation Matrix.
Parameters: H – Returns:
-
RRtoolbox.lib.arrayops.convert.
keyPoint2tuple
(keypoint)[source]¶ obj.angle, obj.class_id, obj.octave, obj.pt, obj.response, obj.size
-
RRtoolbox.lib.arrayops.convert.
points2contour
(points)[source]¶ Convert points to contours. (pts2cnt)
Parameters: points – array of points ([x,y] for openCV, [y,x] for numpy) Returns: Example:
points = np.array([[0, 0], [1, 0]]) # points contours = points2contour(points) print contours # np.array([[[0, 0]], [[1, 0]]])
-
RRtoolbox.lib.arrayops.convert.
points2vectos
(pts, origin=None)[source]¶ Convert points to vectors with respect to origin.
Parameters: - pts – array of points.
- origin – point of origin.
Returns: vectors.
-
RRtoolbox.lib.arrayops.convert.
pts2cnt
(points)¶ Convert points to contours. (pts2cnt)
Parameters: points – array of points ([x,y] for openCV, [y,x] for numpy) Returns: Example:
points = np.array([[0, 0], [1, 0]]) # points contours = points2contour(points) print contours # np.array([[[0, 0]], [[1, 0]]])
-
RRtoolbox.lib.arrayops.convert.
sh2oh
(sH, osrc_sh, sscr_sh, odst_sh, sdst_sh)[source]¶ Convert scaled transformation matrix (sH) to original (oH).
Parameters: - sH – scaled transformation matrix
- osrc_sh – original source’s shape
- sscr_sh – scaled source’s shape
- odst_sh – original destine’s shape
- sdst_sh – scaled destine’s shape
Returns:
-
RRtoolbox.lib.arrayops.convert.
spairs2opairs
(kp_pairs, osrc_sh, sscr_sh, odst_sh, sdst_sh, func=None)[source]¶ Convert scaled kp_pairs to original kp_pairs.
Parameters: - kp_pairs – list of kp_pairs
- osrc_sh – original source’s shape
- sscr_sh – scaled source’s shape
- odst_sh – original destine’s shape
- sdst_sh – scaled destine’s shape
- func – function to build new copy of keypoint
Returns:
-
RRtoolbox.lib.arrayops.convert.
spoint2opointfunc
(source_shape, destine_shape)[source]¶ Return function with parameters to change scaled point to original point.
Parameters: - source_shape –
- destine_shape – shape of
Returns: Example:
forefunc = scaled2realfunc(imgf.shape,bgr.shape) backfunc = scaled2realfunc(imgb.shape,back.shape) p1fore = np.array([forefunc(i) for i in p1]) p2back = np.array([backfunc(i) for i in p2])
-
RRtoolbox.lib.arrayops.convert.
toTupple
(obj)[source]¶ Converts recursively to tuple
Parameters: obj – numpy array, list structure, iterators, etc. Returns: tuple representation obj.
-
RRtoolbox.lib.arrayops.convert.
translateQuadrants
(quadrants, quadrantmap={(0, 1): 'up', (-1, 1): 'left-up', (0, 0): 'origin', (-1, 0): 'left', (-1, -1): 'left-down', (0, -1): 'down', (1, 0): 'right', (1, -1): 'right-down', (1, 1): 'right-up'})[source]¶ Convert quadrants into human readable data.
Parameters: - quadrants – array of quadrants.
- quadrantmap –
dictionary map to translate quadrants. it is of the form:
{(0,0):"origin",(1,0):"right",(1,1):"top-right",(0,1):"top",(-1,1):"top-left",
(-1,0):”left”,(-1,-1):”bottom-left”,(0,-1):”bottom”,(1,-1):”bottom-right”}
Returns: list of translated quadrants.
RRtoolbox.lib.arrayops.filters module¶
This module contains custom 1D adn 2D-array filters and pre-processing (as in filtering phase) methods
-
class
RRtoolbox.lib.arrayops.filters.
Bandpass
(alpha, beta1, beta2)[source]¶ Bases:
RRtoolbox.lib.arrayops.filters.FilterBase
Bandpass filter (recommended to use float types)
-
class
RRtoolbox.lib.arrayops.filters.
Bandstop
(alpha, beta1, beta2)[source]¶ Bases:
RRtoolbox.lib.arrayops.filters.FilterBase
Bandstop filter (recommended to use float types)
-
class
RRtoolbox.lib.arrayops.filters.
BilateraParameter
(scale, shift=33, name=None, alpha=100, beta1=-400, beta2=200)[source]¶ Bases:
RRtoolbox.lib.arrayops.filters.Bandstop
bilateral parameter
-
class
RRtoolbox.lib.arrayops.filters.
BilateralParameters
(d=None, sigmaColor=None, sigmaSpace=None)[source]¶ Bases:
future.types.newobject.newobject
create instance to calculate bilateral parameters from image shape.
- d -> inf then:
- computation is slower
- filtering is better to eliminate noise
- images look more cartoon-like
Parameters: - d – distance
- sigmaColor – sigma in color
- sigmaSpace – sigma in space
-
d
= <RRtoolbox.lib.arrayops.filters.BilateraParameter object>¶
-
filters
¶ list of filters
-
sigmaColor
= <RRtoolbox.lib.arrayops.filters.BilateraParameter object>¶
-
sigmaSpace
= <RRtoolbox.lib.arrayops.filters.BilateraParameter object>¶
-
class
RRtoolbox.lib.arrayops.filters.
FilterBase
(alpha=None, beta1=None, beta2=None)[source]¶ Bases:
future.types.newobject.newobject
base filter to create custom filters
-
alpha
¶
-
beta1
¶
-
beta2
¶
-
-
class
RRtoolbox.lib.arrayops.filters.
Highpass
(alpha, beta1)[source]¶ Bases:
RRtoolbox.lib.arrayops.filters.FilterBase
Highpass filter (recommended to use float types)
-
class
RRtoolbox.lib.arrayops.filters.
InvertedBandpass
(alpha, beta1, beta2)[source]¶ Bases:
RRtoolbox.lib.arrayops.filters.Bandpass
inverted Bandpass filter (recommended to use float types)
-
class
RRtoolbox.lib.arrayops.filters.
InvertedBandstop
(alpha, beta1, beta2)[source]¶ Bases:
RRtoolbox.lib.arrayops.filters.Bandstop
inverted Bandstop filter (recommended to use float types)
-
class
RRtoolbox.lib.arrayops.filters.
Lowpass
(alpha, beta1)[source]¶ Bases:
RRtoolbox.lib.arrayops.filters.FilterBase
Lowpass filter (recommended to use float types)
-
RRtoolbox.lib.arrayops.filters.
bilateralFilter
(im, d, sigmaColor, sigmaSpace)[source]¶ Apply bilateral Filter.
Parameters: - im –
- d –
- sigmaColor –
- sigmaSpace –
Returns: filtered image
-
RRtoolbox.lib.arrayops.filters.
filterFactory
(alpha, beta1, beta2=None)[source]¶ Make filter.
Parameters: - alpha – steepness of filter
- beta1 – first shift from origin
- beta2 –
second shift from origin:
alpha must be != 0 if beta2 = None:
if alpha > 0: high-pass filter, if alpha < 0: low-pass filter- else:
- if beta2 > beta1:
- if alpha > 0: band-pass filter, if alpha < 0: band-stop filter
- else:
- if alpha > 0: inverted-band-pass filter, if alpha < 0: inverted-band-stop filter
Returns: filter funtion with intup levels
Example:
alpha,beta1,beta2 = 10,20,100 myfilter = filter(alpha,beta1,beta2) print myfilter,type(myfilter) print myfilter.alpha,myfilter.beta1,myfilter.beta2
-
RRtoolbox.lib.arrayops.filters.
getBilateralParameters
(shape=None, mode=None)[source]¶ Calculate from shape bilateral parameters.
Parameters: - shape – image shape. if None it returns the instace to use with shapes.
- mode – “mild”, “heavy” or “normal” to process noise
Returns: instance or parameters
-
RRtoolbox.lib.arrayops.filters.
normsigmoid
(x, alpha, beta)[source]¶ Apply normalized sigmoid filter.
Parameters: - x – data to apply filter
- alpha – if alpha > 0: pass high filter, if alpha < 0: pass low filter, alpha must be != 0
- beta – shift from origin
Returns: filtered values normalized to range [-1 if x<0, 1 if x>=0]
-
RRtoolbox.lib.arrayops.filters.
sigmoid
(x, alpha, beta, max=255, min=0)[source]¶ Apply sigmoid filter.
Parameters: - x – data to apply filter
- alpha – if alpha > 0: pass high filter, if alpha < 0: pass low filter, alpha must be != 0
- beta – shift from origin
- max – maximum output value
- min – minimum output value
Returns: filtered values ranging as [min,max]
-
RRtoolbox.lib.arrayops.filters.
smooth
(x, window_len=11, window='hanning', correct=False)[source]¶ Smooth the data using a window with requested size.
This method is based on the convolution of a scaled window with the signal. The signal is prepared by introducing reflected copies of the signal (with the window size) in both ends so that transient parts are minimized in the beginning and end part of the output signal.
- input:
x: the input signal window_len: the dimension of the smoothing window; should be an odd integer window: the type of window from ‘flat’, ‘hanning’, ‘hamming’, ‘bartlett’, ‘blackman’
flat window will produce a moving average smoothing.- output:
- the smoothed signal
Example:
t=linspace(-2,2,0.1) x=sin(t)+randn(len(t))*0.1 y=smooth(x)
See also
numpy.hanning, numpy.hamming, numpy.bartlett, numpy.blackman, numpy.convolve, scipy.signal.lfilter
Note
length(output) != length(input), to correct this: return y[(window_len/2-1):-(window_len/2)] instead of just y.
RRtoolbox.lib.arrayops.mask module¶
This module contains all basic masking and pre-processing (as in segmenting phase) methods
-
RRtoolbox.lib.arrayops.mask.
background
(gray, mask=None, iterations=3)[source]¶ get the background mask of a gray image. (this it the inverted of
foreground()
)Parameters: - gray – gray image
- mask – (None) input mask to process gray
- iterations – (3) number of iterations to detect background with otsu threshold.
Returns: output mask
-
RRtoolbox.lib.arrayops.mask.
biggestCnt
(contours)[source]¶ Filters contours to get biggest contour.
Parameters: contours – Returns: cnt
-
RRtoolbox.lib.arrayops.mask.
biggestCntData
(contours)[source]¶ Gets index and area of biggest contour.
Parameters: contours – Returns: index, area
-
RRtoolbox.lib.arrayops.mask.
brightness
(img)[source]¶ get brightness from an image :param img: BGR or gray image :return:
-
RRtoolbox.lib.arrayops.mask.
cnt_hist
(gray)[source]¶ Mask of a ellipse enclosing retina using histogram threshold.
Parameters: - gray – gray image
- invert – invert mask
Returns: mask
-
RRtoolbox.lib.arrayops.mask.
foreground
(gray, mask=None, iterations=3)[source]¶ get the foreground mask of a gray image. (this it the inverted of
background()
)Parameters: - gray – gray image
- mask – (None) input mask to process gray
- iterations – (3) number of iterations to detect foreground with otsu threshold.
Returns: output mask
-
RRtoolbox.lib.arrayops.mask.
gethull
(contours)[source]¶ Get convex hull.
Parameters: contours – contours or mask array Returns: cnt
-
RRtoolbox.lib.arrayops.mask.
hist_cdf
(img, window_len=0, window='hanning')[source]¶ Get image histogram and the normalized cumulative distribution function.
Parameters: - img – imaeg
- window_len –
- window –
Returns: histogram (int), normalized cdf (float)
-
RRtoolbox.lib.arrayops.mask.
mask_watershed
(BGR, GRAY=None)[source]¶ Get retinal mask with watershed method.
Parameters: - BGR –
- GRAY –
Returns: mask
-
RRtoolbox.lib.arrayops.mask.
multiple_otsu
(gray, mask=None, flag=0L, iterations=1)[source]¶ get the mask of a gray image applying Otsu threshold.
Parameters: - gray – gray image
- mask – (None) input mask to process gray
- iterations –
- number of iterations to detect Otsu threshold.
Returns: thresh, mask
-
RRtoolbox.lib.arrayops.mask.
thresh_biggestCnt
(thresh)[source]¶ From threshold obtain biggest contour.
Parameters: thresh – binary image Returns: cnt


Laura Anne Whitley co-produces "Lez Stand Up: The Open Mic" and is the author of "Fire Cock With Me," a collection of gay Twin Peaks erotic fan fic. If you see her out in public, but her an Old Crow on the rocks and tell her if she has anything stuck to her jeggings.
This is the closest I'm ever gonna get to having Curtis Cook on Lez Stand Up and like, I'm into it. Don't miss the second week of this AWESOME show!
Info


| About Dailyrotten |
|
Feedback
If you like this page, hate it, or would like to suggest changes,
<EMAIL_ADDRESS>is listening. This page
is experimental and somewhat different from what we usually offer, so please
do send your feedback.
Adding Stories
If you are a rotten newshound and you would like to suggest a story,
visit our submit page to
send us the URL. Stories that are accepted will have your name credited.
Posting Comments
In order to post comments to stories, you will have to
create an account.
Accounts will generally be validated within 24 hours, and of
course will be disabled if there is abuse.
Viewership
On the first full day this page went live, 100,000 people visited this Rotten
News page. Of course that was the day after the WTC attacks, so that number is
somewhat distorted. Right now this page gets between 50,000 and 75,000 people
every day.
Linking
We encourage everyone to link to this page; if you like it, others probably
will as well.
Other Rotten
Rotten
Gaping Maw
Celebrity Morgue
Mugshots
Rotten Store
Rate My Poo
Rate My Kitten
Rate My Finger
Penny Postcards
Phallic
Boners
Home
Make Dailyrotten your start page
|
|
|
September 23, 2002
Let my piggies go
ABC TV affiliates | Submitted by: La Rue
"An animal rights activist dressed as Jesus was arrested during a protest
at a church pig roast in suburban Philadelphia on Saturday, police said...
"God designed pigs to play with one another, root around in the soil, forage
for food, and enjoy God's glory," wrote Bruce G. Friedrich in a letter that
was sent to the Rev. David McMillan, pastor of Hibernia UMC."
|
|
Read article...
|
|
Higher suicide rates under Conservatives
Nature | Submitted by: Meerkat
Researchers in Australia and Britain claim suicide rates soar when
conservative governments are in power. "The results are unsurprising, says
Cary Cooper, a psychologist at the University of Manchester Institute of
Science and Technology, UK. Poorer social support and higher job insecurity
may drive more to suicide under conservative regimes, he says."
|
|
Read article...
|
|
UK exports nuke weapons material to Iran
BBC | Submitted by: Reading
This is just too unbelievable. Does this mean that the US will be bombing
Downing Street next? "British officials have approved the export of key
components needed to make nuclear weapons to Iran and other countries known
to be developing such weapons... Iranian procurement agents have been working
in the UK to get sensitive material back to Iran, and that Pakistan has also
been successful in procuring material for its nuclear programme from here."
|
|
Read article...
|
|
Witch hunt for Loch Ness Monster
The Scotsman | Submitted by: anonymous
"Yes, I believe it is a spook, a ghost, rather than a solid creature. I
will try to raise the creature of Nessie by the power of positive thought,"
he explained. Mr Carlyon, the High Priest of British White Witches, may
have to undo his own work. Earlier this year, he travelled to Loch Ness to
bless the creature to protect it from hunters, particularly a Swedish
team who set out to trap Nessie in a giant trap."
|
|
Read article...
|
|
Bloody aborted fetuses cause appetite loss
Minnesota Daily | Submitted by: The Great American Pickle
A protest group has put pictures of bloody aborted fetuses on display at Northrop Mall. A nearby grill is not doing a booming business:
"It hurts us. People come up to me and say, "You know me. I'm starvin’ like
Marvin by the time I get here. But today I don’t have any appetite."
|
|
Read article...
|
|
Union busting, mob-style
Village Voice | Submitted by: Son of Benway
"The prized informant also performed another significant public service:
capturing on tape a virtual how-to guide for getting rid of legitimate unions,
along with detailed descriptions of the high profitability of such exercises.
These kinds of things are rarely spoken of openly and, by necessity, are
never written down. But the Durso tapes, entered into evidence by the
prosecution, provide a rare glimpse into the shady maneuvers that have plagued
scores of New York union shops in recent years, as well as a snapshot of the
crafty players who practice them."
|
|
Read article...
|
|
Skull and Bones exposed
Today Show | Submitted by: Meerkat
Woman reporter and member of Skull and Bones writes revealing book about the
secret society. Skull and Bones is pissed off: "Yale’s super-elite Skull and
Bones, a 200-year-old organization whose roster is stocked with some of the
country’s most prominent families: Bush, Harriman, Phelps, Rockefeller, Taft,
and Whitney... This tiny club has set up networks that have thrust three
members into the most powerful political position in the world."
|
|
Read article...
|
|
Kenneth Starr, tattoo defender
Law.com | Submitted by: Son of Benway
"The ancient art of tattoo has evolved from the domain of early Egyptian
tribes to the minivans and soccer moms of today," Starr writes. "Art deserves
protection as art." Starr states that the South Carolina decision is
inexplicable "in a society that protects liquor advertising and pornography."
Since the ban infringes on the expression of both the tattooist and the person
wearing the tattoo, Supreme Court review is especially needed, Starr asserts."
|
|
Read article...
|
|
More poop art
Tiscali World Online | Submitted by: Son of Benway
"He painted the words on a special canvas made from, what else, elephant
dung. "It's a very easy medium to work with. It sticks easily on the paper
and has a nice texture," Boonthueng said in an interview at a gallery
that showed his paintings of Thai and American countryside... "I am kind of
intrigued by how he uses elephant dung as a medium," said Cheng Zu, a
leading Bangkok-based critic."
|
|
Read article...
|
|
Mercy suicide poorly planned
Hindustan Times | Submitted by: Son of Benway
"Kumar, posted as personal security officer to Minister of State for
Commerce and Industry, leapt to his death before a moving train near Kishan
Ganj railway station last Tuesday. Family sources say he had been disturbed
about the congenital blindness of his brother-in-law's son Ashish... Though
the body was found at 8 pm and the next-of-kin informed within forty
minutes, doctors performing autopsy declared Kumar's eyes as unfit for
transplant a full 16 hours later."
|
|
Read article...
|
|
Four hour super boner
USA Today | Submitted by: Isaac's Nut Sac
"An increasing number of American youths who use the club drug Ecstasy are
mixing it with the anti-impotence drug Viagra, leading drug-abuse specialists
to warn about the health risks of a combination that users say fuels all-night
dancing and marathon sex."
|
|
Read article...
|
|
Little asteroids can also be bad
Time | Submitted by: Crazy Quagga
We're trying to track the huge asteroids that are planet destroying. But
nobody is trying to track the small ones that could also be highly disruptive:
"As recently as 1996, an asteroid exploded over Greenland with the equivalent
of a 100 kiloton blast. Had either of these intruders from space met their
demise over, say, London or New York, hundreds of thousands might have
perished."
|
|
Read article...
|
|
Update: sound of silence costs $XXX,XXX
CNN | Submitted by: Son of Benway
The irony of course is that both of the artists think they are being clever:
"British composer Mike Batt found himself the subject of a plagiarism
action for including the song, 'A One Minute Silence,' on an album for his
classical rock band The Planets. He was accused of copying it from a work
by the late American composer John Cage, whose 1952 composition '4'33"'
was totally silent. On Monday, Batt settled the matter out of court by
paying an undisclosed six-figure sum to the John Cage Trust." Mike Batt
claims, "Mine is a much better silent piece. I have been able to say in one
minute what Cage could only say in four minutes and 33 seconds."
|
|
Read article...
|
|
Fat, lazy Miss Universe sacked
Independent Online | Submitted by: Son of Benway
"Russian Oxana Federova has been stripped of her title because she
refused to fulfil the obligations of the title... Federova was sacked in
a letter which said: "Your continuing refusal to perform your duties as
a Miss Universe titleholder has, and will, cost the Miss Universe Organisation
hundreds of thousands of dollars while gravely affecting our reputation."
|
|
Read article...
|
|
Take your dipshit organization to court day
Newsday | Submitted by: f00f
"While Friday has been officially declared, 'Take Your Cat to Work Day,'
by the North Shore Animal League of America, a group of professional pet
sitters called, 'Pet Sitters International' isn't pussyfooting around.
Thursday, PSI filed a federal copyright infringement lawsuit in Manhattan
Federal Court charging that North Shore stole their idea."
|
|
Read article...
|
|
Woman falls for Nigeria scam, $2M lost
Detroit Free Press | Submitted by: magpie
"The FBI said Poet, a bookkeeper for a small Berkley law firm, embezzled $2.1
million from the firm's accounts between February and August, after scam
organizers persuaded her to wire huge amounts of money to bank accounts in
South Africa and Taiwan to expedite the transfer of money to the United States."
|
|
Read article...
|
|
|
|
|