THE QUICK AND THE DEAD A film review by Ben Hoffman Copyright 1995 Ben Hoffman
You probably will not believe it but besides BASIC INSTINCT which brought her instant fame, Sharon Stone has appeared in twenty-one other films. That includes a quickie moment in Woody Allen's STARDUST MEMORIES when he catches a glimpse of her on a passing train. THE QUICK AND THE DEAD was supposed to make us forget the films that went nowhere but this one will not do it.
From the opening scene of a cowboy on his horse approaching us at top speed across the range, there was a noticeable giggle in the audience. Everyone, it seems, guessed it was our first glimpse of Ellen (Sharon Stone) and for some reason it looked funny. It just was not the Sharon Stone we have come to know and love.
The remainder of the film has nothing to add. It is a typical Western. Instead of a dusty cowboy seeking revenge on some bad guy (Gene Hackman, in this case), it is a woman who is out to get him for his role in having her father, a Marshall, killed when Ellen was just about ten years old.
There are plenty of tough hombres in the town of Redemption which Herod (Hackman) runs with the help of his cronies. To reduce the number, each year he stages a shooting contest, with the winner (he who remains alive) getting a large cash prize. As Herod is the fastest draw in town, guess who always wins? And guess who hates him for that: his son, "Kid," (Leonardo DiCaprio) who gets no respect from his old man.
This year there is a slight change in the :hootout; a woman is going to participate and, as the rules never said a woman could not be in the contest, Ellen is allowed in. Ah, revenge!
As acting goes, there is not very much in the film to challenge anyone. Sharon never cracks a smile, Hackman never stops his sneering smile, DiCaprio has little to do. The story is not supposed to be taken seriously (said Director Raimi) and you can bet that no one will.
Others in the cast include Russell Crowe who used to be in Herod's gang but decided he would rather be on the side of God. Then there are gunfighters played by Lance Henriksen, Keith David, Tobin Bell and Jonathan Gill.
Directed by Sam Raimi.
1.5 bytes 4 Bytes = Absolutely must see. 3 Bytes = Too good to be missed. 2 Bytes = So so. 1 Byte = Save your money.
Ben Hoffman
.
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


Sorry! Your browser doesn't support Javascript
Spring Boot File Upload / Download Rest API Example
Upload Single File
Submit
Upload Multiple Files
Submit


--- layout: post title: Wi-fi date: 2007-02-09 00:00:00 categories: business mobile ---
Something occurred to me in mid-conversation yesterday: have you ever been to a tech conference where the Wi-fi was well-spread, offered sufficient bandwidth, and worked solidly throughout the whole event?
Me neither. If we have such trouble doing it for a limited, tech-savvy audience in a limited area for a limited time, what does that suggest regarding the "Wi-fi is going to kill telcos" meme?


| Requirements | CodePen | JSFiddle | Plnkr |
|---|---|---|---|
| editable (required) | We can edite code in pen only on PRO version. This is most important feature, so we need PRO version with this app anyway | ||
| embedded editor with code highlighting (required) | |||
| able to switch between files (required) | |||
| displays JS console (required) | JS Console will be able only in PRO version | ||
| any of the above panes can be make hidden (required) | I found that you can hide tab. But for really hidden you need PRO versions and "Project" feature | ||
| any of the above panes can be resized/closed/opened on demand (required) | You can do it with feature "Projects" in PRO version | ||
| library imports (required) | |||
| full theme customization (required) | Full customization theme only in PRO version | ||
| dynamic pen creation (required) | ? but we can use it for optimization | ||
| prices and price models (consider) | Here you can see all prices (8$, 12$, 26$ / month) | ||
| supports TypeScript (bonus) | You can choose TypeScript here | You can choose TypeScript here | |
| code autolinting (bonus)) | There are buttons "analyze" in each tab. Here is example | ||
| code autocompletion (bonus) | Autocomplete in Editor Options and Emmet settings. Here is example | ||
| easy library imports (bonus) | It is pretty easy here | It is pretty easy here |
See the Pen Cody by Brett Stevens (@brettmstevens) on CodePen.


 My real name is Neal and I am making this website for a tech class at Summit preparatory high school.I love video games, sports, and having friends.Many students including myself want to learn more about technology and the advances it is making. We are all going to be able to code in multiple languages ,create computer AI,and develop our own video game by the end of this year.If you would like to know about what I have learned this year,clink on a link in the navigation bar.
- Languages I know
- HTML
- Css
- What I hope to learn
- How to make a flash game
- How to make a robot dance
- Click on links too see more!
| Welcome |
| About Neal |
| What is HTML and Css? |
| What's in a computer? |
| Want a calculator?! |
| Play my game! |
| Vindinium?! |


"WORKS", COVENANT OF entered into by God with Adam as the representative of the human race (comp. Genesis 9:11, 12; 17:1-21), so styled because perfect obedience was its condition, thus distinguishing it from the covenant of grace. (See COVENANT OF WORKS.)
"WORKS", COVENANT OF entered into by God with Adam as the representative of the human race (comp. Genesis 9:11, 12; 17:1-21), so styled because perfect obedience was its condition, thus distinguishing it from the covenant of grace. (See COVENANT OF WORKS.)


Terminology¶
In order to more precisely communicate the models used throughout this book, we will begin with a short introduction to the terminology we use. As a balloon is a type of aircraft, we will bias towards terminology used in the aviation field. Additionally, as our simulation is highly dependent on meterology, we will utilize terminology from there.
Coordinate Systems¶
In order to specify a location, it must be related to a datum - a refrence point in defining the geometry of an object. There are a large number of geodetic datums used for measuring locations on Earth. In this library, unless otherwise specified, coordinates will be relative to WGS84, the standard used by GPS.
Vertical Distance¶
Since the vertical distance above some reference point (for example, the ground) is such a critical measurement for aircraft there is, of course, a wide array of jargon used. For clarity, we will use the following definitions offered by the International Civil Aviation Organization (ICAO):
Height: the vertical distance of an object, measured from a specific datum.
Altitude: the vertical distance of an object, measured from the mean sea level (MSL).
Elevation: the vertical distance of Earth’s surface, measured from MSL. The Earth’s “elevation”.
A note on sea level¶
Mean sea level is itself a bit of a misnomer. It used to be measured as the mean between low-tide and high-tide for a particular location, which varies as you travel about. It’s also rather hard to measure in some places (like the middle of the ocean). Nowadays, we tend to define mean sea level as the surface that would exist if the oceans were at rest, unaffected by wind, currents and moon and interconnected by canals across continental land masses. A surface of equipotential, also known as the geoid.
In this library, unless otherwise specified, we will use EGM84 - a part of WGS84 - as our vertical datum.
Geometric vs geopotential height¶
To make matters more confusing, not all vertical coordinates are actually based on length. It is commonly useful to refer to calculate altitudes from the geopotential at that location. Geopotential numbers have units \(\frac{m^2}{s^2}\), which can then be normalized by dividing by a constant nominal value of gravity with units \(\frac{m}{s^2}\), producing a value in meters. When normalizing by standard gravity, this value is referred to as geopotential height.
Ways to measure altitude¶
Pressure altitude
Most GPS receivers report altitude as geometric height above the geoid as their vertical datum, and also report the geoidal separation from the ellipsoid.


The Shamrocks
University of Houston-Clear Lake, TX
Team Info
We're a team of MBA students at University of Houston-Clear Lake and one of our team tasks for our class, MGMT 5133- Teamwork and Leadership Skills, is to create a team website.
Team CharterTeam Mascot
We chose the Lucky Charms guy as our team mascot
Leadership Quotes
“Luck is what happens when preparation meets opportunity.” - Seneca


Introduction and Motivation
The impact of extremely rare and almost completely unexpected events (called “Black Swans”) is often underestimated, and plans to mitigate or repair their damage upon public infrastructure are often outdated or even non-existent. In many instances where catastrophes cause unprecedented damage to lives and property, it is often realized after the fact that most decision-makers did not even consider the possibility of such an event happening. The impact of these events is magnified due to the completely unprepared nature of its victims. One case in point is the 2004 Indian Ocean Tsunami which had a death toll of almost 240,000. Previous such events in the same region were in 1883 and 1400 and these had catastrophic casualties as well. The vast majority of people as well as decision-makers in some heavily-hit regions did not even know that tsunamis were a thing, let alone advocate preparative measures for one.
Policy discussions, decision-making, regulations and preparedness measures against disasters often center around:
- Individual buildings: Building codes, strengthened materials, better structural design, evacuation drills
- Intra-city first response: Removing encroachments on critical roads, funding for local first responders.
- Prediction: Tsunami warning systems, better weather satellites, weather prediction models.
However, when the public recovery infrastructure of an entire city is put out of action, which is often the case with extremely powerful disasters, help has to arrive from outside. This cannot happen in volume if the city is disconnected from all inter-city transportation networks.
Our project makes a post-facto study of the impact that such disasters can have on road connectivity by building road network graphs from datasets and running Monte-Carlo simulations to measure the vulnerability of each city to being unreachable in the aftermath of a disaster.
Related Work
Wisetjindawat et. al. perform a thorough study of the aftermath of the 2011 East Japan Earthquake in terms of its impact on water, gas, electricity and roads. Their focus is on building logistical plans for distributing food, water and medicines, as well as supporting the civilian population in temporary shelters until recovery. They attempt to estimate how many trucks, drivers, the quantity of fuel and the number of operational hours required to restore normalcy in the aftermath of the disaster. They compare the existing response plan with their proposed plan which they obtain by setting up an optimization problem. However, their road network analysis is primarily deterministic in nature and their focus is on response planning rather than vulnerability estimation. This paper provides the main inspiration for much of the disaster and damage modeling that we do in our work.
Datasets
SimpleMaps US Cities Dataset
This provides a list of cities in the US along with their latitude, longitude and population. A more advanced paid version also provides demographic information, income distribution, etc. However, geocoordinage and the population is enough for our project.
California Road Network
This dataset was prepared by dividing the inter-city road network of California into segments that are upto 10 km long and creating a graph out of the result. It provides us the latitude and longitudes of the endpoints of each segment.
Building the graph
We first had to merge the above two datasets and produce an inter-city road
graph.
We also required three different facets or views of the graph for the rest of our system.
-
Tile View
Our goal is to generate a tiled map of California along with the set of road segments each tile contains. We generate this view by first drawing uniformly dividing California into 1km x 1km tiles. After that, we create a representation of the set of all tiles and store:
- The latitude and longitude of the center of the tile
- A set of Node IDs and Edge IDs of the road segments located within the tile.
An obvious, but clever optimization that we did was to not store any information about tiles that do not contain any roads, bringing down the number of tiles by 96%.
-
Segment View
Here, we wish to construct a graph where the nodes are endpoints of road segments, and the edges are the segments themselves. The node attributes are Latitude, Longitude, Node ID while the edge attributes are Start node ID, end node ID and edge ID.
This can be formed by just reading the California road network dataset without any major pre-processing steps.
-
Settlement View
For this view, we wish to construct a graph representation of the inter-city transportation network. This requires merging information from the Settlement dataset with the road dataset.
Each node v in this view contains:
- A unique id: This identifies the settlement.
- Access roads: A set of nodes from V_seg that are within some geographical radius R of v.
- Latitude and longitude of the settlement’s center.
- Other information such as city name, population etc.
Each edge (u, v) in this view represents a road directly connecting u to v without going through any other settlement. As useful auxiliary information, we store the IDs of the road segments that make up this road.
We construct this view by starting with the Segment view and following the below algorithm:
- Attach all segment nodes within a 2km radius of each city to that city.
- Recursively merge pairs of road nodes A and B if B has a degree <= 2. This eliminates irrelevant nodes and reduces the number of nodes from 18668 to 2276.
- For each settlement, find out whether there is a direct link to another settlement through the reduced set of road nodes. If so, the settlements are directly connected.
We distributed the computation required across 5 machines and it took 3 hours to build the above graph. We obtained a graph with 1505 cities and 6522 direct roads between them.
Modeling and Risk Assessment
Poseidon supports two types of disasters: Earthquakes and Hurricanes.
Modeling Earthquakes
Earthquakes are represented as a Gaussian-like function centered at a geo-coordinate. We assume that
the intensity of the earthquake at its epicenter is I0
. This earthquake has a particular
decay radius R
. This radius controls how rapidly the impact of the earthquake decays from
the center. Mathematically, the intensity at a point (x, y)
is given by:
The intensity function has an exponential decay which fits perfectly in simulating an earthquake since
Richter scale, the most common standard of measurement of an earthquake, is logarithmic.
Modeling Hurricanes
A hurricane is represented as a maximal mixture of Gaussian-like functions interpolated along the path
of the hurricane. We assume that the hurricane has a start_radius
,
start_intensity
, end_radius
and end_intensity
. We draw
Gaussian-like functions all along the path, and the standard deviation as well as the multiplicative
factor for the Gaussian are given by interpolating the relevant start and end parameters. We support
straight paths and linear interpolation for the intensities and radii. Mathematically, the following
expression gives the intensity of the hurricane at every point:
Modeling Damage
Segment/City Damage Probability
The probability that a segment or city can be damaged depends on the intensity of the disaster at that
point as well as the nature of the disaster. In line with previous work, we use a logistic regression
model to estimate this probability. The intensity is related to the probability of damage as:
The parameters μ and χ allow us to encode a lot of intuition and external knowledge into the model:
- μ, the Quality Bias, allows us to specify how resistant a particular road segment or city is to damage in general. In the future, we can be cognizant of the fact that different road segments were built with different technologies and have different age/pre-existing damage and thus have different levels of vulnerability to damage.
- χ, the Susceptibility Factor, allows us to specify how strongly the intensity of the disaster is related to the probability of damage. This allows us to generalize the model to several different kinds of disasters such as earthquakes, hurricanes, nuclear explosions, etc. which have different scales to measure them as well as different effects on infrastructure.
The parameters were chosen to match expected damage levels from specific intensity values for earthquakes and hurricanes. We expect a magnitude 9 earthquake to cause widespread destruction while a magnitude 7 earthquake is nearly harmless to modern structures.
Correlations in nearby damage
We are currently assuming that given all the intensities at each point on the map, the probability that a city or road segment is damaged is independent of whether or not a neighboring region is damaged. This is very similar to the Naive Bayes assumption that is often made in classification models. This allows us to treat each segment and city as an independent Bernoulli random variable and sample from that distribution.
In truth, roads being solid structures, stresses and shears exerted on one segment of a road will propagate to neighboring sections as well, leading to conditional dependence. A solution is to use more complex models like the Lattice Ising Model to encode spatial correlations in the damage probabilities, but this is greatly more complicated than a Naive Bayes Bernoulli model.
Modeling Risk
Given a particular state of the network where some road segments and cities are damaged, we need to identify which settlements that require help are now cut off from aid. We do this through the following model:
In the aftermath of a disaster, certain well-equipped settlements must take on the role of Relief Hubs and render assistance to settlements through undamaged roads. We assume that relief hubs are those settlements which are undamaged and have a population of more than 250,000. After identifying the relief hubs, the process that we follow is:
- For every settlement, use Dijsktra’s Algorithm to find out the nearest relief hub.
- If there is no access to a relief hub at all, declare the settlement to be unreachable, thus setting the reachability value to 0.
- If the nearest hub is more than 700km away, declare the settlement to be unreachable, thus setting the reachability to 0.
- All other cases imply that the settlement is still connected to the road network, thereby causing its reachability to be 1.
Settlements that are repeatedly unreachable for several realizations of a particular disaster are vulnerable to that disaster. This leads us to the next section where we produce these several realizations.
Simulation
Our goal, given a disaster with a specific set of parameters, is to use the above described probability models to calculate the probability that a city is cut off from all external aid due to that disaster. We cannot calculate this analytically as the relationships are too complicated to allow tractable analysis. In such a case, a standard solution is Monte Carlo simulation. Given a disaster, the simulation proceeds as follows:
- Calculate the intensities at every point using the disaster model. Calculate the road segment and city damage probabilities at every point using the damage model.
- Sample a particular realization of the damage from these probabilities under the independence assumption stated earlier. This gives us a set of damaged roads and cities.
- For every city, calculate the reachability metric using Dijkstra’s algorithm and the subsequent conditions defined above.
- Repeat steps 2 and 3 for many independent iterations, then take the average reachability value for each city.
- The risk/vulnerability for a city is 1 - average_reachability.
Our app is Open Source!!!
Check out our github. It's all in there!
Results and Insights
For the same disaster, different cities and network structures display very
different risk metrics, and the patterns are in line with probabilistic graphical intuition.
Consider an example where we simulate a hurricane that starts near LA and heads beyond the Bay Area.
The hurricane exerts peak magnitude along its spine and becomes weaker as we move away to the edges, as we
discussed in the disaster modeling earlier.
Despite the intensity being near-identical in the Bay Area and in the LA area, we'll find the risks to be
very distinct!
The Bay Area has numerous settlements that depend on a single road, and also has
several risky settlements that can easily be cutoff from external relief. This illustrates the fact that
“bus” or “path” networks are highly vulnerable to disconnection. Some isolated settlements (San Jose,
Sacramento) have high connectivity in diverse directions and are risk-free.
San Francisco does have 3 roads leading out, but two of those roads funnel very closely together into
the path of the hurricane and are thus both put out of action. This is very likely in real scenario as
well.
LA and its surrounding cities lie on a highly interconnected grid, and their
risks are very low despite the equally high magnitude of the disaster. Grid structures are resilient to
disruption due to the high amount of built-in redundancy - for every interior node, four edges must be
removed to disconnect that node. We also notice that a few grid corners that have only two edges also have
elevated vulnerability.
Triangular structures, while not as expensive as grid structures still provide some amount of resiliency
since two neighboring nodes must be removed to disconnect the graph.
Our app is live!!!
Curious what would happen if a magnitude 8 earthquake hit San Diego?
Simulate hurricanes and earthquakes using our webapp. It's live!
Go ahead! Try it out!
Conclusion
Our specific example shows that much of the Bay Area is very vulnerable to being isolated in case of a disaster of catastrophic disaster, although such a disaster by itself may seem unlikely. Further research along two completely independent paths is required to
- Improve the accuracy of our simulation process by reducing some of the more general assumptions (uniform road quality, oversimplified disaster models) to make a stronger argument in favor of risk mitigation procedures that require possibly expensive public infrastructure projects.
- Propose optimal changes to the transport network structure that best eliminate risk while still being socially and politically viable.
From a technical standpoint, It is very interesting to see how disaster models and independence assumptions (think back to the massless pulleys, inextensible strings, incompressible fluids, spherical cows, point masses and all the outrageous things that we saw in high school physics) that are extremely simple when applied to real-life network data still manage to produce useful insights that are well aligned with our intuition on network resilience.
Suggested Improvements
-
Dataset Upgrades
- Roads are not treated differently according to their different real-life qualities. The helpful presence of the quality bias factor in the damage model can allow us to introduce this variation into the simulation. We will also have to move to more informative road datasets such as OpenStreetMaps to derive this data.
- We are working on a very limited region, that of the California. Obviously, cities from neighboring states will also assist in case of a catastrophe, thus reducing the vulnerability of cities like Los Angeles.
-
Functional Improvements
- Some previous research into the logistical side of post-event planning has considered deep factors like the volume of relief material required, the number of drivers, trucks, fuels, routing plans, etc. While this kind of low-level planning with insufficiently detailed computer models might end up with fragile “paper plans” that don’t really extend to the diverse range of situations that could manifest in the real world, they do point to the need to consider the widely varying needs of different cities in the aftermath of a disaster in terms of the volume of relief material they require as well as the variations in logistical challenges between different cities.
- Our disaster models, as well as our damage models, could use improvements. We are basing them on existing research, which by itself is quite sparse, so we could, with the assistance of subject experts, use more informed models. One example is to use a correlated damage model for the roads where the probability of a road segment being damaged has a conditional dependence on its neighbor being damaged (we are assuming conditional independence given the disaster magnitude at that point).
-
Technical Improvements
- From an implementation standpoint, our simulation code is currently single-thread, single-machine, so it is not easily scalable to larger regions of interest. We should switch to using Pregel or other distributed graph libraries so that we can look at inter-state or even international assistance routes.


Current date is (using js date):
Current mm-dd-yyyy date is:
Current mm/dd/yyyy date is:
Current dd-mm-yyyy date is:
Current dd/mm/yyyy date is:


Show the suggestion popup as you type.
Insert selected suggestion by pressing space, dot, or other context-dependent keys.


Stonebwoy wins AFRIMA 2019 Best African Reggae Dancehall Artist for the 3rd time
by Nana YawGhanaian dancehall artiste, Livingstone Etse Satekla, aka Stonebwoy is arguably the most successful musicians the country has witnessed in the past decade and there’s no doubt about it.
His numerous awards speak volume for him. The latest to add to his cabinet is the Best Artist, Duo or Group in African Reggae, Ragga or Dancehall award at the 6th All Africa Music Awards, also known as AFRIMA 2019.
Stonebwoy with this has won the award for best Dancehall artiste of the year at the 2019 AFRIMA for the 3rd time proving his worth on the continent and why he’s the only African dancehall artist to win a BET award.
He won it for the first time in 2015, then in 2018 and 2019 is his the third time he’s winning it.
For this year’s own, he was in the same category with the likes of Daphe (Cameroon), Navy Kenzo (Tanzania) Patoranking( Nigeria) Paris (Nigeria) Rosa Ree (Tanzania) Rudeboy (Nigeria), Shatta Wale (Ghana) Timaya (Nigeria) Winky D (Zimbabwe)
He performed on the night with his Bhim band and got the crowd entertained.


Report: Hungary gagged EU on Israeli settlers
by EUobserverHungary vetoed a joint statement by the 28 EU countries, to have been issued on Monday, criticising a US announcement that Israeli settlements in the West Bank were not illegal, The Times of Israel, an Israeli newspaper, reported. The EU statement was instead published at a lower level, in the name of EU foreign relations chief Federica Mogherini only, while France and Germany published national statements after the debacle.


Invoices
addNew Invoice
Find all draft, issued, pending, and paid invoices here. Recurring Invoices||Paid & Cancelled Invoices
addNew Invoice
Find all draft, issued, pending, and paid invoices here. Recurring Invoices||Paid & Cancelled Invoices


This Privacy Policy governs the manner in which THiNX Cloud Remote Management Console collects, uses, maintains and discloses information collected from users (each, a "User") of the https://rtm.thinx.cloud website ("Site").
We may collect personal identification information from Users in a variety of ways, including, but not limited to, when Users visit our site, register on the site, and in connection with other activities, services, features or resources we make available on our Site. Users will be asked for name and email address, or those data will be requested from respective OAuth provider (Google, Twitter). We will collect personal identification information from Users only if they voluntarily submit such information to us. Users can always refuse to supply personally identification information, except that it may prevent them from engaging in certain Site related activities.
We may collect non-personal identification information about Users whenever they interact with our Site. Non-personal identification information may include the browser name, the type of IoT device and technical information about Users means of connection to our Site, such as the operating system and the Internet service providers utilized.
Our Site may use "cookies" to enhance User experience. User's web browser places cookies on their hard drive for record-keeping purposes and sometimes to track information about them. User may choose to set their web browser to refuse cookies, or to alert you when cookies are being sent. If they do so, note that some parts of the Site may not function properly.
Site may collect and use Users personal information for the following purposes:
We adopt appropriate data collection, storage and processing practices and security measures to protect against unauthorized access, alteration, disclosure or destruction of your personal information, username, password, transaction information and data stored on our Site.
Personal DataWe do not sell, trade, or rent Users personal identification information to others.
THiNX Cloud has the discretion to update this privacy policy at any time. When we do, we will send you an email. We encourage Users to frequently check this page for any changes to stay informed about how we are helping to protect the personal information we collect.
By using our Site, you signify your acceptance of this policy. If you do not agree to this policy, please do not use our Site and install own instance of this open-source service. Your continued use of the Site following the posting of changes to this policy will be deemed your acceptance of those changes.
If you have any questions about this Privacy Policy, the practices of this site, or your dealings with this site, please contact us at<EMAIL_ADDRESS>This document was last updated on May 28, 2018


| Beer Image | Name | Description | Price |
|---|---|---|---|
| Corona Extra 330ml | Corona Extra is lighter than traditional beers, with a crisp and refreshing taste. This light, dry beer has pleasant malt and hop notes with a round dry finish. Regardless of the time of the year, Corona is best served ice cold, with a wedge of lime that complements and intensifies the flavour through the palate.1 | $1.90 | |
| Stella Artois 330ml | Stella Artois is a classic Belgian lager, golden in color with a floral, hop aroma, well-balanced fruity malty sweetness, crisp hop bitterness and a soft dry finish. All natural ingredients give Stella Artois a clean, crisp palate. | $1.00 | |
| Carlsberg 330ml | It is a 5% abv pilsner beer with a global distribution to 140 markets. It is also known as Carlsberg Lager, Carlsberg Beer and Carlsberg Pilsner. It was first brewed in 1904, and was created by Carl Jacobsen, son of Carlsberg's founder JC Jacobsen. | $1.10 | |
| Heineken 330ml | Heineken Lager Beer (Dutch: Heineken Pilsener), or simply Heineken is a pale lager beer with 5% alcohol by volume produced by the Dutch brewing company Heineken International. | $1.50 |


[gecode-users] Compiling Gecode using framework and GCC 4.0
Gustavo Gutiérrez
gutierrez.gustavo at uclouvain.be
Wed Jun 10 10:19:14 CEST 2009
On 10 Jun 2009, at 10:00, Raphael Marczak wrote:
> But the GUI of VIRAGE is developed by another person under XCode,
> and it includes all the engines source files.
> If I update GeCode in the project, the GUI will not compile under
> XCode.
>
> So there is the dilemma.
>
If the problem is that you use gecode for the constraint stuff and
other people in your work group use xcode for the gui development then
you can provide them with a library with your implementation (all the
constraint part). The library you provide is independent from the
compiler you used to produce it so you can import it from whatever
Xcode project you want.
Regards,
Gustavo
More information about the gecode-users
mailing list


--- layout: post status: publish published: true title: Um pedacinho do paraíso - Hyams Beach author: display_name: admin login: admin email<EMAIL_ADDRESS>url: http:// author_login: admin author_email<EMAIL_ADDRESS>author_url: http:// wordpress_id: 29 wordpress_url: http://fabiopereira.me/blogpt/?p=29 date: '2009-02-20 06:52:26 +1100' date_gmt: '2009-02-20 13:52:26 +1100' categories: - Uncategorized tags: [] comments: - id: 21 author: Roger Eduardo (06) author_email<EMAIL_ADDRESS>author_url: '' date: '2009-02-20 07:23:09 +1100' date_gmt: '2009-02-20 14:23:09 +1100' content: Eu estava até pensando que o que você estava fazendo era fugindo das chamas. - id: 22 author: Maria Clara Spinelli author_email<EMAIL_ADDRESS>author_url: http://ogostodarosa.blogspot.com/ date: '2009-02-20 08:07:34 +1100' date_gmt: '2009-02-20 15:07:34 +1100' content: linda foto... MAS CADÊ A BANDERA DO BRASIL!? :P rsrs - id: 23 author: Maria Clara Spinelli author_email<EMAIL_ADDRESS>author_url: http://ogostodarosa.blogspot.com/ date: '2009-02-20 08:08:12 +1100' date_gmt: '2009-02-20 15:08:12 +1100' content: '* BANDEIRA. rs' - id: 846 author: mtgwua author_email<EMAIL_ADDRESS>author_url: http://jrdsndmqcyla.com/ date: '2009-05-08 08:30:43 +1000' date_gmt: '2009-05-08 15:30:43 +1000' content: GiZpdi ntwuosynrkkv, [url=http://xhnbmffdfdom.com/]xhnbmffdfdom[/url], [link=http://ilgpwvipkxbn.com/]ilgpwvipkxbn[/link], http://cidjqtduzuzi.com/ - id: 883 author: unatolala author_email<EMAIL_ADDRESS>author_url: http://www.lovefantasys.com/Sexy-Lingerie-wholesale.html date: '2009-07-11 03:56:35 +1000' date_gmt: '2009-07-11 10:56:35 +1000' content: "CHARMINGIRL is a popular label and [url=http://www.lovefantasys.com/Sexy-Lingerie-wholesale.html]Sexy Lingerie wholesale [/url]specialized producer of erotic clothing in China. We furnish the universal peddle with ?la mode seductive lingerie and seductive costumes since 2002. With advanced technology,all our outputs are of grand quality. Now we accept clients all all over the time. Lingerie Wholesale and OEM are entitledd!\r\n \ Our works located in Foshan Guangdong, Sexy Lingerie wholesale where there is one of the portlyst directedgarment manufacturing miserable in China. Charmingirl has footing workshop and drama tailback, maven designers and adept workers. After years' enportlyment, we accept craggy wit on drama, fact-finding and technology, advanced facilities that is imported fromGermany and Japan, now our monthly crop is 100000 pcs. \r\n[url=http://www.lovefantasys.com/Sexy-Lingerie-wholesale.html]Sexy Lingerie wholesale[/url]\r\n is one of the in generalst wholesale and retail distributors of Sexy Lingerie wholesale lingerie in the USA directed one roof. Since 1997, we accept sold tens of 1,000's of consumers for everyone the great wholesale and retail lingerie. Our Atlanta storehouse is navigable to the common visible diurnal Tuesday - Saturday. \r\n[url=http://www.lovefantasys.com/Sexy-Lingerie-wholesale.html] Sexy Lingerie wholesale[/url]\r\nLingerieMart.com ? - is a give birth towide distributor of Sexy Lingerie wholesale wholesale lingerie and sexual raiment at off-amount and on earth wholesale amounts. We scatter globally all types of lingerie including erotic lingerie, bras A-J cups, panties, thongs, sleepwear to 6XL, fajas, shapewear to measure assess 50\" waist, costumes, dirty clubwear / dancewear and more. In joining, our choice includes the portlyst discrepancy of wholesale celebrity hero added volume bras, bonus evaluate thongs and panties, added volume bra sets, wholesale corsets, girdles, abrade attention effects and more.\r\n[url=http://www.lovefantasys.com/Sexy-Lingerie-wholesale.html] Sexy Lingerie wholesale[/url]\r\nAt Lingerie Mart ? - not alone Sexy Lingerie wholesale sells wholesale to the encyclopaedic dick, but also supplies a discrepancy of profession venues including boutiques, retail stores, mark-down outlets, residency parties, EBay re-sellers, flea peddles, lingerie websites and more. We admire our consumers and orders of all measure assess. Whether your output necessity's are in general or minor, we entitled all orders and buyers from all countries. Our maven, pleasant and capable client benefit span is on the verge of to facilitate you, and our immovably shipping branch allows your orders to be shipped chiefly within 24 hours." - id: 884 author: unatolala author_email<EMAIL_ADDRESS>author_url: http://www.lovefantasys.com/Sexy-Lingerie-wholesale.html date: '2009-07-11 21:10:01 +1000' date_gmt: '2009-07-12 04:10:01 +1000' content: "CHARMINGIRL is a famed rank and [url=http://www.lovefantasys.com/Sexy-Lingerie-wholesale.html]Sexy Lingerie wholesale [/url]specialized producer of erotic clothing in China. We purveying the universal vend with ?la mode seductive lingerie and dirty costumes since 2002. With advanced technology,all our effects are of grand quality. Now we accept clients all on all sides of the give birth to. Lingerie Wholesale and OEM are received!\r\n Our works located in Foshan Guangdong, Sexy Lingerie wholesale where there is one of the portlyst directedgarment manufacturing place in China. Charmingirl has gonfanon workshop and direction queue, master designers and prepared workers. After years' enbig-heartedment, we include acrid genius on drama, scrutinize and technology, advanced facilities that is imported fromGermany and Japan, now our monthly crop is 100000 pcs. \r\n[url=http://www.lovefantasys.com/Sexy-Lingerie-wholesale.html]Sexy Lingerie wholesale[/url]\r\n is one of the in generalst wholesale and retail distributors of Sexy Lingerie wholesale lingerie in the USA directed one roof. Since 1997, we accept sold tens of 1,000's of consumers on all sides of the great wholesale and retail lingerie. Our Atlanta storehouse is unreserved to the common dick unexciting Tuesday - Saturday. \r\n[url=http://www.lovefantasys.com/Sexy-Lingerie-wholesale.html] Sexy Lingerie wholesale[/url]\r\nLingerieMart.com ? - is a greatwide distributor of Sexy Lingerie wholesale wholesale lingerie and comfortable raiment at off-amount and -stairs wholesale amounts. We scatter globally all types of lingerie including dirty lingerie, bras A-J cups, panties, thongs, sleepwear to 6XL, fajas, shapewear to volume 50\" waist, costumes, erotic clubwear / dancewear and more. In augmentation, our group includes the big-heartedst sort of wholesale hero marque added volume bras, added measure assess thongs and panties, bonus volume bra sets, wholesale corsets, girdles, abrade sorrow effects and more.\r\n[url=http://www.lovefantasys.com/Sexy-Lingerie-wholesale.html] Sexy Lingerie wholesale[/url]\r\nAt Lingerie Mart ? - not exclusively Sexy Lingerie wholesale sells wholesale to the common following, but also supplies a discrepancy of profession venues including boutiques, retail stores, take outlets, at ease parties, EBay re-sellers, flea vends, lingerie websites and more. We admire our clients and orders of all measure assess. Whether your effect necessity's are in general or minor, we entitled all orders and buyers from all countries. Our seasoned, good-natured and adept consumer benefit duo is close to to facilitate you, and our settled shipping hang on allows your orders to be shipped chiefly within 24 hours." - id: 891 author: cslsmhol author_email<EMAIL_ADDRESS>author_url: http://itzusftacrfl.com/ date: '2009-07-13 08:20:04 +1000' date_gmt: '2009-07-13 15:20:04 +1000' content: 4uqFsM lzinphjdkoao, [url=http://bewumhdhwhkl.com/]bewumhdhwhkl[/url], [link=http://mrxenodntzpf.com/]mrxenodntzpf[/link], http://mzgbuvcegwdy.com/ - id: 997 author: Tultnoniuff author_email<EMAIL_ADDRESS>author_url: '' date: '2009-09-06 17:28:43 +1000' date_gmt: '2009-09-07 00:28:43 +1000' content: "Hello,\r\n\r\nplease check my blogs:\r\nhttp://heihachicp.wordpress.com\r\nhttp://antiheihachi.wordpress.com\r\nhttp://wahomewahome.wordpress.com\r\nhttp://heihachi0net.wordpress.com\r\nhttp://antiheihachi.wordpress.com\r\n\r\nthis is nooooo spam! really!" - id: 1003 author: Garhogqueeree author_email<EMAIL_ADDRESS>author_url: '' date: '2009-09-12 04:14:00 +1000' date_gmt: '2009-09-12 11:14:00 +1000' content: "Sehr geehrte Damen und Herren,\r\n\r\nals Finanzkaufmann kenne ich http://gomopa.net seit über 10 Jahren!  Im deutschsprachigen Raum habe ich noch kein zweites Forum gefunden, dass ein dermaßen klares Deutsch spricht!\r\nDaher steht der Server auch nicht in Deutschland, ein besonders wichtiger Punkt, wie ich finde.\r\nFür jeden Finanzdienstleister, aber auch für jeden Anleger, finde ich Gomopa.net genial!   We own MLB Phiten Ti Necklaces, Phiten 30x Sharp feature Necklaces. your unsurpassable [url=http://www.warroomusa.com/bunker/showthread.php?p=3282#post3282]lexapro and optical migraines[/url] New necklaces are glazed beside Phiten's Greenish blue-Atomic digit 22. Global Colloquium athletes wealth Phiten to resource them at [url=http://www.hillhousemanor.com/bb/viewtopic.php?pid=148#p148]largest white shark[/url] Trappings Matter number 22 Jewellery X30 - Reflector. Terms: $85.00. Harsh item Wristlet - S-Caste Aluminous Jewels" - id: 8064 author: Abi author_email<EMAIL_ADDRESS>author_url: http://www.facebook.com/profile.php?id=100003469645545 date: '2015-07-23 13:56:31 +1000' date_gmt: '2015-07-23 20:56:31 +1000' content: I think the consignment dealnide for Buckeye is normally in November, but the March sale normally fills up way before then, so the best option is to call and ask. I think the Signature sale hasn't even started taking consignments.The Buckeye sales are mostly Amish buyers, though there are exceptions. We've sold/purchased quite a few show horses through this sale with success. But this sale brings about 250 consignment horses and a lot of quality if looking to buy at a good price.The Signature sale is more geared towards show horses, but they do take nonshow consignments. This sale has more show homes , but there are also a lot of Amish that come to the sale as well.We've purchased show prospects through both sales and did well with them. ---
Essa praia é considerada o lugar com a areia mais branca do MUNDO. É um lugar paradisíaco, fantástico, deslumbrante.
Foi parte do nosso passeio ao sul de New South Wales com o Xande, Cacau e os seus tios (Abelardo e Claudia) e o Mark.
Vejam as fotos... Lindas.


Control.
Choice
This chapter talks about self-regulation and really it all boils down to choice. We all have a choice about how to respond and react...if we are aware of our emotions and where they want to take us. If we can sense these emotions coming up in ourselves then we can choose how we let them affect us. We can go along with the emotion or we can simply let it go
I really like this idea of being able to let go of emotions that come over us. It is particularly useful when someone has done something completely idiotic which makes me really frustrated! If I can remember to just breathe, notice the emotion, but then let it go, I feel much better. And being frustrated wasn't going to fix the problem anyway.
Siberian North Railroad
This is a great method for responding to situations that make you frustrated or bring up other negative emotions.
- Stop
- Breathe
- Notice
- Reflect
- Respond
Stopping as soon as you recognise the emotion. Pausing to take a breath. Noticing the emotion in more detail, bringing attention to it. Then reflecting on why we're feeling the way we are. Then finally responding to it, hopefully in a positive way.


WITNESS LIST Appropriations-S/C on General Government Committee (Subcommittee on General Government) February 28, 2001-3:00P Budget On: Bass, James (Texas Department of Transportation) Beckett, Sheila (Employees Retirement System) De La Rosa, Jr., Agustin (Texas Department of Transportation) Heald, Charles (Texas Department of Transportation) Mitamura, Dave (Water Development Board) Saitas, Jeff (Texas Natural Resource Conservation Commission)


Riemann solvers (comprehensive guide)
Toro (2009) [Riemann solvers and numerical methods for fluid dynamics: a practical introduction]
MHD Riemann solvers (numerical techniques)
Dai+ (1994) [An approximate Riemann solver for ideal magnetohydrodynamics]
Ryu+ (1995) [Numerical magetohydrodynamics in astrophysics: algorithm and tests for one-dimensional flow]
Torrilhon (2002) [Exact solver and uniqueness conditions for Riemann problems of ideal magnetohydrodynamics]
Orszag-Tang MHD vortex (this is the featured image on the home page)
Hopkins (2004) [Orszag-Tang vortex test]
Shocks in the Interstellar Medium
Draine (2010) [Physics of the interstellar and intergalactic medium]
Offner+ (2009) [The Effects of Radiative Transfer on Low-Mass Star Formation]
Chandra Gallery [Kepler's Supernova Remnant]
Riemann problem for flux computation in full 3D simulations
Teyssier (2010) [Romain's lecture notes on hydro solvers]
Some 3D fluid solvers used in astrophysics
Fromang+ (2006) [Ramses]
Stone+ (2008) [Athena]
Springel (2010) [Arepo]
Partner ISM Module Websites Relevant to Shocks
Becerra (2013) [A visualization tool of 2D shocks simulations]
MacGregor (2013) [Landmarks of the ISM]
Alexander (2013) [The Multiphase ISM]


Picking on Pixar's A Bug's Life, I feel like a bullying kid refracting the sun through a magnifying glass onto an anthill. As with Pixar's initial computer-animated feature, Toy Story, the animation is seamless, the voice performances are flawless, and Randy Newman's score complements the story perfectly. And yet the movie isn't the eye-popping surprise that Toy Story was. This story of an oppressed colony of ants is far more (you should pardon the expression) down to earth.
The story's main ant, a ne'er-do-well named Flik (voice of Dave Foley) helps his colony thwart a bullying group of grasshoppers led by the evil Hopper (Kevin Spacey). Flik finds his helpmates in a low-talent circus troupe that gets roped into helping the ants through some miscommunication on Flik's part.
That's about all there is to the story. Most of the movie's fun comes from the sly voicework (best is "Frasier's" persnickety David Hyde Pierce) and some low-key, throwaway jokes. Toy Story had much of the same appeal, yet is primary storyline was rich and imaginative--it made you look at the world of kids' toys from a fresh perspective.
Ant colonies notwithstanding, the Bug's Life story is very routine.  Some might carp that the movie seems familiar only because Antz beat this movie to the same territory. Yet it shares the same character problem as Antz: Why should we care about a bunch of ants with borrowed personalities? Antz was a standard Woody Allen comedy with insects instead of New Yorkers; A Bug's Life has the standard Disney "repressed hero rising to save the day" formula.
The movie is far more enjoyable than the in-jokey Antz, yet A Bug's Life lacks the sense of wonder that the first Pixar feature inspired. One giveaway is the latter movie's lightning-fast pace, so fast that some of the jokes and exposition are unclear. A Bug's Life is so intent on outdoing its predecessor, it's afraid of stopping for a moment lest the kiddies get bored.
A Bug's Life is rated G.
Submitted by: Steven Bailey http://pages.hotbot.com/movies/skad13
Steven Bailey, a movie reviewer for The Beaches Leader newspaper in Jacksonville Beach, Florida, has movie reviews posted in The Internet Movie Database at: http://www.imdb.com/M/reviews_by?Steven+Bailey
Sent via Deja.com http://www.deja.com/ Before you buy.
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


public class TrainOptions
extends java.lang.Object
implements java.io.Serializable
| Modifier and Type | Class and Description |
|---|---|
static class |
TrainOptions.TransformMatrixType |
| Modifier and Type | Field and Description |
|---|---|
boolean |
basicCategoryTagsInDependencyGrammar
Where to use the basic or split tags in the dependency grammar
|
int |
batchSize |
boolean |
cheatPCFG
Add all test set trees to training data for PCFG.
|
boolean |
collinsPunc
Promote/delete punctuation like Collins.
|
int |
compactGrammar
How to compact grammars as FSMs.
|
int |
debugOutputFrequency
If larger than 0, the parser may choose to output debug information
every X seconds, X iterations, or some other similar metric
|
static int |
DEFAULT_BATCH_SIZE
When training using batches of trees, such as in the DVParser,
how many trees to use in one batch
|
static double |
DEFAULT_DELTA_MARGIN |
static int |
DEFAULT_K_BEST
When training the DV parsing method, how many of the top K trees
to analyze from the underlying parser
|
static double |
DEFAULT_LEARNING_RATE |
static int |
DEFAULT_QN_ITERATIONS_PER_BATCH
When training the DV parsing method, how many iterations to loop
for one batch of trees
|
static double |
DEFAULT_REGCOST
regularization constant
|
static double |
DEFAULT_SCALING_FOR_INIT |
static int |
DEFAULT_STALLED_ITERATION_LIMIT |
static int |
DEFAULT_TRAINING_ITERATIONS
When training a parsing method where the training has a (max)
number of iterations, how many iterations to loop
|
static java.lang.String |
DEFAULT_UNK_WORD |
java.util.Set<java.lang.String> |
deleteSplitters |
double |
deltaMargin
How much to penalize the wrong trees for how different they are
from the gold tree when training
|
int |
dvKBest |
boolean |
dvSimplifiedModel
Make the dv model as simple as possible
|
double |
fractionBeforeUnseenCounting
Start to aggregate signature-tag pairs only for words unseen in the first
this fraction of the data.
|
boolean |
gPA
This variable controls doing 2 levels of parent annotation.
|
int |
HSEL_CUT |
boolean |
hSelSplit |
double |
learningRate
How fast to learn (can mean different things for different algorithms)
|
boolean |
leftRec
Left edge is right-recursive (X << X) Bad.
|
boolean |
leftToRight |
boolean |
lowercaseWordVectors
Whether or not to lowercase word vectors
|
boolean |
markFinalStates
Whether or not to mark final states in binarized grammar.
|
boolean |
markovFactor
Whether to do "horizontal Markovization" (as in ACL 2003 paper).
|
int |
markovOrder |
boolean |
markStrahler
Horton-Strahler number/dimension (Maximilian Schlund)
|
int |
markUnary
Mark all unary nodes specially.
|
boolean |
markUnaryTags
Mark POS tags which are the sole member of their phrasal constituent.
|
int |
maxTrainTimeSeconds |
boolean |
noRebinarization
When binarizing trees, don't binarize trees with two children.
|
boolean |
noTagSplit |
int |
openClassTypesThreshold
A POS tag has to have been attributed to more than this number of word
types before it is regarded as an open-class tag.
|
boolean |
PA
This variable controls doing parent annotation of phrasal nodes.
|
boolean |
postGPA |
boolean |
postPA |
java.util.Set |
postSplitters |
boolean |
postSplitWithBaseCategory
Whether, in post-splitting of categories, nodes are annotated with the
(grand)parent's base category or with its complete subcategorized
category.
|
boolean |
predictSplits
Use the method reported by Berkeley for splitting and recombining
states.
|
TreeTransformer |
preTransformer
A transformer to use on the training data before any other
processing step.
|
java.io.PrintWriter |
printAnnotatedPW |
boolean |
printAnnotatedRuleCounts |
boolean |
printAnnotatedStateCounts |
java.io.PrintWriter |
printBinarizedPW |
boolean |
printStates |
int |
printTreeTransformations
Just for debugging: check that your tree transforms work correctly.
|
int |
qnEstimates
When training the DV parsing method, how many estimates to keep
for the qn approximation.
|
int |
qnIterationsPerBatch |
double |
qnTolerance
When training the DV parsing method, the tolerance to use if we
want to stop qn early
|
long |
randomSeed |
double |
regCost |
boolean |
rightRec
Right edge is right-recursive (X << X) Bad.
|
double |
ruleDiscount
Discounts the count of BinaryRule's (only, apparently) in training data.
|
boolean |
ruleSmoothing
Enables linear rule smoothing during grammar extraction
but before grammar compaction.
|
double |
ruleSmoothingAlpha |
double |
scalingForInit
How much to scale certain parameters when initializing models.
|
boolean |
selectivePostSplit |
double |
selectivePostSplitCutOff |
boolean |
selectiveSplit
Only split the "common high KL divergence" parent categories....
|
double |
selectiveSplitCutOff |
boolean |
simpleBinarizedLabels
When binarizing trees, don't annotate the labels with anything
|
boolean |
sisterAnnotate
Selective Sister annotation.
|
java.util.Set<java.lang.String> |
sisterSplitters |
boolean |
smoothing
TODO wsg2011: This is the old grammar smoothing parameter that no
longer does anything in the parser.
|
int |
splitCount
If we are predicting splits, we loop this many times
|
boolean |
splitPrePreT
Mark all pre-preterminals (also does splitBaseNP: don't need both)
|
double |
splitRecombineRate
If we are predicting splits, we recombine states at this rate every loop
|
java.util.Set<java.lang.String> |
splitters
Set the splitter strings.
|
int |
stalledIterationLimit
How many iterations to allow training to stall before taking the
best model, if training in an iterative manner
|
java.lang.String |
taggedFiles
A set of files to use as extra information in the lexicon.
|
boolean |
tagPA
Parent annotation on tags.
|
boolean |
tagSelectivePostSplit |
double |
tagSelectivePostSplitCutOff |
boolean |
tagSelectiveSplit
Do parent annotation on tags selectively.
|
double |
tagSelectiveSplitCutOff |
int |
trainingIterations |
int |
trainingThreads
If the training algorithm allows for parallelization, how many
threads to use
|
int |
trainLengthLimit |
java.lang.String |
trainTreeFile |
boolean |
trainWordVectors
Do we want a model that uses word vectors (such as the DVParser)
to train those word vectors when training the model?
Note: models prior to 2014-02-13 may have incorrect values in this field, as it was originally a compile time constant |
TrainOptions.TransformMatrixType |
transformMatrixType |
boolean |
unknownCapsVector
Whether or not to build an unknown word vector for words with caps in them
|
boolean |
unknownChineseNumberVector
Whether or not to build an unknown word vector to match Chinese numbers
|
boolean |
unknownChinesePercentVector
Whether or not to build an unknown word vector to match Chinese percentages
|
boolean |
unknownChineseYearVector
Whether or not to build an unknown word vector to match Chinese years
|
boolean |
unknownDashedWordVectors
Whether or not to handle unknown dashed words by taking the last part
|
boolean |
unknownNumberVector
Whether or not to build an unknown word vector specifically for numbers
|
java.lang.String |
unkWord
Some models will use external data sources which contain
information about unknown words.
|
boolean |
useContextWords
Specifically for the DVModel, uses words on either side of a
context when combining constituents.
|
| Constructor and Description |
|---|
TrainOptions() |
| Modifier and Type | Method and Description |
|---|---|
int |
compactGrammar() |
void |
display() |
boolean |
outsideFactor()
If true, declare early -- leave this on except maybe with markov on.
|
static void |
printTrainTree(java.io.PrintWriter pw,
java.lang.String message,
Tree t) |
java.lang.String |
toString() |
public java.lang.String trainTreeFile
public int trainLengthLimit
public boolean cheatPCFG
public boolean markovFactor
public int markovOrder
public boolean hSelSplit
public int HSEL_CUT
public boolean markFinalStates
public int openClassTypesThreshold
public double fractionBeforeUnseenCounting
public boolean PA
public boolean gPA
public boolean postPA
public boolean postGPA
public boolean selectiveSplit
public double selectiveSplitCutOff
public boolean selectivePostSplit
public double selectivePostSplitCutOff
public boolean postSplitWithBaseCategory
public boolean sisterAnnotate
public java.util.Set<java.lang.String> sisterSplitters
public int markUnary
public boolean markUnaryTags
public boolean splitPrePreT
public boolean tagPA
public boolean tagSelectiveSplit
public double tagSelectiveSplitCutOff
public boolean tagSelectivePostSplit
public double tagSelectivePostSplitCutOff
public boolean rightRec
public boolean leftRec
public boolean collinsPunc
public java.util.Set<java.lang.String> splitters
public java.util.Set postSplitters
public java.util.Set<java.lang.String> deleteSplitters
public int printTreeTransformations
public java.io.PrintWriter printAnnotatedPW
public java.io.PrintWriter printBinarizedPW
public boolean printStates
public int compactGrammar
public boolean leftToRight
public boolean noTagSplit
public boolean ruleSmoothing
public double ruleSmoothingAlpha
public boolean smoothing
public double ruleDiscount
public boolean printAnnotatedRuleCounts
public boolean printAnnotatedStateCounts
public boolean basicCategoryTagsInDependencyGrammar
public TreeTransformer preTransformer
public java.lang.String taggedFiles
public boolean predictSplits
public int splitCount
public double splitRecombineRate
public boolean simpleBinarizedLabels
public boolean noRebinarization
public int trainingThreads
public static final int DEFAULT_K_BEST
public int dvKBest
public static final int DEFAULT_TRAINING_ITERATIONS
public int trainingIterations
public static final int DEFAULT_BATCH_SIZE
public int batchSize
public static final double DEFAULT_REGCOST
public double regCost
public static final int DEFAULT_QN_ITERATIONS_PER_BATCH
public int qnIterationsPerBatch
public int qnEstimates
public double qnTolerance
public int debugOutputFrequency
public long randomSeed
public static final double DEFAULT_LEARNING_RATE
public double learningRate
public static final double DEFAULT_DELTA_MARGIN
public double deltaMargin
public boolean unknownNumberVector
public boolean unknownDashedWordVectors
public boolean unknownCapsVector
public boolean dvSimplifiedModel
public boolean unknownChineseYearVector
public boolean unknownChineseNumberVector
public boolean unknownChinesePercentVector
public static final double DEFAULT_SCALING_FOR_INIT
public double scalingForInit
public int maxTrainTimeSeconds
public static final java.lang.String DEFAULT_UNK_WORD
public java.lang.String unkWord
public boolean lowercaseWordVectors
public TrainOptions.TransformMatrixType transformMatrixType
public boolean useContextWords
public boolean trainWordVectors
public static final int DEFAULT_STALLED_ITERATION_LIMIT
public int stalledIterationLimit
public boolean markStrahler
public boolean outsideFactor()
public int compactGrammar()
public void display()
public java.lang.String toString()
toString
in class java.lang.Object
public static void printTrainTree(java.io.PrintWriter pw, java.lang.String message, Tree t)


When I was a young boy, my father took me into the city to see a marching band. He said:
Son, when you grow up, would you be the savior of the broken, the beaten, and the damned?
At the time, I was never really sure what he meant. It was the summer of 1987 that I learned what he was talking about.


ADPointGrey¶
| author: | Mark Rivers, University of Chicago |
|---|
Contents
Introduction¶
This is an areaDetector driver for cameras from Point Grey. These include IEEE 1394 Firewire DCAM, GigE, USB 2.0, and USB 3.0 cameras. The driver should work with any Point Grey camera. It has been tested on Firewire (Flea2), GigE (BlackFly, Flea3, Grasshopper3), and USB 3.0 (Grasshopper3) cameras. The driver has been tested on Windows and Linux with all 3 of these cameras. Note that Point Grey Firewire cameras can also be controlled by the generic areaDetector Windows Firewire driver and the areaDetector Linux Firewire driver, which work with Firewire cameras from any vendor. However, this Point Grey driver provides access to some vendor-specific features like strobe outputs that are not available in the generic drivers.
On Linux the Point Grey FlyCap2 SDK requires glibc version 2.14. This means it cannot be used on RHEL 6, but it can be used on RHEL 7, and Fedora 15 and higher. For USB 3.0 cameras kernel version 3.5.0 or higher is required. This means USB 3.0 cameras require Fedora 18 or higher, or RHEL 7.0 or higher.
This driver inherits from ADDriver. It implements nearly all of the parameters in asynNDArrayDriver.h and in ADArrayDriver.h. It also implements a number of parameters that are specific to the Point Grey cameras. The pointGrey class documentation describes this class in detail.
The Point Grey cameras use the IIDC/DCAM model for controlling features like shutter time, white balance, frame sizes, shutter time, frame rates, etc. This model is used not only for the IEEE 1394 Firewire cameras, for which the IIDC/DCAM model was developed, but also for their USB and GigE cameras. The Point Grey driver thus has many similarities to the generic areaDetector Windows Firewire driver and the areaDetector Linux Firewire driver. The FlyCapture2 SDK abstracts this model to a certain extent, which facilitates writing a driver that works with all of the Point Grey cameras.
Camera firmware¶
Point Grey frequently updates the available firmware for each camera to add features and fix bugs. However, they are not very good about putting the link to the latest firmware on their Web site. They claim this is because they only put the firmware on the Web site once it has been tested on all camera models in the camera family on which that firmware runs. In practice the firmware version listed on the Web site is often old and buggy. I have encouraged them to make the latest firmware more easily available. At present one must e-mail the support team<EMAIL_ADDRESS>and ask them if newer firmware is available for a particular camera, and if so to provide access to it. They normally do this by sending a link to a Dropbox folder.
Video modes¶
The DCAM specification defines standard video formats, and a set of video modes for each video format. Point Grey combines the video format and video mode into a single quantity they call VideoMode. The following table lists these standard video modes.
Video mode Format7 is special. It allows defining an ROI on the camera to read out. The pixel resolution with which the size and position of this ROI can be defined can be queried, and is not necessarily a single pixel. In Format 7 the frame rate settings do not apply, and there is a another setting called PixelFormat that controls the video format, e.g. Mono8, Mono16, RGB8, etc.
Most cameras only support a small subset of these standard modes. The EPICS record $(P)$(R)VideoMode is an mbbo record that only has choices for the video modes actually available on the specific camera in use. Since mbbo records only allow a maximum of 16 choices and there are 24 standard video modes, it is conceivable that all available videos modes would not be presented. In practice this is not a problem since no existing camera supports more than 16 video modes.
| Point Grey Video Modes | |
|---|---|
| Mode Number | Mode Description |
| 0 | 160x120 YUV444 |
| 1 | 320x240 YUV422 |
| 2 | 640x480 YUV411 |
| 3 | 640X480 YUV422 |
| 4 | 640x480 RGB |
| 5 | 640x480 Mono8 |
| 6 | 640x480 Mono16 |
| 7 | 800x600 YUV422 |
| 8 | 800x600 RGB |
| 9 | 800x600 Mono8 |
| 10 | 1024x768 YUV422 |
| 11 | 1024x768 RGB |
| 12 | 1024x768 Mono8 |
| 13 | 800x600 Mono16 |
| 14 | 1024x768 Mono16 |
| 15 | 1280x960 YUV422 |
| 16 | 1280x960 RGB |
| 17 | 1280x960 Mono8 |
| 18 | 1600x1200 YUV422 |
| 19 | 1600x1200 RGB |
| 20 | 1600x1200 Mono8 |
| 21 | 1280x960 Mono16 |
| 22 | 1600x1200 Mono16 |
| 23 | Format7 (user-defined) |
Format7 modes¶
When the video mode is Format7 then there is an available selection of Format7 modes. These modes are not defined in the IIDC/DCAM standard, but are specific to each vendor and camera. Typically Format7 mode 0 is the entire chip unbinned, and mode 1 is often the entire chip with 2x2 binning. The supported Format7 modes are listed in the Point Grey Technical Reference Manual for each camera. The EPICS Format7Mode record is used to select the Format7 mode to use. This is an mbbo record and the enum choices are only those supported by the camera in use. The enum strings are of the form “Format7 mode # (NYxNY)”, for example “0 (1920x1200)” or “1 (960x600)” for Format7 modes 0 and 1 respectively on a camera with 1920 x 1200 pixels.
Pixel formats¶
When the video mode is Format7 then there is an available selection of PixelFormats. The available PixelFormats depend on the selected Format7 mode. Selection of a PixelFormat is done with the EPICS PixelFormat record. This is an mbbo record that only has choices that are valid for the currently selected Format7 mode. The enum values in this record are thus dynamic, and it is displayed in a separate GUI window that must be closed and re-opened when the Format7 mode changes in order to guarantee that it is displaying the currently valid PixelFormat choices.
The following tables lists the standard pixel formats for video mode Format7. Note that typically only a few of these pixel formats are supported on a particular camera with a specific Format7 mode.
| Point Grey Format7 Pixel Formats | |
|---|---|
| Pixel Format Number | Pixel Format Description |
| 0 | Mono8 |
| 1 | YUV411 |
| 2 | YUV422 |
| 3 | YUV444 |
| 4 | RGB8 |
| 5 | Mono16 |
| 6 | RGB16 |
| 7 | Mono16_Signed |
| 8 | RGB16_Signed |
| 9 | Raw8 |
| 10 | Raw16 |
| 11 | Mono12 |
| 12 | Raw12 |
| 13 | BGR |
| 14 | BGRU |
| 15 | BGR16 |
| 16 | BGRU16 |
| 17 | YUV422_JPEG |
Frame rates¶
The following tables lists the standard IIDC/DCAM frame rates for video modes other than Format7. Selecting a video mode (other than Format7) defines the choice of available standard frame rates. Selecting a standard frame rate actually defines a range of frame rates that are available, and the actual frame rate can be adjusted within this range with the FrameRate property. The FrameRate property is controlled with the EPICS FrameRateAbsVal or AcquirePeriod records.
Selection of a standard frame rate is done with the EPICS FrameRate record. This is an mbbo record that only has choices that are valid for the currently selected video mode. The enum values in this record are thus dynamic, and it is displayed in a separate GUI window that must be closed and re-opened when the video mode changes in order to guarantee that it is displaying the currently valid FrameRate choices. Note that not all frame rates are supported by the IIDC standard for every video mode, and even when a frame rate is supported by the standard it may not be implemented for a particular camera.
In Format 7 the frame rate settings do not apply, and the frame rate is controlled solely by the FrameRate property.
| Standard IIDC/DCAM Video Frame Rates | |
|---|---|
| Frame Rate Number | Frame Rate (Frames/second) |
| 0 | 1.875 |
| 1 | 3.75 |
| 2 | 7.5 |
| 3 | 15 |
| 4 | 30 |
| 5 | 60 |
| 6 | 120 |
| 7 | 240 |
Properties¶
The DCAM specification defines a number of standard features, which control things such as the brightness, white balance, shutter time, etc. For each feature the standard defines control in both device units (12-bit integers) and absolute units (floating point). For example shutter time may support absolute seconds, as well as device units. A feature may or may not be supported on a particular camera. If it is supported it may or may not permit control in absolute units. Each feature may support both manual control and automatic control (e.g. automatic gain control).
Point Grey supports 18 of these DCAM features, which they call Properties.
| Point Grey Camera Properties | ||
|---|---|---|
| Property Number | EPICS Record Base Name | Point Grey PropertyType enum |
| 0 | Brightness | BRIGHTNESS |
| 1 | AutoExposure | AUTO_EXPOSURE |
| 2 | Sharpness | SHARPNESS |
| 3 | WhiteBalance | WHITE_BALANCE |
| 4 | Hue | HUE |
| 5 | Saturation | SATURATION |
| 6 | Gamma | GAMMA |
| 7 | Iris | IRIS |
| 8 | Focus | FOCUS |
| 9 | Zoom | ZOOM |
| 10 | Pan | PAN |
| 11 | Tilt | TILT |
| 12 | Shutter | SHUTTER |
| 13 | Gain | GAIN |
| 14 | TriggerMode | TRIGGER_MODE |
| 15 | TriggerDelay | TRIGGER_DELAY |
| 16 | FrameRate | FRAME_RATE |
| 17 | Temperature | TEMPERATURE |
GigE Properties¶
Point Grey supports 4 properties that are specific to GigE cameras.
| Point Grey GigE Properties | ||
|---|---|---|
| Property Number | EPICS Record Base Name | Point Grey PropertyType enum |
| 0 | Heartbeat | HEARTBEAT |
| 1 | HeartbeatTimeout | HEARTBEAT_TIMEOUT |
| 2 | PacketSize | PACKET_SIZE |
| 3 | PacketDelay | PACKET_DELAY |
Standard areaDetector parameters¶
The following table describes how the Point Grey driver implements some of the standard driver parameters.
| Implementation of Parameters in asynNDArrayDriver.h and ADDriver.h, and EPICS Record Definitions in ADBase.template and NDFile.template | ||
|---|---|---|
| Parameter index variable | EPICS record name | Description |
| ADTriggerMode | $(P)$(R)TriggerMode | The choices for the Point Grey are:
”Internal”. The timing is internal to the detector. “Ext. standard”. Each external trigger pulse starts the next image. The exposure time is controlled internally by the AcquireTime record. “Bulb”. The rising edge of the external trigger signal starts the next image. The detector continues to acquire while the external signal is high, and then reads out the detector on the falling edge of the external trigger signal. “Skip frames”. One external trigger pulse starts an image and then the next N external trigger signals are ignored. The SkipFrames record defines N. “Multi-exposure”. One external trigger pulse starts an image and then the next N-1 external trigger signals cause an additional exposure into the same image. The image is read out after trigger N. The NumExposures record defines N. “Multi-exposure bulb”. A combination of bulb and multi-exposure modes above. N exposures are accumulated into an image before it is read out. The time in the logic high state determines the acquire time for each exposure. The NumExposures record defines N. “Low-smear”. Smear reduction works by increasing the speed of the vertical clock near the end of the integration cycle. See the Technical Reference Manual for the camera for more information. “Multi-shot”. A single external trigger causes N images to be acquired. The NumImages record defines N. NumImages is limited to a maximum 255 in this mode. Note that the minimum time between external trigger pulses is no more than the maximum value of FrameRate in the current mode, and may be less for a particular camera. Note also that not all cameras support all TriggerModes. The TriggerMode enum string choices are only those supported for the camera in use. |
| ADTemperatureActual | $(P)$(R)TemperatureActual | The readback of the temperature. |
| ADNumImages | $(P)$(R)NumImages | Controls the number of images to acquire. When TriggerMode=Internal this is handled in software. When TriggerMode=Multi-shot it is handled in the camera firmware. |
| ADNumExposures | $(P)$(R)NumExposures | Controls the number of exposures per image when TriggerMode=”Multi-exposure” or “Multi-exposure bulb”. |
| ADAcquireTime | $(P)$(R)AcquireTime | Controls the acquisition time per image. This is converted into the ShutterAbsVal control of the SHUTTER property. ShutterAbsVal = AcquireTime*1000., because SHUTTER units are ms. |
| ADAcquirePeriod | $(P)$(R)AcquirePeriod | Controls the period between images. This is converted into the FrameRateAbsVal control of the FRAME_RATE property. FrameRateAbsVal = 1./AcquirePeriod. |
| ADGain | $(P)$(R)Gain | Controls the analog gain on the camera. This is converted into the GainAbsVal control of the GAIN property. The units are dB. |
Point Grey specific driver parameters¶
The Point Grey driver implements the following parameters in addition to those in asynNDArrayDriver.h and ADDriver.h. The database file is pointGrey.template for all records except the property records, which are in pointGreyProperty.template.
| Parameter Definitions in pointGrey.cpp and EPICS Record Definitions | ||||||
|---|---|---|---|---|---|---|
| Parameter index variable | asyn interface | Access | Description | drvInfo string | EPICS record name | EPICS record type |
| Video mode parameters | ||||||
| PGVideoMode | asynInt32 | r/w | The video mode. All possible values are listed in the Video modes section above. The actual enum choices for this record will pnly include the video modes supported by the camera in use. | PG_VIDEO_MODE | $(P)$(R)VideoMode, $(P)$(R)VideoMode_RBV | mbbo , mbbi |
| PGFormat7Mode | asynInt32 | r/w | The Format7 mode when the camera is in VideoMode=Format7. This is discussed in the Format7 Modes section above. The actual enum choices for this record will only include the Format7 modes supported by the camera in use. | PG_FORMAT7_MODE | $(P)$(R)Format7Mode, $(P)$(R)Format7Mode_RBV | mbbo , mbbi |
| PGPixelFormat | asynInt32 | r/w | The pixel format when the camera is in VideoMode=Format7. This is discussed in the Pixel formats section above. The actual enum choices for this record will only include the pixel formats supported by the camera in use for the Format7Mode currently selected. | PG_PIXEL_FORMAT | $(P)$(R)PixelFormat, $(P)$(R)PixelFormat_RBV | mbbo , mbbi |
| PGConvertPixelFormat | asynInt32 | r/w | The driver allows converting the pixel format from the camera to another pixel format.
The pixel formats from the camera that can be converted are: Raw8 Raw12 Raw16 Mono12 The pixel format that these can be converted to are: None: The input pixel format is not converted. Mono8: The input pixel format is converted to Mono8. Raw16: The input pixel format is converted to Raw16. This is useful when the input pixel format is Raw12, since this saves network bandwidth. Mono16: The input pixel format is converted to Mono16. This is useful when the input pixel format is Mono12, since this saves network bandwidth. Note that the FlyCap2 library does not support converting Raw12 to Mono16. The difference between Raw16 and Mono16 is that Mono16 has the sharpness and gamma corrections applied, while Raw16 does not. RGB8: The input format is converted to RGB8. This is useful when the input format is Raw8, for a color camera. In this case Bayer color is sent on the network, reducing the bandwidth requirement by a factor of 3. RGB16: The input format is converted to RGB16. This is useful when the input format is Raw16, for a color camera. In this case Bayer color is sent on the network, reducing the bandwidth requirement by a factor of 3. |
PG_CONVERT_PIXEL_FORMAT | $(P)$(R)ConvertPixelFormat, $(P)$(R)ConvertPixelFormat_RBV | mbbo , mbbi |
| PGFrameRate | asynInt32 | r/w | The frame rate choice when the VideoMode is not Format7. This is discussed in the Frame rates section above. The actual enum choices for this record will only include the frame rates supported by the camera in use for the VideoMode currently selected. | PG_FRAME_RATE | $(P)$(R)FrameRate, $(P)$(R)FrameRate_RBV | mbbo , mbbi |
| BinningMode | asynInt32 | r/w | The binning mode for GigE cameras. The allowed values are camera-specific. | PG_BINNING_MODE | $(P)$(R)BinningMode, $(P)$(R)BinningMode_RBV | mbbo , mbbi |
| Property parameters, These parameters apply to each of the 18 Point Grey properties discussed in the `Properties`_ section above. |br| The $(PROPERTY) macro in this table is the EPICS record base name listed in that section. |br| These records are defined in pointGreyProperty.template. | ||||||
| PGPropertyAvail | asynInt32 | r/o | A flag indicating if the property is available. | PG_PROP_AVAIL | $(P)$(R)$(PROPERTY)Avail | bi |
| PGPropertyOnOffAvail | asynInt32 | r/o | A flag indicating if the property supports turning on and off. | PG_PROP_ON_OFF_AVAIL | $(P)$(R)$(PROPERTY)OnOffAvail | bi |
| PGPropertyOnOff | asynInt32 | r/w | Controls whether the property is on or off. | PG_PROP_ON_OFF | $(P)$(R)$(PROPERTY)OnOff , $(P)$(R)$(PROPERTY)OnOff_RBV | bo , bi |
| PGPropertyOnePushAvail | asynInt32 | r/o | A flag indicating if the property supports setting once (called One Push). This is typically used for setting things like the gain or shutter time automatically once. | PG_PROP_ONE_PUSH_AVAIL | $(P)$(R)$(PROPERTY)OnePushAvail | bi |
| PGPropertyOnePush | asynInt32 | r/w | Processing this record causes a one-push setting of the property. | PG_PROP_ONE_PUSH | $(P)$(R)$(PROPERTY)OnePush | bo |
| PGPropertyAbsAvail | asynInt32 | r/o | A flag indicating if the property supports absolute (floating point) control. | PG_PROP_ABS_AVAIL | $(P)$(R)$(PROPERTY)AbsAvail | bi |
| PGPropertyAutoAvail | asynInt32 | r/o | A flag indicating if the property supports automatic control. | PG_PROP_AUTO_AVAIL | $(P)$(R)$(PROPERTY)AutoAvail | bi |
| PGPropertyManAvail | asynInt32 | r/o | A flag indicating if the property supports manual control. | PG_PROP_MAN_AVAIL | $(P)$(R)$(PROPERTY)ManAvail | bi |
| PGPropertyAutoMode | asynInt32 | r/w | Controls whether the property is manually controlled or automatically controlled. | PG_PROP_AUTO_MODE | $(P)$(R)$(PROPERTY)AutoMode , $(P)$(R)$(PROPERTY)AutoMode_RBV | bo , bi |
| PGPropertyAbsAvail | asynInt32 | r/o | A flag indicating if the property supports absolute (floating point) control. | PG_PROP_ABS_AVAIL | $(P)$(R)$(PROPERTY)AbsAvail | bi |
| PGPropertyAbsMode | asynInt32 | r/w | Controls whether the property is controlled in integer device units or floating point absolute units. | PG_PROP_ABS_MODE | $(P)$(R)$(PROPERTY)AbsMode , $(P)$(R)$(PROPERTY)AbsMode_RBV | bo , bi |
| PGPropertyValue | asynInt32 | r/w | The value of the property in integer device units. This controls the ValueA field of the property, which is the only integer field used for all properties except WHITE_BALANCE. | PG_PROP_VAL | $(P)$(R)$(PROPERTY)Val , $(P)$(R)$(PROPERTY)Val_RBV | ao , ai |
| PGPropertyValueB | asynInt32 | r/w | The value of the property in integer device units. This controls the ValueB field of the property, which is only used to control the Blue value of WHITE_BALANCE. | PG_PROP_VAL_B | $(P)$(R)$(PROPERTY)ValB , $(P)$(R)$(PROPERTY)ValB_RBV | ao , ai |
| PGPropertyValueMin | asynInt32 | r/o | The minimum value of the property in device units. This is used to control the LOPR and DRVL fields of the $(P)$(R)$(PROPERTY)Val record. | PG_PROP_VAL_MIN | $(P)$(R)$(PROPERTY)ValMin | ai |
| PGPropertyValueMax | asynInt32 | r/o | The maximum value of the property in device units. This is used to control the HOPR and DRVH fields of the $(P)$(R)$(PROPERTY)Val record. | PG_PROP_VAL_MAX | $(P)$(R)$(PROPERTY)ValMax | ai |
| PGPropertyValueAbs | asynFloat64 | r/w | The value of the property in floating point absolute units. | PG_PROP_VAL_ABS | $(P)$(R)$(PROPERTY)ValAbs , $(P)$(R)$(PROPERTY)ValAbs_RBV | ao , ai |
| PGPropertyValueAbsMin | asynFloat64 | r/o | The minimum value of the property in absolute units. This is used to control the LOPR and DRVL fields of the $(P)$(R)$(PROPERTY)ValAbs record. | PG_PROP_VAL_ABS_MIN | $(P)$(R)$(PROPERTY)ValAbsMin | ai |
| PGPropertyValueAbsMax | asynFloat64 | r/o | The maximum value of the property in absolute units. This is used to control the HOPR and DRVH fields of the $(P)$(R)$(PROPERTY)ValAbs record. | PG_PROP_VAL_ABS_MAX | $(P)$(R)$(PROPERTY)ValAbsMax | ai |
| GigE Property parameters, These parameters apply to each of the 4 Point Grey GigE properties discussed in the `GigE Properties`_ section above. |br| The $(PROPERTY) macro in this table is the EPICS record base name listed in that section. |br| These records are defined in pointGreyProperty.template. | ||||||
| PGPropertyValue | asynInt32 | r/w | The value of the property in integer device units. This controls the ValueA field of the property, which is the only integer field used for all properties except WHITE_BALANCE. | PG_PROP_VAL | $(P)$(R)$(PROPERTY)Val , $(P)$(R)$(PROPERTY)Val_RBV | ao, ai |
| PGPropertyValueMin | asynInt32 | r/o | The minimum value of the property in device units. This is used to control the LOPR and DRVL fields of the $(P)$(R)$(PROPERTY)Val record. | PG_PROP_VAL_MIN | $(P)$(R)$(PROPERTY)ValMin | ai |
| PGPropertyValueMax | asynInt32 | r/o | The maximum value of the property in device units. This is used to control the HOPR and DRVH fields of the $(P)$(R)$(PROPERTY)Val record. | PG_PROP_VAL_MAX | $(P)$(R)$(PROPERTY)ValMax | ai |
| Trigger parameters | ||||||
| PGTriggerSource | asynInt32 | r/w | The trigger source signal. Choices are “GPIO_0”, GPIO_1”,”GPIO_2”, and “GPIO_3”, which selects one of 4 GPIO pins on the camera. However, not all choices may be available on a specific camera, and the enum choices will only be the trigger sources actually supported on the camera in use. | PG_TRIGGER_SOURCE | $(P)$(R)TriggerSource , $(P)$(R)TriggerSource_RBV | mbbo , mbbi |
| PGTriggerPolarity | asynInt32 | r/w | The trigger polarity. Choices are “Low”, and “High”. | PG_TRIGGER_POLARITY | $(P)$(R)TriggerPolarity , $(P)$(R)TriggerPolarity_RBV | bo , bi |
| PGSoftwareTrigger | asynInt32 | r/w | Processing this record causes the driver to issue a software trigger. | PG_SOFTWARE_TRIGGER | $(P)$(R)SoftwareTrigger | bo |
| PGSkipFrames | asynInt32 | r/w | The number of frames to skip when TriggerMode=”Skip frames”. | PG_SKIP_FRAMES | $(P)$(R)SkipFrames , $(P)$(R)SkipFrames_RBV | longout , longin |
| Strobe parameters | ||||||
| PGStrobeSource | asynInt32 | r/w | The strobe output signal. Choices are “GPIO_0”, GPIO_1”,”GPIO_2”, and “GPIO_3”, which selects one of 4 GPIO pins on the camera. However, not all choices may be available on a specific camera, and the enum choices will only be the strobe sources actually supported on the camera in use. | PG_STROBE_SOURCE | $(P)$(R)StrobeSource , $(P)$(R)StrobeSource_RBV | mbbo , mbbi |
| PGStrobeEnable | asynInt32 | r/w | Enables the strobe output. Choices are “Disable”, and “Enable”. | PG_STROBE_ENABLE | $(P)$(R)StrobeEnable , $(P)$(R)StrobeEnable_RBV | bo , bi |
| PGStrobePolarity | asynInt32 | r/w | The strobe polarity. Choices are “Low”, and “High”. | PG_STROBE_POLARITY | $(P)$(R)StrobePolarity , $(P)$(R)StrobePolarity_RBV | bo , bi |
| PGStrobeDelay | asynFloat64 | r/w | The delay of the strobe signal relative to the start of acquisition. | PG_STROBE_DELAY | $(P)$(R)StrobeDelay , $(P)$(R)StrobeDelay_RBV | ao , ai |
| PGStrobeDuration | asynFloat64 | r/w | The duration of the strobe signal. If zero then the strobe output is asserted during the image aquisition time. | PG_STROBE_DURATION | $(P)$(R)StrobeDuration , $(P)$(R)StrobeDuration_RBV | ao , ai |
| Bandwidth control parameters | ||||||
| PGMaxPacketSize | asynInt32 | r/o | The maximum packet size. This depends on the current acquisition settings for Firewire and USB cameras. For GigE cameras this is determined by calling DiscoverGigEPacketSize at startup, which should return the maximum Ethernet packet size supported between the camera and the IOC. However, this sometimes returns 9000 (jumbo packets) when jumbo packets are not in fact supported. In this case the user should manually set PacketSize to 1440 or image acquisition will fail. | PG_MAX_PACKET_SIZE | $(P)$(R)MaxPacketSize | longin |
| PGPacketSize | asynInt32 | r/w | The packet size to use. This is used to control the maximum bandwidth, and hence maximum frame rate, on Firewire and USB cameras. For GigE cameras it should be set to the largest packet size supported on the Ethernet connection between the camera and IOC. It should be set to 1440 for connections that do not support jumbo packets, and as large as 9000 for connections that do support jumbo packets. If PacketSize is set to 0 then the driver will use the current value of MaxPacketSize. | PG_PACKET_SIZE | $(P)$(R)PacketSize , $(P)$(R)PacketSize_RBV | ao , ai |
| PGPacketSizeActual | asynInt32 | r/o | The actual packet size being used. | PG_PACKET_SIZE_ACTUAL | $(P)$(R)PacketSizeActual | longin |
| PGPacketDelay | asynInt32 | r/w | The packet delay to use in microseconds. This is used to control the maximum bandwidth, and hence maximum frame rate, on GigE cameras. It is not used for Firewire or USB cameras. The default is 400 microseconds. If the number of CorruptFrames is large then this can be increased, for example to 1000. This will reduce the maximum frame rate but can significantly reduce the number of CorruptFrames. | PG_PACKET_DELAY | $(P)$(R)PacketDelay , $(P)$(R)PacketDelay_RBV | longout , longin |
| PGPacketDelayActual | asynInt32 | r/o | The actual packet delay being used. | PG_PACKET_DELAY_ACTUAL | $(P)$(R)PacketDelayActual | longin |
| PGBandwidth | asynFloat64 | r/o | The calculated bandidth in MB/s. This is computed from the image size and the frame rate. | PG_BANDWIDTH | $(P)$(R)Bandwidth | ai |
| Timestamp parameters | ||||||
| PGTimeStampMode | asynInt32 | r/w | The timestamp mode. Controls the value of the NDArray,.timeStamp value. Choices are: Camera: The time from the camera is used. EPICS: The EPICS time is used Hybrid: The EPICS time when the camera started is combined with the time stamp from the camera. |
PG_TIME_STAMP_MODE | $(P)$(R)TimeStampMode, $(P)$(R)TimeStampMode_RBV | mbbo, mbbi |
| Camera statistics | ||||||
| PGCorruptFrames | asynInt32 | r/o | The number of corrupt frames. The Point Grey SDK resets this to 0 each time acquisition is started. | PG_CORRUPT_FRAMES | $(P)$(R)CorruptFrames_RBV | longin |
| PGDroppedFrames | asynInt32 | r/o | The number of dropped frames. The Point Grey SDK resets this to 0 each time acquisition is started. | PG_DROPPED_FRAMES | $(P)$(R)DroppedFrames_RBV | longin |
| PGDriverDropped | asynInt32 | r/o | The number of frames dropped by the driver. The Point Grey SDK resets this to 0 each time acquisition is started. | PG_DRIVER_DROPPED | $(P)$(R)DriverDropped_RBV | longin |
| PGTransmitFailed | asynInt32 | r/o | The number of time transmission failed. The Point Grey SDK resets this to 0 each time acquisition is started. | PG_TRANSMIT_FAILED | $(P)$(R)TransmitFailed_RBV | longin |
Configuration¶
The Point Grey driver is created with the pointGreyConfig command, either from C/C++ or from the EPICS IOC shell.
pointGreyConfig(const char *portName, const char* cameraId, int traceMask, int memoryChannel,
int maxBuffers, size_t maxMemory,
int priority, int stackSize)
The cameraId parameter can either be an index of the camera in the list of available cameras (e.g. 0 if there is only a single Point Grey camera available) or the serial number of the camera to use. For additional details on the meaning of the parameters to this function refer to the detailed documentation on the pointGreyConfigConfig function in the pointGrey.cpp documentation and in the documentation for the constructor for the pointGrey class.
The traceMask can be set to a value > 1 to enable asynTrace debugging during initialization, before the value can be set from the IOC shell or via the asynRecord. Set this to 0x21 to enable ASYN_TRACE_WARNING, which will trace all calls to the Point Grey FlyCap2 library.
The memoryChannel can be set to a value > 0 to load the initial camera parameters from non-volatile memory in the camera. Setting memoryChannel to N loads from memoryChannel N-1, i.e. 1 loads memory channel 0. There is currently a problem with Linux and for BlackFly GigE cameras. If the IOC is run a second time after it has been used to acquire any images the driver loses communication with the camera. The problem appears to be that there is a corrupt setting in the camera, which causes it to malfunction the next time the program is run. Setting memoryChannel 1 will work around this problem by replacing the settings in the camera with a default set. Since the EPICS IOC sets nearly all the camera settings to save/restore values at startup anyway, this is not a serious limitation.
Example st.cmd startup file¶
The following startup script is provided with ADPointGrey.
< envPaths
errlogInit(20000)
dbLoadDatabase("$(TOP)/dbd/pointGreyApp.dbd")
pointGreyApp_registerRecordDeviceDriver(pdbbase)
# Prefix for all records
epicsEnvSet("PREFIX", "13PG1:")
# Use this line for the first Point Grey camera in the system
#epicsEnvSet("CAMERA_ID", "0")
# Use this line for a specific camera by serial number, in this case a Flea2 Firewire camera
#epicsEnvSet("CAMERA_ID", "9211601")
# Use this line for a specific camera by serial number, in this case a Grasshopper3 USB-3.0 camera
# This is the GSECARS tomography camera
#epicsEnvSet("CAMERA_ID", "13510305")
# This is another GSECARS tomography camera
#epicsEnvSet("CAMERA_ID", "15355695")
# This is another GSECARS tomography camera
#epicsEnvSet("CAMERA_ID", "15337483")
# This is the 13-ID-D Grasshopper3 GigE camera, gse-pointgrey2
#epicsEnvSet("CAMERA_ID", "14481221")
# This is the 13-ID-D Grasshopper3 GigE camera, gse-pointgrey3
#epicsEnvSet("CAMERA_ID", "14481209")
# This is the GSECARS LVP CMOS camera
#epicsEnvSet("CAMERA_ID", "14120134")
# This is the GSECARS LVP CCD camera
#epicsEnvSet("CAMERA_ID", "15452742")
# This is the 2-BM camera
#epicsEnvSet("CAMERA_ID", "15355637")
# This is the 2-BM GS3-U3-91S6M-C camera
#epicsEnvSet("CAMERA_ID", "13510309")
# Use this line for a specific camera by serial number, in this case a BlackFly GigE camera
#epicsEnvSet("CAMERA_ID", "13481965")
#epicsEnvSet("CAMERA_ID", "16292610")
epicsEnvSet("CAMERA_ID", "18402100")
#epicsEnvSet("CAMERA_ID", "1624484")
# Use this line for a specific camera by serial number, in this case a Flea3 GigE camera
# epicsEnvSet("CAMERA_ID", "14273040")
#epicsEnvSet("CAMERA_ID", "17476170")
# The port name for the detector
epicsEnvSet("PORT", "PG1")
# Really large queue so we can stream to disk at full camera speed
epicsEnvSet("QSIZE", "2000")
# The maximim image width; used for row profiles in the NDPluginStats plugin
epicsEnvSet("XSIZE", "2048")
# The maximim image height; used for column profiles in the NDPluginStats plugin
epicsEnvSet("YSIZE", "2048")
# The maximum number of time series points in the NDPluginStats plugin
epicsEnvSet("NCHANS", "2048")
# The maximum number of frames buffered in the NDPluginCircularBuff plugin
epicsEnvSet("CBUFFS", "500")
# The search path for database files
epicsEnvSet("EPICS_DB_INCLUDE_PATH", "$(ADCORE)/db")
# Define NELEMENTS to be enough for a 2048x2048x3 (color) image
epicsEnvSet("NELEMENTS", "12592912")
# pointGreyConfig(const char *portName, int cameraId, int traceMask, int memoryChannel,
# int maxBuffers, size_t maxMemory, int priority, int stackSize)
pointGreyConfig("$(PORT)", $(CAMERA_ID), 0x1, 0)
asynSetTraceIOMask($(PORT), 0, 2)
#asynSetTraceMask($(PORT), 0, 0xFF)
#asynSetTraceFile($(PORT), 0, "asynTrace.out")
#asynSetTraceInfoMask($(PORT), 0, 0xf)
dbLoadRecords("$(ADPOINTGREY)/db/pointGrey.template", "P=$(PREFIX),R=cam1:,PORT=$(PORT),ADDR=0,TIMEOUT=1")
dbLoadTemplate("pointGrey.substitutions")
# Create a standard arrays plugin
NDStdArraysConfigure("Image1", 5, 0, "$(PORT)", 0, 0)
# Use this line for 8-bit data only
#dbLoadRecords("$(ADCORE)/db/NDStdArrays.template", "P=$(PREFIX),R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT),TYPE=Int8,FTVL=CHAR,NELEMENTS=$(NELEMENTS)")
# Use this line for 8-bit or 16-bit data
dbLoadRecords("$(ADCORE)/db/NDStdArrays.template", "P=$(PREFIX),R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT),TYPE=Int16,FTVL=SHORT,NELEMENTS=$(NELEMENTS)")
# Load all other plugins using commonPlugins.cmd
< $(ADCORE)/iocBoot/commonPlugins.cmd
set_requestfile_path("$(ADPOINTGREY)/pointGreyApp/Db")
iocInit()
# save things every thirty seconds
create_monitor_set("auto_settings.req", 30,"P=$(PREFIX)")
# Wait for enum callbacks to complete
epicsThreadSleep(1.0)
# Records with dynamic enums need to be processed again because the enum values are not available during iocInit.
dbpf("$(PREFIX)cam1:Format7Mode.PROC", "1")
dbpf("$(PREFIX)cam1:PixelFormat.PROC", "1")
# Wait for callbacks on the property limits (DRVL, DRVH) to complete
epicsThreadSleep(1.0)
# Records that depend on the state of the dynamic enum records or property limits also need to be processed again
# Other property records may need to be added to this list
dbpf("$(PREFIX)cam1:FrameRate.PROC", "1")
dbpf("$(PREFIX)cam1:FrameRateValAbs.PROC", "1")
dbpf("$(PREFIX)cam1:AcquireTime.PROC", "1")
MEDM screens¶
The following show the MEDM screens that are used to control the Point Grey cameras.
pointGrey.adl
is the main screen used to control Point Grey cameras.
pointGreyProperties.adl
is the screen used to control the properties
of Point Grey cameras. Note that some of these properties, such as
Shutter, FrameRate, and Gain can also be controlled by standard
areaDetector records, like AcquireTime, AcquirePeriod, and Gain. The
widgets on the medm screen are hidden if the corresponding feature is
not available.
pointGreyProperties.adl for a BlackFly GigE color camera in RGB mode
pointGreyProperties.adl for a Grasshopper3 monochrome camera
pointGreyFrameRate.adl
is the screen used to control the frame rate
in standard video modes. This is a separate screen because the valid
enum strings for the Framerate record can change when the standard video
mode is changed. When that is changed it is necessary to close this
screen and re-open it in order for the new menus to be displayed. This
is a limitation of the EPICS Channel Access which does not send monitor
events for changes in enum fields. Note that the readback of the
FrameRate on the main pointGrey.adl screen can also be incorrect, so it
may be necessary to close and re-open that main screen as well.
pointGreyPixelFormat.adl
is the screen used to control the pixel
format in Format7 mode. This is a separate screen because the valid enum
strings for the PixelFormat can change when the Format7 mode is changed.
When that is changed it is necessary to close this screen and re-open it
in order for the new menus to be displayed. This is a limitation of the
EPICS Channel Access which does not send monitor events for changes in
enum fields. Note that the readback of the PixelFormat on the main
pointGrey.adl screen can also be incorrect, so it may be necessary to
close and re-open that main screen as well.