Data Discovery
All variables here are from Understanding Society unless otherwise stated
Although at first glance lots of variables are only asked intermittently, I think we will be able to derive lots of useful information from those that are asked more often. E.g. MRS social class in psychosocial is only included on two non-consecutive waves, however RG Social Class: present job was asked at every wave with good detail, which can be used to derive MRS.
Wage/Income
Individual income variables - this page details the six components of individual net income, and which variables in BHPS or US that relate to these components.
Only going to list labour income variables, as there are lots of others that are unrelated to this work. A living wage will only affect labour income.
N.B. The top variable here (fimnlabnet_dv) is a derived variable, which is the sum of three earnings components:
paynu_dv
: net usual payseearnnet_dv
: net self-employment incomej2paynet_dv
: net pay in second job
Variable |
Label |
Datafile |
Waves |
Notes |
|---|---|---|---|---|
LABOUR |
INCOME |
|||
amount income component 1: net labour income |
indresp |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 |
Derived variable, sum of the next three variables in this table. |
|
Total monthly labour gross income |
indresp |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, bh01, bh02, bh03, bh04, bh05, bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Gross monthly pay rather than net. |
|
Total gross household labour income: month before interview |
hhresp |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 |
Gross monthly household income. |
|
Usual net pay per month: current job |
indresp |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, bh01, bh02, bh03, bh04, bh05, bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Component of labour income. |
|
Self employment earnings - net |
indresp |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 |
Component of labour income |
|
Pay in second job |
indresp |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, bh01, bh02, bh03, bh04, bh05, bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Component of labour income. |
|
Basic pay hourly rate |
indresp |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
||
No. of hours normally worked per week |
indresp |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Behaviour - Nutrition
(food security, hunger, better quality food)
Variables related to food and nutrition are somewhat lacking in US. Some variables included here are not very strongly related or at best incomplete in capturing the topic.
Variable |
Label |
Datafile |
Waves |
Notes |
|---|---|---|---|---|
Food |
Security |
|||
Food banks usage |
hhresp |
11 |
Only in wave 11, might be useful as a component of a constructed/aggregated variable |
|
Eat meat on alternate days |
hhresp |
bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Think this can fit in both hunger or food security. As the last time this was asked was in BHPS wave 18 (2008), I don’t think the answers would be related to health or environmental reasons. Comes under index terms for financial management: problems and financial management: material wellbeing so we can be confident this is a financial decision. |
|
How often: eat out |
indresp |
bh06, bh08, bh10, bh12, bh14, bh16, bh18 |
Comes under index terms for time use and leisure activities, however we could investigate how income/wealth is related to those who answered never/almost never.Clutching at straws a little here as theres not much to go on. |
|
Hunger |
||||
Days eats breakfast |
indresp |
7, 9, 11 |
Could be for many reasons other than lack of access to food, however included this as there are not many variables that can relate to hunger. |
|
filling meal a day: no, no money for this |
hhresp |
4, 6, 8, 10 |
Household question, only asked if there is a pensioner in the house. |
|
Food |
Quality |
|||
Days each week eat fruit |
indresp |
2, 5, 7, 9, 11 |
Including tinned, frozen, dried and fresh.Question asks for usual week.Categories: Never, 1-3d, 4-6d, everyday |
|
Days each week eat vegetables |
indresp |
2, 5, 7, 9, 11 |
Including tinned, frozen and fresh.Does not include potatoes, crisps, or chips.Same categories as above. |
|
Eat fruit and veg every day |
hhresp |
4, 6, 8, 10 |
Only asked if there is at least one child (age 0-15) living in the household. |
Behaviour - Alcohol and Tobacco Consumption
(increase/decrease?)
Variable |
Label |
Datafile |
Waves |
Notes |
|---|---|---|---|---|
Alcohol |
||||
Drank alcohol last 7 days |
indresp |
2, 5 |
Binary, only asked if answered previous question stating that respondent has had an alcoholic drink in last 12 months. Also only asked in self-completion or telephone interviews. |
|
Past 12 months alcoholic drink |
indresp |
7, 9, 11 |
Binary |
|
Alcohol frequency past 12 months |
indresp |
7, 9, 11 |
Ordinal, 5 categories ranging from Never, monthly or less, …, up to 4+ times per week. |
|
Ever had an alcoholic drink |
indresp |
3, 4, 6, 8, 10 |
Only asked for young adults aged 16-21. |
|
Frequency of 5 plus alcoholic drinks |
indresp |
3, 4, 6, 8, 10 |
Again only asked for young adults aged 16-21. One drink is defined as one pint/bottle/can of beer or cider, 2 alcopops, one small glass of wine, a single measure of spirits. |
|
Health problems: Alcohol or drugs |
indresp |
bh01, bh02, bh03, bh04, bh05, bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Binary, positive response indicates problem with either alcohol or drugs.Very low relative frequency of positive response but could still be useful. |
|
Total amount spent on alcohol |
hhresp |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 |
Household spending in past 4 weeks. Includes all alcohol (supermarkets/shops, pubs, restaurants, other venues). |
|
Past month: how many alcoholic drinks? |
indresp |
3, 4, 6, 8, 10 |
Ordinal, question specifies how many times in the past month, not how many drinks. |
|
How often have you had an alcoholic drink during the last 12 months? |
indresp |
2, 5 |
Ordinal variable with 8 categories. Almost every day, …, once or twice a week, …, once or twice a year, not at all in last 12 months. |
|
Tobacco |
||||
Smoker |
indresp |
6, 7, 8, 9, 10, 11, bh01, bh02, bh03, bh04, bh05, bh06, bh07, bh08, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Simple binary, ‘do you smoke cigarettes?’ |
|
Ever smoked cigarettes? |
indresp |
2, 5, bh09 |
Cigarette, cigar, or pipe. |
|
Smoke nowadays |
indresp |
2, 5, bh09 |
Asked if smever == 1 |
|
Smoking history |
indresp |
2, 5, bh09, bh12 |
Text: _Have you ever smoked cigarettes regularly, that is at least one cigarette a day, or did you smoke them only occasionally?_If smever == 1 (yes) && smnow == 2 (does no smoke nowadays). |
|
Usual no. of cigarettes smoked per day |
indresp |
2, 5, 6, 7, 8, 9, 10, 11, bh01, bh02, bh03, bh04, bh05, bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Asked if smoker == 1 |
|
Number of cigarettes smoked in past |
indresp |
2, 5, bh09 |
If smever == 1 (ever smoked)&& smnow == 2 (does not smoke now)&& smcigs == 1 (used to smoke regularly) |
|
Uses electronic cigarettes |
indresp |
9, 10, 11 |
Ordinal. |
Housing Quality
(decent homes = less damp, warmer, housing security)
Still to do: Look for more vars related to housing security.
Variable |
Label |
Datafile |
Waves |
Notes |
|---|---|---|---|---|
Satisfaction with: house/flat |
indresp |
bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Ordinal, 7 categories from:Not satisfied at all -> Completely satisfied |
|
Material deprivation: house |
hhresp |
1, 2, 4, 6, 8, 10 |
Question Text:Enough money to keep your house in a decent state of repair? |
|
Problems paying for housing |
hhresp |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, bh01, bh02, bh03, bh04, bh05, bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Many people find it hard to keep up with their housing payments. In the last twelve months, have you ever found yourself behind with your rent/mortgage? |
|
Accom: not enough light |
hhresp |
bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Binary |
|
Accom: lack of adequate heating |
hhresp |
bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Binary |
|
Accom: condensation |
hhresp |
bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Binary |
|
Accom: leaky roof |
hhresp |
bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Binary |
|
Accom: damp walls, floors etc. |
hhresp |
bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Binary |
|
Accom: rot in windows, floors |
hhresp |
bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Binary |
|
home good state of repair: no, no money for this |
hhresp |
4, 6, 8, 10 |
Specifically about pensioners and only asked if pensioner in the house. |
|
damp-free home: no, no money for this |
hhresp |
4, 6, 8, 10 |
Again pensioners only |
|
home kept warm: no, no money for this |
hhresp |
4, 6, 8, 10 |
Pensioner |
|
keep accommodation warm enough |
hhresp |
1, 2, 4, 6, 8, 9, 10, 11 |
Asked of everyone, specifically about keeping the house warm enough in winter. |
Moving Home
(could mean less overcrowding, better neighbourhood with more green space, different cultural norms, better recreational and health care facilities, better food outlets, less tobacco and alcohol outlets, less crime and anti-social behaviours)
Variable |
Label |
Datafile |
Waves |
Notes |
|---|---|---|---|---|
Accom: shortage of space |
hhresp |
bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Binary |
|
Accom: noise from neighbours |
hhresp |
bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Binary |
|
Accom: street noise |
hhresp |
bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Binary |
|
Number of bedrooms |
hhresp |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, bh01 |
||
Accom: has terrace/garden |
hhresp |
bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Should be used alongside hsgdns, which is Accom: is terrace/garden shared? |
|
Accom: pollution/environmental problems |
hhresp |
bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
||
Number of rooms in accomodation |
hhresp |
bh01, bh02, bh03, bh04, bh05, bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
||
Neighbourhood |
||||
conditions of residential properties |
hhsamp |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 |
Ordinal, 4 levels |
|
Boarded houses: abandoned buildings: demolished houses or demolished buildings |
hhsamp |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 |
Thought this would relate to the neighbourhood quality. |
|
trash: litter or junk in street/road |
hhsamp |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 |
||
heavy traffic on street/road |
hhsamp |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 |
||
Neighbourhood Social Cohesion,(Î±= .8) |
indresp |
3, 6 |
Summary of 4 variables on neighbourhood social cohesion. Ordinal var with range from 4 (no cohesion) to 20 (strong cohesion). |
|
Am similar to others in neighbourhood |
indresp |
1, 3, 6, 9 |
I think of myself as similar to the people that live in this neighbourhood. |
|
people in this neighbourhood can be trusted |
indresp |
3, 6 |
||
Buckner’s Neighbourhood Cohesion Instrument, short (alpha ±= .88) |
indresp |
1, 3, 6, 9 |
||
extent of: homes broken into |
hhresp, indresp |
3, 6, 9, bh07, bh12, bh17 |
This and the following 8 vars (labels all start with ‘extent of: ‘ are more objective measures of the quality of a neighbourhood (still measured subjectively, but asking about specific things). |
|
extent of: cars stolen/broken into |
indresp, hhresp |
3, 6, 9, bh07, bh12, bh17 |
||
extent of: drunks/tramps on street |
hhresp, indresp |
3, 6, 9, bh07, bh12, bh17 |
||
extent of: graffiti on walls |
indresp, hhresp |
3, 6, 9, bh07, bh12, bh17 |
||
extent of: people attacked on street |
indresp, hhresp |
3, 6, 9, bh07, bh12, bh17 |
||
extent of: racial insults/attacks |
hhresp, indresp |
3, 6, 9, bh07, bh12, bh17 |
||
extent of: teenagers hanging about |
indresp, hhresp |
3, 6, 9, bh07, bh12, bh17 |
||
extent of: vandalism |
hhresp, indresp |
3, 6, 9, bh07, bh12, bh17 |
||
extent of: rubbish on street |
hhresp |
3, 6, 9 |
||
worry about being affected by crime |
indresp |
3, 6, bh07, bh12, bh17 |
Binary |
|
extent of worry about crime |
indresp |
3, 6, bh07, bh12, bh17 |
Ordinal, 3 levels |
|
Suitability of area for raising children |
indresp |
bh08, bh13, bh18 |
||
Council tax band of accommodation |
hhresp |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, bh06, bh07, bh08, bh09, bh10, bh11, bh12, bh13, bh14, bh15, bh16, bh17, bh18 |
Don’t know if this is important or not but must have some relationship to neighbourhood? |
|
At school |
indresp |
3, 5, 7, 9, 11 |
This and the following 12 variables all relate to feeling safe in specific places. |
|
At college/university |
indresp |
3, 5, 7, 9, 11 |
||
At work |
indresp |
3, 5, 7, 9, 11 |
||
On public transport |
indresp |
3, 5, 7, 9, 11 |
||
At/near Bus/train stn |
indresp |
3, 5, 7, 9, 11 |
||
In Shopping centres, etc |
indresp |
3, 5, 7, 9, 11 |
||
In cinema, cafes |
indresp |
3, 5, 7, 9, 11 |
||
At pub/disco/club |
indresp |
3, 5, 7, 9, 11 |
||
In car parks |
indresp |
3, 5, 7, 9, 11 |
||
Outside, street/park |
indresp |
3, 5, 7, 9, 11 |
||
At home |
indresp |
3, 5, 7, 9, 11 |
||
Not, in last 12 months |
indresp |
3, 5, 7, 9, 11 |
||
Other places |
indresp |
3, 5, 7, 9, 11 |
||
extent of worry about crime |
indresp |
3, 6, bh07, bh12, bh17 |
Think this var is part of the pathway between the quality of the neighbourhood and mental health. If a person is very worried about crime and in a high crime area then it will likely affect mental health. |
|
worry about being affected by crime |
indresp |
3, 6, bh07, bh12, bh17 |
See above, in the same vein. |
|
Access To |
Services |
|||
able to access services when need to |
indresp |
3, 6 |
Bit crap that it only runs for 2 waves, might be able to find a better var for this. |
|
Suitability of area for raising children |
indresp |
bh08, bh13, bh18 |
||
Standard of local services: Schools |
indresp |
bh08, bh13, bh18 |
This and the following are much better variables related to services but still don’t run for very long. Could use them to create a summary variable that relates to the quality of services and access to them in the neighbourhood. This maybe wouldn’t be too useful in longitudinal models but could be interesting to see what relationship it has with mental health. OR on the other hand, we could investigate the relationship between all of these things individually and mental health and try to determine which if any are important. |
|
standard of local services: primary schools |
indresp |
3, 6 |
||
standard of local services: secondary schools |
indresp |
3, 6 |
||
standard of local services: medical |
indresp |
3, 6, bh08, bh13, bh18 |
||
standard of public transport |
indresp |
3, 6, bh08, bh13, bh18 |
||
standard of local services: shopping |
indresp |
3, 6, bh08, bh13, bh18 |
||
standard of local services: leisure |
indresp |
3, 6, bh08, bh13, bh18 |
||
financial reasons |
indresp |
3, 6 |
Text: What stops you from accessing services such as healthcare, food shops and learning facilities when you need to? |
Physical Well-Being
(e.g. do you have certain physical ailments? Does your physical well-being effect your ability to be social or work?)
Variable Name |
Description |
Source |
Waves |
Notes |
|---|---|---|---|---|
Able to do X? |
indresp |
7, 9, 11 |
Many variables of this form. Not listing them here.. |
|
Ease of doing X? |
indresp |
7, 9, 11 |
See above |
|
Do you have disease X type Y? (e.g. cancer, arthritis) |
indresp |
9, 10, 11 |
Many variables for every having a disease as well as history and severity. E.g. have you had a heart attack ever/ between interviews. |
|
Do you require assistance from X/ todo X? |
indresp |
7, 9, 11 |
Does a person get help from medical/professionals/volunteers to do essential tasks such as getting groceries. |
|
Does your physical well-being affect X? |
indresp |
2, 3, 4, 5, 6, 7, 8, 9, 10, 11 |
SF1 survey values. Usually 5 tier likert scales. Vague/subjective questions but greater coverage. |
|
What is your Short form 12 (SF-12 ) physical component score? |
indresp |
1,2,3,4,5,6,7,8,9,10,11 |
Continuous variable. Normalised to N(50,10) but still right skewed. See: A 12-Item Short-Form Health Survey |
Mental Well-Being
(e.g. do you have certain mental ailments?
Variable |
Label |
Datafile |
Waves |
Notes |
|---|---|---|---|---|
Do you have disease X type Y? (e.g. depression, anxiety.) |
indresp |
9, 10, 11 |
Many variables for every having a disease as well as history and severity. E.g. have you had panic attacks ever/ between interviews. |
|
Does your mental well-being affect X? |
indresp |
2, 3, 4, 5, 6, 7, 8, 9, 10, 11 |
SF1 survey values. Usually 5 tier likert scales. Vague/subjective questions but greater coverage. |
|
What is your Short form 12 (SF-12 ) mental component score? |
indresp |
1,2,3,4,5,6,7,8,9,10,11 |
Continuous variable. Normalised to N(50,10) but still right skewed. |
|
What is your Short Warwick Edinburgh Mental Well-Being Scale? |
indresp |
1, 4, 7, 10 |
Warwick Edinburgh mental wellbeing scale. 7-35 likert scale. Pseudo-continuous. |
|
Do you have trouble with X? |
indresp |
1,2,3,4,5,6,7,8,9,10,11 |
General Health Questions. Subjective 4 tier likert scales. Not reliable but provide a good relative measure of health between interviews. |


Welcome to BurgerHeaven
Select Burgers
select your burger here
Customer information
Delivery info
Full Name
Email
Street
House
Select gender
Male
Female
Other
Don't want to specify
Payment method
Select your payment method here
Payment method
Master Card
Visa Card
Swish
Cash
Place order


OpenUrl genes CrossRef language human changes domestication selection Benítez-Burraco candidates self-domestication modern ancient recent evolution nonsynonymous Abstract FREE SNPs Text development features sets related Chekalin Europeans genetic genomic languages Age Science cognitive complex seemingly signals differences enrichment impact increased mutations AMHs Boeckx DNSE account cultural domesticated humans involved resulted resulting selected Bronze Sci Somel Theofanopoulou Wilkins analyzed behavior, candidate considered data domestication. emergence genes. groups including languages, list paper pathways regions role samples (), (Supplemental Biol Murphy Proc adaptation analysis associated behavior column compared expected genomes important neural positive scores social table Acad European Homo Indo-European Kempe, Natl Neanderthals Web brain crest encompassed enhanced evidence exoteric function gene genome group hypothesis relied results reveals sort suggested using (). ./nature Anthropol. Genetics Hare Herrmann Nature Pääbo Sci. Thomas Trut and/or aspects attested autism biological calculated cognition cognition, compiled culture deficits different disorder dog enriched events, evolution. groups. individuals like mammal non-synonymous particularly, present-day revealed schizophrenia score self-domestication, set significant specific transition use values years


Customer Details
First Name
Last Name
Gender
Male
Female
Email
Phone
Town
Plovdiv
Sofia
Varna
Велико Търново
Age
Language
Message
I agree the Terms and Conditions


Class ImageSvgConverter
This converts the SVG file to static or bitmap image, which is saved to a file.
Implements
Inherited Members
Namespace: SharpVectors.Converters
Assembly: SharpVectors.Converters.Wpf.dll
Syntax
public sealed class ImageSvgConverter : SvgConverter, IDisposable
Remarks
The image is save with the Pbgra32 format, since that is the only pixel format which does not throw an exception with the RenderTargetBitmap.
The DPI used is 96.
Constructors
ImageSvgConverter(WpfDrawingSettings)
Initializes a new instance of the ImageSvgConverter class with the specified drawing or rendering settings.
Declaration
public ImageSvgConverter(WpfDrawingSettings settings)
Parameters
| Type | Name | Description |
|---|---|---|
| WpfDrawingSettings | settings | This specifies the settings used by the rendering or drawing engine. If this is null, the default settings is used. |
ImageSvgConverter(Boolean, Boolean, WpfDrawingSettings)
Initializes a new instance of the ImageSvgConverter class with the specified drawing or rendering settings and the saving options.
Declaration
public ImageSvgConverter(bool saveXaml, bool saveZaml, WpfDrawingSettings settings)
Parameters
| Type | Name | Description |
|---|---|---|
| Boolean | saveXaml | This specifies whether to save result object tree in image file. |
| Boolean | saveZaml | This specifies whether to save result object tree in ZAML file. The ZAML is simply a G-Zip compressed image format, similar to the SVGZ. |
| WpfDrawingSettings | settings | This specifies the settings used by the rendering or drawing engine. If this is null, the default settings is used. |
Properties
Drawing
Gets the last created drawing.
Declaration
public DrawingGroup Drawing { get; }
Property Value
| Type | Description |
|---|---|
| DrawingGroup | A DrawingGroup specifying the last converted drawing. |
Encoder
Gets or sets a custom bitmap encoder to use in encoding the drawing to an image file.
Declaration
public BitmapEncoder Encoder { get; set; }
Property Value
| Type | Description |
|---|---|
| BitmapEncoder | A derived BitmapEncoder object specifying the bitmap encoder for encoding the images. The default is null, and the EncoderType property determines the encoder used. |
Remarks
If the value of this is set, it must match the MIME type or file extension defined by the EncoderType property for it to be used.
EncoderType
Gets or set the bitmap encoder type to use in encoding the drawing to an image file.
Declaration
public ImageEncoderType EncoderType { get; set; }
Property Value
| Type | Description |
|---|---|
| ImageEncoderType | An enumeration of the type ImageEncoderType specifying the bitmap encoder. The default is the PngBitmap. |
FallbackOnWriterError
Gets or sets a value indicating whether to fall back and use the .NET Framework image writer when an error occurred in using the custom writer.
Declaration
public bool FallbackOnWriterError { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean | This is true if the converter falls back to using the system image writer when an error occurred in using the custom writer; otherwise, it is false. If false, an exception, which occurred in using the custom writer will be thrown. The default is false. |
WriterErrorOccurred
Gets a value indicating whether a writer error occurred when using the custom image writer.
Declaration
public bool WriterErrorOccurred { get; }
Property Value
| Type | Description |
|---|---|
| Boolean | This is true if an error occurred when using the custom image writer; otherwise, it is false. |
XamlFile
Gets the output XAML file path if generated.
Declaration
public string XamlFile { get; }
Property Value
| Type | Description |
|---|---|
| String | A string containing the full path to the XAML if generated; otherwise, it is null. |
ZamlFile
Gets the output ZAML file path if generated.
Declaration
public string ZamlFile { get; }
Property Value
| Type | Description |
|---|---|
| String | A string containing the full path to the ZAML if generated; otherwise, it is null. |
Methods
Convert(Stream, String)
This performs the conversion of the specified SVG source, and saves the output to the specified image file.
Declaration
public bool Convert(Stream svgStream, string imageFileName)
Parameters
| Type | Name | Description |
|---|---|---|
| Stream | svgStream | A stream providing access to the SVG source data. |
| String | imageFileName | The output image file. This is optional. If not specified, an image file is created in the same directory as the SVG file. |
Returns
| Type | Description |
|---|---|
| Boolean | This returns true if the conversion is successful; otherwise, it return false. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | If the -or- If thesvgStream is null.
|
| ArgumentException | If the |
Convert(TextReader, String)
This performs the conversion of the specified SVG source, and saves the output to the specified image file.
Declaration
public bool Convert(TextReader svgTextReader, string imageFileName)
Parameters
| Type | Name | Description |
|---|---|---|
| TextReader | svgTextReader | A text reader providing access to the SVG source data. |
| String | imageFileName | The output image file. This is optional. If not specified, an image file is created in the same directory as the SVG file. |
Returns
| Type | Description |
|---|---|
| Boolean | This returns true if the conversion is successful; otherwise, it return false. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | If the -or- If thesvgTextReader is null.
|
| ArgumentException | If the |
Convert(String)
This performs the conversion of the specified SVG file, and saves the output to an image file with the same file name.
Declaration
public bool Convert(string svgFileName)
Parameters
| Type | Name | Description |
|---|---|---|
| String | svgFileName | The full path of the SVG source file. |
Returns
| Type | Description |
|---|---|
| Boolean | This returns true if the conversion is successful; otherwise, it return false. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | If the |
| ArgumentException | If the -or- If thesvgFileName does not exists.
|
Convert(String, String)
This performs the conversion of the specified SVG file, and saves the output to the specified image file.
Declaration
public bool Convert(string svgFileName, string imageFileName)
Parameters
| Type | Name | Description |
|---|---|---|
| String | svgFileName | The full path of the SVG source file. |
| String | imageFileName | The output image file. This is optional. If not specified, an image file is created in the same directory as the SVG file. |
Returns
| Type | Description |
|---|---|
| Boolean | This returns true if the conversion is successful; otherwise, it return false. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | If the |
| ArgumentException | If the -or- If thesvgFileName does not exists.
|
Convert(XmlReader, String)
This performs the conversion of the specified SVG source, and saves the output to the specified image file.
Declaration
public bool Convert(XmlReader svgXmlReader, string imageFileName)
Parameters
| Type | Name | Description |
|---|---|---|
| XmlReader | svgXmlReader | An XML reader providing access to the SVG source data. |
| String | imageFileName | The output image file. This is optional. If not specified, an image file is created in the same directory as the SVG file. |
Returns
| Type | Description |
|---|---|
| Boolean | This returns true if the conversion is successful; otherwise, it return false. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | If the -or- If thesvgXmlReader is null.
|
| ArgumentException | If the |


Hi there!
I'm Sam Fonseca.
Software projects
My resume
My GitHub
My LinkedIn
I develop software.
My Projects
joebidenbook.com
— a small Vue.js app for the "Promise Me, Dad" speaking tour
Flipadelphia
— a feature flipping service written in Go using BoltDB
HipCat
— a cli tool to pipe output from your terminal to HipChat
Projects I Contribute To
pytest-testrail
— a pytest plugin for integration with TestRail, for creating testruns and updating results
beeswithmachineguns
— a load testing tool that creates micro EC2 instances to generate a ton of traffic
Dingo
— a lightweight blogging engine written in Go


--- title: Frimley Park Hospital NHS Foundation Trust layout: gb ---
| Resource/Stage | Error | |
| August 2010 Return | ||
| extract | HTML file detected | |
| 2011 March Return | ||
| extract | HTML file detected | |
| Aug 2011 Return | ||
| extract | HTML file detected | |
| May 2011 Return | ||
| extract | HTML file detected | |
| June 2010 Return | ||
| extract | HTML file detected | |
| July 2011 Return | ||
| extract | HTML file detected | |
| June 2011 Return | ||
| extract | HTML file detected | |
| Dec 2011 Return | ||
| extract | HTML file detected | |
| Jan 2012 Return | ||
| extract | HTML file detected | |
| September 2010 Return | ||
| extract | HTML file detected | |
| March 2012 Return | ||
| extract | HTML file detected | |
| January 2011 Return | ||
| extract | HTML file detected | |
| 2011 February Return | ||
| extract | HTML file detected | |
| June 2012 Return | ||
| extract | HTML file detected | |
| Sep 2011 Return | ||
| extract | HTML file detected | |
| July 2010 Return | ||
| extract | HTML file detected | |
| 2010 October Return | ||
| extract | HTML file detected | |
| April 2011 Return | ||
| extract | HTML file detected | |
| July 2012 Return | ||
| extract | HTML file detected | |
| Nov 2011 Return | ||
| extract | HTML file detected | |
| May 2010 Return | ||
| extract | HTML file detected | |
| Feb 2012 Return | ||
| extract | HTML file detected | |
| April 2012 Return | ||
| extract | HTML file detected | |
| May 2012 Return | ||
| extract | HTML file detected | |
| Oct 2011 Return | ||
| extract | HTML file detected | |
| April 2010 Return | ||
| extract | HTML file detected | |
| 2010 November Return | ||
| extract | HTML file detected |


Overview • User interface • Annotations ↑ | ↓ • Search PubMed Export from • EndNote • ISI Web of Knowledge • SciFinder Export to • EndNote • BibTeX • Define citation format
The reference window of MMM is a basic, self-contained reference manager with PubMed search function, web access to Abstracts and full texts, a range of import and export options and the possibility of weakly automatic updates of bibliographies by PubMed searches. You could actually generate MMM projects (models) that contain only a bibliography and use MMM purely as a reference manager. You can also use it in conjunction with EndNote or BibTeX.
Furthermore, MMM models with actual protein structures may have references to papers, books, and webpages associated with annotations of an object, such as a structure, a peptide chain, a residue, or even an atom. For that reason the reference window can be either accessed via the New
and Edit
buttons in the References
part of the annotation window or via the Edit/References menu item or the References toolbutton. If the reference window is accessed from the annotation window, it is modal, i.e., no other MMM (or Matlab) window can be accessed before closing it again. To manage references or look at abstracts and full text, better access the window via the toolbutton or menu.
The reference window allows to input references by PubMed search, by import from EndNote, BibTeX, ISI Web of Knowledge, SciFinder, Google Scholar or by direct manual input. Existing references can be edited.
References can be exported in BibTex format and in a format that can be read by EndNote. They can also be saved or copied to the clipboard in citation formats for several journals.
The Search
button also allows to search for a reference within the existing bibliography.
Structures imported from the Protein Data Bank (PDB) often contain already one ore more references from the JRNL and REMARK 1 records. Bibliographic information is incomplete in the PDB, hence these references are automatically "repaired" via PubMed if the computer is online during PDB reading and if the PDB file lists the PubMed ID of the reference.
The reference window is automatically closed if a new model is loaded or graphics is redisplayed. You may loose edited and imported references. Please complete your work in the reference window before you do other things.
An MMM model contains at least one structure, possibly several structures. You may have a literature list for the proteins whose structures these are or you may assemble it via search engines.
MMM can directly search PubMed and import the results. By setting up automatic searches the references of a model can be always kept up to date. For this you have to specify the concepts that are most relevant for this model or authors who publish often on similar structures.
MMM supports several Import/Export formats
, which can be selected via the corresponding popup menu at the bottom left of the reference window. These are:
MEDLINE
, a tagged text format that can be exported by PubMedSciFinder tagged format
, a text export format of CAS SciFinderISI CGI
, the export format of ISI Web of Knowledge intended for EndNote, RefMan, and ProCiteEndNote text export
, a tagged clear text format that can be exported from EndNoteBibTeX
, a LaTex bibliography format that can be exported by Google ScholarMMM
, the own bibliography format of MMM, which preserves all information when transferring references between MMM projects
After selecting the format, clicking on the Import
button opens a file dialog for selection of the bibliography files. Several bibliography files, even in different formats can be imported after each other. With MEDLINE (PubMed) import, MMM checks whether the new references are unique, i.e., whether a reference with the same PubMed ID already exists. In that case, it is updated rather than added, the old short name is kept and an existing DOI is kept, if PubMed does not provide a DOI. Note that this does not work if the same reference exists, but was first imported without PubMed ID (or was directly input).
You can also directly type your reference into the provided mask. For that, you first select the Reference type
in the corresponding popup menus (top right). Defined reference types are:
Depending on reference type, certain fields of the input mask may change their title. It is not required to fill all fields of the mask. To input the next reference, use the >
button of the Reference number
control. The current reference is temporarily stored.
References are most easily referred to by mnemonic short names, such as Einstein:1905 for a paper written by Albert Einstein in 1905. If a bibliography is imported in BibTeX format, such short names are usually already defined (for instance, Google™ Scholar export to BibTeX generates them automatically). For PubMed searches and MEDLINE import the mnemonic short names are appended with an underscore and the unique PubMed identifier (PMID) to make sure that the short names are unique (example: Puskin:1975_162831
. You can remove the PMID and underscore if you wish. MMM will check whether the short name is still unique. Otherwise, append characters, such as in Puskin:1975b
.
For import other than from BibTeX and MEDLINE you can replace the default short names of MMM (reference numbers in square brackets) by your own mnemonic names. Edit the Short name
field for that. MMM will check whether a given short name already exists. In that case a message box pops up and the old short name is retained.
URL
field, and changing back. The URL will then still be displayed instead of editors. Note however that for edited books and sections of edited books this makes the Editors
field inaccessible.
After finishing your input, click the OK
button to store all new references with the model. Clicking the Cancel
button will cancel all edits done after the reference window was opened (there is a query whether you really wnat to do that). The reference window will close and the reference list will be updated in the annotation window.
This is for free, easy to work with, and usually sufficient for work on protein structures (see also Search PubMed). However, it does cover less literature than CAS SciFinder, ISI Web of Knowledge, or Google Scholar. As of October 27th 2009, PubMed provided more Digital Object Identifiers than any other search engine. This is the preferred way for fulltext access. Due to the unique PubMed identifiers, MMM can also check whether a reference does already exist. Unless you are searching for references that are only remotely related to a biological system or want to include dissertations, PubMed is the engine of choice.
If you have access to this expensive search machine, it will usually give the most complete answers, as the database is based on a well thought keyword system and keyword assignment is not left to authors and journals. SciFinder searches may turn out some references twice (once with proper publication year and once with the publication year in the publication date field). Use the remove duplicates link above the reference list to avoid this. Unlike all the other search engines, SciFinder also lists dissertations. It also lists a few books, but these ones with lousy bibliographic information (no publisher, no ISBN).
This is not for free either, but it is a choice that may provide more references than PubMed. You will miss references if the keywords are not in the title or abstract or journal keyword field. ISI Web of Knowledge provides Digital Object Identifiers (DOIs) for newer literature.
This is also for free and has good coverage of literature. It is not so convenient to work with, in particular because each reference has to be saved individually and references are always sorted by number of citations. Unlike ISI Web of Knowledge and PubMed it also finds books.
You can browse references by using the <
and <>> buttons of the Reference number
field. To go to the last reference, input a very large number into the Reference number
edit field. Clicking the >
button again at the last reference inserts a new reference with empty fields.
Use the ?
button above the Short name
field.
Use the Delete
button near the Reference number
field. Note that references that are linked to annotations (objects) cannot be deleted (MMM checks this).
Note that MMM offers to automatically update bibliographic information when you access the abstract via PubMed. Hence, edited information may be overwritten. Exceptions are the short name, which is never updated on reimport and the DOI, which is updated only if the PubMed record really provides one (an existing DOI is not erased). If you want to edit other fields and keep your own information, you should not accept the update.
For journal articles, it is more advisable to rely on the automatic updates of bibliographic information. For books, book sections, dissertations, websites, and conference proceedings bibliographic information in common data bases is usually lousy, and you do want to edit it (abstracts are rarely accessible from PubMed anyway for these reference types).
Although MMM does not store abstracts, it can download them from the internet if the PubMed identifier (PMID) is supplied with the reference (default for MEDLINE import or literature search from within MMM) or if enough information is available to find the reference in PubMed. If no PMID is available, MMM uses nmaes of all authors with at most one initial, the journal name, and the year in the initial search. The abstract of the first (newest) matching reference is displayed. If the initial search turns out several matches, MMM searches for the reference with matching volume and first page. A warning is shown that the displayed abstract is not the abstract of the matching reference. In this case, accept the matching reference for update and click the Abstract
button once again to see the matching abstract.
The abstract is displayed in a browser window, author address and keywords are also displayed, if they are available. The publication language is shown and, for reviews, the number of references is given. Note that abstract display requires internet access. If the connection is broken, an error message is displayed in the message board of the main window.
If the reference (or a likely candidate) could be localized, MMM asks whether this reference should be accepted for update of the bibliographical information. Accept it unless you have very good reasons not to.
If the reference cannot be localized, the journal may just not be covered by PubMed (at least not the volume you are looking for) or it may be wrong (this happens more often than you would think). Depending on the information you have, you may try to localize the reference with the PubMed search of MMM or another literature database.
References imported from ISI Web of Knowledge or PubMed may already have a Digital Object Identifier that you can see in the DOI
field. By clicking the globe button the corresponding web page is loaded into a Matlab browser. Note that the reference window is modal if it was accessed from the annotation window. That means that the Matlab browser can be accessed only after these two windows have been closed (sorry, we have reasons for that). However, you can access the full text without closing the reference window, when you opened it via the toolbutton or Edit
menu.
References imported from CAS SciFinder or Webpages may have a Uniform Resource Locator (URL) associated with them. This will be displayed in an URL field. By clicking the globe button the corresponding web page is loaded into a Matlab browser. See above for accessibility of the browser window.
If the DOI is not available, MMM tries to locate the fulltext via SFX. Please check before, whether PubMed can retrieve the DOI (use the Abstract
button), as even the two-step process Abstract/DOI is faster and often more convenient than SFX. For SFX access, the library of your institution needs to have an SFX server and MMM needs to know its internet address. You can find this address when you access SFX from another literature data base or you can ask your librarian.
This address needs to be input in the file initialize_MMM.m
which is found in the MMM main directory, e.g. web_adr.SFX='sfx.ethz.ch:9003/sfx_locater';
. A later version of MMM will have a preferences window to make this more convenient.
Occasionally SFX cannot locate the full text, although the bibliographical information is correct and your institution does have fulltext access to this journal and time period. The SFX server will then simply claim that there is no full text available. In such cases you may want to access the homepage of the journal and click through its archives (the hard way). Journal homepage also often help if bibliographic information is incomplete or incorrect (many have their own search engine).
Note also that fulltext access for paid journals will work only if you are in the web domain of an institution with a subscription. Free journals can be accessed from everywhere, even via SFX with the ETH Zurich server (courtesy of the IDS Swiss German Library Network).
Perform a search and select the desired references by activating the corresponding ckecboxes (left of the reference). Now click the Send to:
link near the right top of the Results:
panel and activate the File
radiobutton in the Choose Destination
panel. A new panel appears, where you select in the Format
popup menu MEDLINE
and where you can select how to sort the references. Finally click the Create File
button and save the file where you want.
(tested on Oct 27th 2009 using the preview of new PubMed)
Open the corresponding EndNote library and select the references that you want to export to MMM, for instance, by clicking on them while holding the Ctrl
key. Go to menu File/Export...
and select in the Save as type:
popup menu Text file (*.txt)
. Select in the Output format:
popup menu Show All Fields
. Make sure that the Export Selected References
checkbox is activated, unless you want to export the whole library. Edit the File name:
, navigate to the desired directory and click on the Save
button.
(tested with EndNote X2)
Perform a search in the desired database, usually you should select All databases
. Select the references that you want to export to MMM by activating the corresponding checkboxes (left from the reference). If all your references are on the same page, click the Save to EndNote, RefMan, ProCite
button above the reference list. A dialog window appears that allows to choose directory and file name.
If you want to select references on several pages, click the Add to Marked List
button above the reference list before you change page (otherwise your selections are lost). Select throughout all pages and finally click the Marked List
link near the top of the page. On the next page, click the Save to EndNote, RefMan, ProCite
button. A dialog window appears that allows to choose directory and file name.
(tested on Oct 27th 2009)
Perform a search and select the desired references by activating the corresponding ckecboxes (left of the reference). Beware of the Select All
link, which almost inevitably select some papers twice. Now click on the Export
link near the right top of the References
panel. A window appears, where you make sure that under Export:
the Only selected answers
radio button is activated. Input the File Name:
and select from the File type
popup menu Tagged format (*.txt)
. Now click the Export
button and save the file where you want.
(tested on Oct 27th 2009)
This step is required only once on a given computer and browser. It requires that your browser accepts cookies. If you delete cookies later you have to repeat this step.
Go to Google Scholar and click the Scholar Preferences
link right from the Search
button. In the Bibliography manager
field (near the bottom of the page) activate the Show links to import citations into
radiobutton and select from the popupmenu on the right BibTeX
. Now click the Save Preferences
button (top right of the page).
Perform a search. If your preferences are set correctly (see above), each citation has a pale Import into BibTeX
linke beneath. To export this reference, right-click the link and select Save link as...
from the context menu that appears.
References can be exported only one by one, issue information is missing, and no fulltext access information (DOI) is exported. The issue information can be obtained by exporting from Google Scholar to EndNote and then exporting from EndNote.
(tested on Oct 27th 2009)
MMM can export in ISI .cgi format, for which EndNote has an import filter, in BibTeX format and in a MEDLINE-like format. The MEDLINE-like format is supported because it preserves PubMed identifiers and can be used to exchange reference lists between MMM models. Export in SciFinder tagged format or EndNote text export format is not possible.
Select ISI CGI
in the Import/Export format
popup menu and click the Export
button. A file dialog appears for selecting directory and file name. The Message board in the main window reports that the file was saved and gives the file name. The following information is stored:
J
for articles and reviewsB
for booksS
for book sectionsW
for webpages (non-standard)C
for conferences (non-standard)D
for dissertations (non-standard)P
for patentsApart from that the title (TI), author list (AU), document type (DT, Article or Review), journal (JI), volume (VL), issue (IS), first (BP) and last (EP) page and the publication year (PY) and, if available, the DOI (DI) are stored. For patents, the patent number (PN) is also stored.
To import the references into EndNote, use theFile/Import..
menu item and select ISI-CE
as the import option with No translation
. For dissertations, the university information will be found in the (tested with EndNote X2)
BibTex export stores the short name and supports document types @article
, @book
, @inbook
(book section), @conference
, and @phdthesis
(dissertation). The school
field of the @phdthesis
record is taken from the Corporate Source
field in SciFinder records or has to be provided in the Publisher
field of MMM for other input modes.
Webpages, preprints, and patents are stored as @misc
records. Generally, author
, title
, journal
, year
, volume
, issue
, and pages
fields are written. In addition, publisher
, location
, book title
, chapter
, editors
, and URL
fields are provided, if such information is present in the original records.
Note that results may depend on the formatting of imported references. Formatting was optimized for records obtained from PubMed. In particular, references imported from PDB files will give poor results if no PubMed ID is given in the PDB file.
MMM stores BibTex references with initials first, surnames last without commas, but accepts the version with surname first, comma, initials on import. Mixtures of full first names and initials with full stops in the same name will confuse the import filter.
For patents, you have to define your own output formatting. The patent country (code, such as WO
for world, EP
for European patent, JP
for Japan) is provided in the field country
and the number in the field number
of the @misc
style.
(tested with TeXnic Center and the citation style of Bioinformatics as well as apaplus
).
The bottom panel Save or copy to clipboard in citation format
can be used to print a nicely formatted list of the bibliography or to copy individual citations to a text processing program. The panel contains a listbox for selecting the journal (citation format), a popupmenu for selecting the save or copy format, checkboxes for selecting whther the number or short name should be included, and pushbuttons to Copy
to the clipboard or to save the current reference or all references in the specified citation format. The bottom line in the panel shows a preview of the citation format for a fake test reference.
Citation formats of a few journals are preprogrammed. The are given in a listbox in alphabetical order of the abbreviated journal name. You can either scroll through the whole list or preselect by the first letter or first two letters. To preselect, first click some journal name in the list. Now type the first letter of the wanted journal on the keyboard. The listbox will jump to the first journal that starts with this letter (if there is one). Now you can either scroll down or type the second letter while holding down the shift button. The listbox will jump to the first journal whose abbrevaited name starts with the two letters you typed (if there is one).
Example:
Click anywhere in the listbox and type j <Shift> p
. Now J Phys Chem
will be selected.
If your journal (or a matching format) cannot be found and if you dare, you can define a citation format yourself. Otherwise ask us for implementing the required format.
LaTeX
, including italic and bold formatting of parts of the citation, as a bibitem
for LaTeX, which will include the short name as a label for the reference, and as plain text (italic and bold formatting are lost). These three formats are available both with the clipboard and for saving the citation(s) to a file. The Rich Text Format RTF
is available only for saving, as Matlab's clipboard function can export only strings. Files saved in RTF can be imported by Microsoft Word, OpenOffice, and indeed most text processor programs. Italic and bold formatting are preserved. The HTML
format is used in web pages. Italic and bold formatting are preserved.


Example of using Keukenhof.js for an animated modal window
import {Keukenhof} from 'keukenhof';
Keukenhof.init({
hasAnimation: true,
});
Example of using Keukenhof.js for an animated modal window
import {Keukenhof} from 'keukenhof';
Keukenhof.init({
hasAnimation: true,
});
Part of the preparation of the library work is hidden, you just need to create a layout.
There
are no restrictions on
the layout of your modal window, you just need to add data-keukenhof-open
to the value of
which you need to specify the
selector of the window that should open on click and data-keukenhof-close
for the element
that should close the currently
active modal
aria-*
attributes are important for the accessibility of your
content and are added by you when creating the layout (only
you can correctly describe the purpose of your modal), Keukenhof.js is responsible for
switching aria-hidden
<!DOCTYPE html>
<title>Keukenhof.js modal example</title>

<button data-keukenhof-open="#modal">Open modal</button>

<button
class="close"
aria-label="Close modal"
data-keukenhof-close>Close</button>

Keukenhof.js modal

Lightweight and easy to use the library for modals

An alternative connection option is to use import Keukenhof
import {Keukenhof} from 'keukenhof';
// Initializing modal windows based on markup
Keukenhof.init({
// options
});
// Configure and open modal by selector
Keukenhof.open('#modal', {
// options
});
// Close active modal window
Keukenhof.close();
The attribute containing the selector of the modal window that should be opened by clicking on the element
By default: data-keukenhof-open
Keukenhof.init({
openAttribute: 'data-modal-open',
});
The attribute marking elements inside the modal window, clicking on which will close this modal window
By default: data-keukenhof-close
Keukenhof.init({
closeAttribute: 'data-modal-close',
});
The class name added for the open modal window
By default: isOpen
Keukenhof.init({
openClass: 'is-open',
});
The class name added for the modal window that is in the process of opening (required for modals using CSS animations)
By default: isOpening
Keukenhof.init({
openingClass: 'is-opening',
});
The class name added for the modal window that is in the process of closing (required for modals using CSS animations)
By default: isClosing
Keukenhof.init({
closingClass: 'is-closing',
});
Indicates the need to wait for the completion of the CSS animation of opening/closing the modal window
By default: false
Keukenhof.init({
hasAnimation: true,
});
Indicates the need to focus on an interactive element inside the modal after opening
By default: true
Keukenhof.init({
isAssignFocus: false,
});
Indicates the need to restrict focusable interactive elements using the keyboard inside the active modal
By default: true
Keukenhof.init({
isFocusInside: false,
});
Specify the need to block the scroll after opening a modal window. The
scroll is blocked with overflow: hidden;
if after
closing the modal the overflow value should be defined just specify this as defaultValue
By default: { isDisabled: true, container: 'body', defaultValue: '' }
Keukenhof.init({
scrollBehavior: {
isDisabled: true,
container: '.wrapper',
defaultValue: '',
},
});
Defines a function that will be called when the modal is open (if hasAnimation: true
is called after the animation has
finished)
By default: () => {}
Keukenhof.init({
onOpen: (event) => console.log('The modal window was opened', event),
});
Defines a function that will be called when the modal is close (if hasAnimation: true
is called after the animation has
finished)
By default: () => {}
Keukenhof.init({
onClose: (event) => console.log('The modal window was closed', event),
});
Defines a function to be called before the modal opens. If the function returns false
the modal won't open
By default: () => true
Keukenhof.init({
beforeOpen: (event) => {
if (counter > 10) return true;
},
});
Defines a function to be called before the modal closes. If the function returns
false
the modal won't close
By default: () => true
Keukenhof.init({
beforeClose: (event) => {
if (counter > 10) return true;
},
});
Initializes all modals based on markup. Accepts one optional parameter for configuration
Keukenhof.init({
selector: "#modal-1",
openAttribute: "data-modal-open",
closeAttribute: "data-modal-close",
openClass: "is-open",
openingClass: "is-opening",
closingClass: "is-closing",
hasAnimation: true,
isAssignFocus: false,
isFocusInside: false,
scrollBehavior: {
isDisabled: true,
},
onOpen: () => console.log("The modal window is open"),
onClose: () => console.log("The modal window is close"),
});
Opens a modal window with the given selector. The open
method has a second optional
parameter for configuration
// With config
Keukenhof.open("#modal", {
openAttribute: "data-modal-open",
closeAttribute: "data-modal-close",
openClass: "is-open",
openingClass: "is-opening",
closingClass: "is-closing",
hasAnimation: true,
});
// Without config
Keukenhof.open("#modal");
Closes the modal with the given selector. If no parameters are passed to the close
method, the currently open window will be closed
// With selector
Keukenhof.close('#modal');
// Without selector
Keukenhof.close();
type ConfigType = {
selector?: string;
triggers?: HTMLElement[];
openAttribute?: string;
closeAttribute?: string;
openClass?: string;
openingClass?: string;
closingClass?: string;
hasAnimation?: boolean;
isAssignFocus?: boolean;
isFocusInside?: boolean;
scrollBehavior?: {
isDisabled?: boolean;
container?: string;
defaultValue?: string;
};
onOpen?: (event?: Event) => void;
onClose?: (event?: Event) => void;
beforeOpen?: (event?: Event) => boolean;
beforeClose?: (event?: Event) => boolean;
};
type KeukenhofType = {
init: (config?: ConfigType) => void;
open: (selector: string, config?: ConfigType) => void;
close: (selector?: string) => void;
};
onOpen
,
onClose
, beforeOpen
, beforeClose
Found a problem or want to contribute?
Please visit the project page
on GitHub


BURGLAR, THE (director: Paul Wendkos; screenwriters: David Goodis, from his novel; cinematographer: Don Malkames; editor: Herta Horn; cast: Dan Duryea (Nat Harbin), Peter Capell (Baylock), Jayne Mansfield (Gladden), Mickey Shaughnessy (Dohmer), Martha Vickers (Della), Wendell Phillips (Police Captain), Stewart Bradley (Charlie), Phoebe Mackay (Sister Sara), John Facenda (News Commentator); Runtime: 90; Columbia; 1957)
Reviewed by Dennis Schwartz
A film noir that is more a character study of a small-time jewel thief than one concerned with its pulp story. A team of burglars headed by the brooding Nat Harbin (Dan Duryea), which includes the edgy jewelry expert Blaylock (Peter Capell), the vulgar strong-arm Dohmer (Mickey Shaughnessy), and the sexy young lady who cases their victim's homes, Gladden (Jayne Mansfield). After Gladden cases the Philadelphia mansion of a noted spiritualist (Mackay), they successfully steal a valuable diamond necklace worth about $150,000. The only hitch in the heist, is that a patrol car spots their abandoned car and Nat is forced to explain to the officers why the car is there.
At the gang's hideout apartment, tensions run high as the attractive Gladden stirs up Dohmer in a romantic way in which she wants no part of and the impatient Blaylock in a hostile way as he takes out his anger at the delay in getting rid of the necklace on her. Nat decides to send her to Atlantic City to wait for things to cool down, as the gang waits to sell the hot piece to a fence in Baltimore.  He also made Nat promise that if anything happened to him, that he would look after his daughter. For Nat, being loyal and keeping your word means everything.
While grabbing a bite to eat at a pub, an attractive blonde seduces Nat.  Charlie has romanced Gladden after meeting her on the beach at Atlantic City and plans to force her to tell him where the necklace is.
The story gets complicated when the gang is stopped by a state trooper on their way to Atlantic City and they shoot the trooper, causing an APB put out on them. When Nat sees Gladden in Atlantic City, she stubbornly won't leave town because of all of her frustration over the fact that he never made any advances to her. Nat decides to give her the necklace in the hopes of getting Charlie to follow him instead.
The conclusion involves a chase through the Steel Pier, with the violent cop planning to murder the gentle Nat and get the necklace. The artistic shots are like those that Orson Welles did in "The Lady from Shanghai." The film succeeds as a visual feast in noir photography, which includes shadowy framed scenes and close-ups of the characters sweating during the heist. The film's weaknesses lie in the slight story and how it came at the end of the film noir cycle, so all the artistry of the noir devices seemed to be beaten to the ground by now.
REVIEWED ON 9/20/2001 GRADE: B-
Dennis Schwartz: "Ozus' World Movie Reviews"
http://www.sover.net/~ozus
<EMAIL_ADDRESS>© ALL RIGHTS RESERVED DENNIS SCHWARTZ
========== X-RAMR-ID: 29524 X-Language: en X-RT-SourceID: 873 X-RT-AuthorID: 1315 X-RT-RatingText: B-
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


Links
Simple Chat (Now.js)
Play Temple Match Game
Temple Game Dashboard
Play Temple Match Game
Temple Game Dashboard
Balloons.io Chat
CPU Monitor
Ticker
Magnets (Socket.io)
Magnets (Meteor)
Live Chat
Share a message with the other participants
Send


--- short: t-graphmerger type: transformer color: indigo title: Graph merger description: Transforms Data Unit containing multiple graphs to a Data Unit containing single graph. ---
Transformer. There are two types of RDF Data Units in LinkedPipes ETL right now. There is a data unit, that can contain multiple RDF named graphs, which is currently produced only by the Files to RDF, which may transform files containing RDF quads. When the user then wants to work with such data using components that only support triples, Graph merger is needed to do the conversion.
The {{page.title}} component takes input that may contain multiple RDF graphs, merges it and produces a single RDF graph. Currently, this component is only used after the Files to RDF component, which may produce data with multiple RDF graphs.


tic tac toe
DUNGE
N
of Eternal Tie
- choose your weapon -
PLAY
You:
0
CPU:
0
Congratulations
You find a way to lose!
mwahahaha
You're trapped in the
Eternal Tie
reset


Placeholder
Bike Tracker
Features
Pricing
Buy
FAQ
[[${T(com.javabeast.domain.Language).getNameFromCode(lang)}]]
arrow_drop_down
Login
Navbar Link
menu
Checkout
1 unit - £199
2 units - £380
3 units - £545
4 units - £715
Select number Of units required
£9.99 monthly
£99 - 1 Year
£269 - 3 Years
Select your payment plan
Buy now £199
Checkout powered by stripe


How is tax calculated?
When you look through the API documentation, you notice a bunch of required and ‘situationally required’ fields. What gives? What do we do with all that information anyway?
Well, like the parfait dessert pictured, sales tax has many (colorful) layers. All of that information provided helps us to make an accurate (and precise!) determination on the calculation we return, in a number of ways.
Let’s take a look at a hypothetical invoice. This is just the barebones required information, with our request on the left and response on the right. Note that if you’re following along in your test environment, you might get different results! That’s just fine! We’ll talk about that as we dig into the calculation.
In our sample request, I’ve specified
to shorten our results, but you can see the full detail by leaving out this parameter, or by specifying
Request:
Response:
Okay, so what’s happening here? Lets break it down.
There are three main levels of tax calculation: customer taxability, product taxability, and tax profile. The application of these three levels results in the tax calculation you see returned by the API and/or recorded in AvaTax.
Customer Taxability
First, we have our customer taxability fields: Exemption Number, Entity/Use Code, and (in some setups) CustomerCode. If the customer is flagged as exempt, that will put any sales in that transaction in the Exempt bucket for applicable jurisdictions, and no sales tax will be charged on them, regardless of product taxability. Most methods of customer-based exemption are exempt in all triggered jurisdictions, but some notable exceptions (e.g. the “Local Government” exempt reason in either an Entity/Use Code or Exempt Reason for an Exemption Certificate) do exist. In those cases, the sales are only exempt in the applicable jurisdictions, and all other sales are subject to item taxability as normal.
ExemptionNo: This is a field that, if it is populated with data, exempts the transaction from sales tax entirely. If, in our request, we had populated this with “EXEMPT”, our transaction would be exempt from sales tax. You can’t see the Exemption Number reported in the Document Detail view from the Transactions tab in the Admin Console, but it is exposed if you drill into Document Edit Mode.
CustomerUsageType: Also called Entity/Use Code, this associates a customer taxability profile with a transaction. This can be one of our system-set customer taxability profiles (e.g. Retail or Local Government), or it can be one that you have created rules for in your dashboard. If we had populated this with “G” in our request, AvaTax would know that this corresponds to a retailer, and our transaction would be exempt in all jurisdictions.
CustomerCode: This is only a concern if you’re managing exempt customers through CertCapture, or directly in the ECMS on the Admin Console. If the customer code matches an exemption certificate on file, the destination address is in a state listed in the Regions Applicable on a non-revoked certificate, and the transaction falls within the listed date range, the certificate will be applied to the transaction. This application is also contingent on your ECMS Settings: this module is available to all accounts, but is disabled by default.
Product Taxability
The taxability of the tax codes passed in the destination state determines the item taxability. Taxability for a single code may vary state to state, or local jurisdiction to local jurisdiction. If the tax code assigned to the line is taxable in the destination state, the sales are flagged as taxable. Similarly, if a code is non-taxable in a given state, the sales are flagged as non-taxable and tax is not assessed. A few codes are pro-rated at different levels of taxability (e.g. half-taxable, or taxable dependent upon the taxability of other items on the transaction). If no tax code is passed, our system assumes that items are taxable in all states, and assigns the system default code of P0000000.
Tax Profile
Once the taxability of the customer and items have been established, the sourced rates are applied to the transaction. First, sourcing is established; some states source some jurisdictions or products at the origin address for intrastate transactions. Then, those addresses are used to pull the appropriate taxing jurisdictions based on your tax profile and nexus designation. Sales tax or Seller’s use tax is charged depending on your nexus type. Those rates are applied at the line level to your taxable sales. In this case, I have Sales Tax only nexus in North Carolina. Nexus is not administered locally, so nexus at the state level will include all local nexus. My address triggered a state tax of 4.75% and a 2% county level tax for the county of Wake for a total composite rate of 6.75%.
And then we’re done!
This is - if you can believe it - a pretty simplified explanation, and focuses on US calculations. There are other requirements for other tax systems, and even more depth for the calculations described here. If you want to know more about the ins and outs of sales tax calculation, you should take a look at our more detailed product training around sales tax.


All processes in the group identified by the intracommunicator must call
the collective routine.
In many cases,
collective communication can occur ``in place''
for intracommunicators,
with the output
buffer being identical to the input buffer. This is specified by
providing a special argument value, MPI_IN_PLACE, instead of the
send buffer or the receive buffer argument,
depending on the operation performed.
Rationale.
The ``in place'' operations are provided to reduce unnecessary memory motion by
both the MPI implementation and by the user. Note that while the simple check
of testing whether the send and receive buffers have the same address will
work for some cases (e.g., MPI_ALLREDUCE), they are inadequate in
others (e.g., MPI_GATHER, with root not equal to zero). Further,
Fortran explicitly prohibits aliasing of arguments; the approach of using a
special value to denote ``in place'' operation eliminates that difficulty.
( End of rationale.)
Advice to users.
By allowing the ``in place'' option, the receive buffer in many of the collective calls becomes a send-and-receive buffer. For this reason, a Fortran binding that includes INTENT must mark these as INOUT, not OUT.
Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use that MPI_BOTTOM has.
Some intracommunicator collective operations do not support the ``in place''
option (e.g., MPI_ALLTOALLV).
( End of advice to users.)


MNIST Fashion classification with convolutional neural network¶
Study the Convolutionnal neural network (CNN) tutorial of Keras on the classification of the MNIST Fashion Dataset
Learning goals:
- Understand the model structure
- Evaluate and enhance the model
- Use checkpoints
- Use several kinds of regularizers to improve the generalization (kernel/bias, dropout, dataset augmentation)
To compare with the Dense (Perceptron) only implementation (Notebook)
# !pip install tensorview
from tensorflow.keras import models, layers, losses, activations, regularizers, preprocessing
from tensorflow.keras.callbacks import ModelCheckpoint
from tensorflow.keras.datasets import fashion_mnist
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn import metrics
import tensorview as tv
# Patch for macOS + Conda
if True:
import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'
Data¶
Using the fashion MNIST dataset from https://github.com/zalandoresearch/fashion-mnist It is made of 70k pictures classified in 10 categories. Images are greyscale, 28x28 pixels.
The train/test split is 60/10
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',
'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']
image_width = 28
image_height = 28
image_nchannels = 1
n_classes = len(class_names)
batch_size = 128
train_images.shape
Reshaping to get a tensor with the channels, and scaling the 8 bit pixels of the images to float values in [0,1)
train_images = train_images.reshape(60000, image_width, image_height, image_nchannels) / 128.0 - 0.5
test_images = test_images.reshape(10000, image_width, image_height, image_nchannels) / 128.0 - 0.5
Helpers¶
# Keras tuto helpers
def plot_image(i, predictions_array, true_label, img):
predictions_array, true_label, img = predictions_array[i], true_label[i], img[i].reshape(image_width, image_height)
plt.grid(False)
plt.xticks([])
plt.yticks([])
plt.imshow(img, cmap=plt.cm.binary)
predicted_label = np.argmax(predictions_array)
if predicted_label == true_label:
color = 'blue'
else:
color = 'red'
plt.xlabel("{} {:2.0f}% ({})".format(class_names[predicted_label],
100*np.max(predictions_array),
class_names[true_label]),
color=color)
def plot_value_array(i, predictions_array, true_label):
predictions_array, true_label = predictions_array[i], true_label[i]
plt.grid(False)
plt.xticks([])
plt.yticks([])
thisplot = plt.bar(range(10), predictions_array, color="#777777")
plt.ylim([0, 1])
predicted_label = np.argmax(predictions_array)
thisplot[predicted_label].set_color('red')
thisplot[true_label].set_color('blue')
def plot_results(images, labels, predictions, num_rows=5, num_cols=3):
""" Plot the first X test images, their predicted label, and the true label
Color correct predictions in blue, incorrect predictions in red"""
num_images = num_rows*num_cols
plt.figure(figsize=(2*2*num_cols, 2*num_rows))
for i in range(num_images):
plt.subplot(num_rows, 2*num_cols, 2*i+1)
plot_image(i, predictions, labels, images)
plt.subplot(num_rows, 2*num_cols, 2*i+2)
plot_value_array(i, predictions, labels)
plt.show()
def plotHeatMap(X, classes='auto', title=None, fmt='.2g', ax=None, xlabel=None, ylabel=None,
vmin=None, vmax=None, cbar=True):
""" Fix heatmap plot from Seaborn with pyplot 3.1.0, 3.1.1
https://stackoverflow.com/questions/56942670/matplotlib-seaborn-first-and-last-row-cut-in-half-of-heatmap-plot
"""
ax = sns.heatmap(X, xticklabels=classes, yticklabels=classes, annot=True,
fmt=fmt, vmin=vmin, vmax=vmax, cbar=cbar, cmap=plt.cm.Reds, ax=ax)
bottom, top = ax.get_ylim()
ax.set_ylim(bottom + 0.5, top - 0.5)
if title:
ax.set_title(title)
if xlabel:
ax.set_xlabel(xlabel)
if ylabel:
ax.set_ylabel(ylabel)
def plotConfusionMatrix(yTrue, yEst, classes, title=None, fmt='.2g', ax=None):
""" Compute and plot the confusion matrix """
plotHeatMap(metrics.confusion_matrix(yTrue, yEst), classes, title, fmt, ax, \
xlabel='Estimations', ylabel='True values');
2D Convolutional neural network (CNN)¶
https://www.tensorflow.org/beta/tutorials/images/intro_to_cnns
model1 = models.Sequential([
# Single image channel
layers.Conv2D(32, (3, 3), activation=activations.relu,
input_shape=(image_width, image_height, image_nchannels)),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(64, (3, 3), activation=activations.relu),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(64, (3, 3), activation=activations.relu),
layers.Flatten(),
layers.Dense(64, activation=activations.relu),
layers.Dense(10, activation=activations.softmax)
], 'model1')
model1.compile(optimizer='adam',
loss=losses.sparse_categorical_crossentropy,
metrics=['accuracy'])
model1.summary()
nEpochs = 25
callbacks = [
ModelCheckpoint(
filepath='checkpoints_cnn-mnistfashion/model1_{epoch}',
save_best_only=False,
verbose=1),
tv.train.PlotMetricsOnEpoch(metrics_name=['Cross-entropy', 'Accuracy'],
cell_size=(6,4), columns=2, iter_num=nEpochs, wait_num=2)
]
hist1 = model1.fit(train_images, train_labels,
epochs=nEpochs, validation_split=0.2, batch_size=batch_size,
verbose=0, callbacks=callbacks)
test_loss1, test_acc1 = model1.evaluate(test_images, test_labels, verbose=0)
print('Test categorical cross-entropy: {:.3f}, accuracy: {:.3f}'.format(test_loss1, test_acc1))
Here again there is a difference between the training and validation or test accuracies.
The result is quite lower compared to the referenced tutorial (claiming 99% test accuracy). Is this due to the use of Tensorflow 1.14 vs. 2.0-beta ?
As on the classical model, there is probably overfitting.
Here is the histogram of the ceofficients of the Dense layer of 64 neurons:
weights1 = model1.get_weights()
fig, axes = plt.subplots(1, 2, figsize=(12, 5), sharey=True)
axes[0].hist(weights1[4].reshape(-1), bins=40, range=(-0.5, 0.5), density=True, label='Last Conv2D');
axes[0].set_title('Coefficient histogram');
axes[0].legend()
axes[1].hist(weights1[6].reshape(-1), bins=40, range=(-0.5, 0.5), density=True, label='First Dense');
axes[1].legend();
predictions1 = model1.predict(test_images[:15])
plot_results(test_images, test_labels, predictions1)
CNN with regularizer¶
Let's apply Dropout on the two largest layers, and decrease the size of the last Conv2D and the 1st Dense layers from 64 to 48.
model2 = models.Sequential([
# Single image channel
layers.Conv2D(32, (3, 3), activation=activations.relu,
input_shape=(image_width, image_height, image_nchannels)),
layers.MaxPooling2D((2, 2)),
layers.Dropout(0.2), # <---
layers.Conv2D(64, (3, 3), activation=activations.relu),
layers.MaxPooling2D((2, 2)),
layers.Dropout(0.2), # <---
layers.Conv2D(48, (3, 3), activation=activations.relu), # <---
layers.Flatten(),
layers.Dense(48, activation=activations.relu), # <---
layers.Dense(10, activation=activations.softmax)
], 'model2')
model2.compile(optimizer='adam',
loss=losses.sparse_categorical_crossentropy,
metrics=['accuracy'])
model2.summary()
nEpochs = 25
callbacks = [
ModelCheckpoint(
filepath='checkpoints_cnn-mnistfashion/model2_{epoch}',
save_best_only=False,
verbose=1),
tv.train.PlotMetricsOnEpoch(metrics_name=['Cross-entropy', 'Accuracy'],
cell_size=(6,4), columns=2, iter_num=nEpochs, wait_num=2)
]
hist2 = model2.fit(train_images, train_labels,
epochs=nEpochs, validation_split=0.2,
verbose=0, callbacks=callbacks)
print('Final train accuracy: {:.3f}'.format(hist2.history['Accuracy'][-1]))
test_loss2, test_acc2 = model2.evaluate(test_images, test_labels, verbose=0)
print('Test categorical cross-entropy: {:.3f} accuracy: {:.3f}'.format(test_loss2, test_acc2))
Train accuracy is a little lower, test accuracy is the same as with the bigger model.
Coefficients are better spread on the layers with regularizers
weights2 = model2.get_weights()
fig, axes = plt.subplots(1, 2, figsize=(12, 5), sharey=True)
axes[0].hist(weights2[4].reshape(-1), bins=40, range=(-0.5, 0.5), density=True, label='Last Conv2D');
axes[0].set_title('Coefficient histogram');
axes[0].legend()
axes[1].hist(weights2[6].reshape(-1), bins=40, range=(-0.5, 0.5), density=True, label='First Dense');
axes[1].legend();
predictions2 = model2.predict(test_images)
fig, ax = plt.subplots(figsize=(9, 8))
plotConfusionMatrix(test_labels, np.argmax(predictions2, axis=1), class_names)
Padding the input¶
Observation of activation maps with the DNN Viewer have shown that some detected contours within the convolutionnal layers might fall of the image raster since the image crop is quite tight.
Let's try a model with padding at the input : 4 more pixels on each on the 4 image sides.
image_width_pad = image_width + 8
image_height_pad = image_height + 8
model3 = models.Sequential([
# Single image channel
layers.Conv2D(32, (3, 3), activation=activations.relu,
input_shape=(image_width_pad, image_height_pad, image_nchannels)), # <---
layers.MaxPooling2D((2, 2)),
layers.Dropout(0.4), # <---
layers.Conv2D(64, (3, 3), activation=activations.relu),
layers.MaxPooling2D((2, 2)),
layers.Dropout(0.4), # <---
layers.Conv2D(48, (3, 3), activation=activations.relu),
layers.Flatten(),
layers.Dropout(0.2),
layers.Dense(48, activation=activations.relu),
layers.Dense(10, activation=activations.softmax)
], 'model3')
model3.compile(optimizer='adam',
loss=losses.sparse_categorical_crossentropy,
metrics=['accuracy'])
model3.summary()
nEpochs = 50
callbacks = [
ModelCheckpoint(
filepath='checkpoints_cnn-mnistfashion/model3_{epoch}',
save_best_only=False,
verbose=1),
tv.train.PlotMetricsOnEpoch(metrics_name=['Cross-entropy', 'Accuracy'],
cell_size=(6,4), columns=2, iter_num=nEpochs, wait_num=2)
]
pad3 = [[0, 0], [4, 4], [4, 4], [0, 0]]
train_images_pad = np.pad(train_images, pad3, constant_values=-0.5)
test_images_pad = np.pad(test_images, pad3, constant_values=-0.5)
hist3 = model3.fit(train_images_pad, train_labels,
epochs=nEpochs, validation_split=0.2,
verbose=0, callbacks=callbacks)
Overfitting is present from epoch #10, early stopping would have been beneficial
test_loss3, test_acc3 = model3.evaluate(test_images_pad, test_labels, verbose=0)
print('Test loss: {:.3f}, accuracy: {:.3f}'.format(test_loss3, test_acc3))
predictions3 = model3.predict(test_images_pad)
fig, ax = plt.subplots(figsize=(9, 8))
plotConfusionMatrix(test_labels, np.argmax(predictions3, axis=1), class_names)
Intuition was good, ~1% performance increase with same architecture and padded input.
Using data augmentation¶
Data augmentation is increasing the size of a training dataset by adding some modified versions of the images, see [4] and [5] for a survey of available technics.
Since the training set is larger, overfitting should be smaller, meaning data augmentation acts as regularization.
Below, we will use the inline technic through the preprocessor of Keras [3]
batch_size = 128
steps_per_epoch = len(train_images) // batch_size
nEpochs = 50
# Image preprocessor
data_gen4 = preprocessing.image.ImageDataGenerator(
featurewise_center=False,
featurewise_std_normalization=False,
rotation_range=2,
width_shift_range=0.05,
height_shift_range=0.05,
horizontal_flip=False) # All clothes and shoes are the same direction
# For validation data
data_gen4v = preprocessing.image.ImageDataGenerator()
# compute quantities required for featurewise normalization
# (std, mean, and principal components if ZCA whitening is applied)
#data_gen4.fit(train_images)
#data_gen4v.fit(train_images)
The capacity (size) of the model is set back to the one of model1 (32, 64, 64, 64, 10), inserting dropout as in model3
model4 = models.Sequential([
# Single image channel
layers.Conv2D(32, (3, 3), activation=activations.relu,
input_shape=(image_width_pad, image_height_pad, image_nchannels)), # <---
layers.MaxPooling2D((2, 2)),
layers.Dropout(0.3), # <---
layers.Conv2D(64, (3, 3), activation=activations.relu),
layers.MaxPooling2D((2, 2)),
layers.Dropout(0.3), # <---
layers.Conv2D(64, (3, 3), activation=activations.relu),
layers.Flatten(),
layers.Dropout(0.2),
layers.Dense(64, activation=activations.relu),
layers.Dense(10, activation=activations.softmax)
], 'model4')
model4.compile(optimizer='adam',
loss=losses.sparse_categorical_crossentropy,
metrics=['accuracy'])
callbacks = [
ModelCheckpoint(
filepath='checkpoints_cnn-mnistfashion/model4_{epoch}',
save_best_only=False,
verbose=1),
tv.train.PlotMetricsOnEpoch(metrics_name=['Cross-entropy', 'Accuracy'],
cell_size=(6,4), columns=2, iter_num=nEpochs, wait_num=2)
]
# fits the model on batches with real-time data augmentation:
data_gen_flow4 = data_gen4.flow(train_images_pad, train_labels, batch_size=batch_size)
data_gen_flow4v = data_gen4v.flow(test_images_pad, test_labels, batch_size=batch_size)
hist4 = model4.fit_generator(data_gen_flow4,
steps_per_epoch * 0.75, epochs=nEpochs,
validation_data=data_gen_flow4v, validation_steps=steps_per_epoch * 0.25,
verbose=0, callbacks=callbacks)
The validation performance is as expected better than the training one since the validation data is not augmented, thus the problem to solve is easier.
There is still indication of overfitting when the validation curve is flattening while training performance is still increasing.
print('Final train accuracy: {:.3f}'.format(hist4.history['Accuracy'][-1]))
Test data is not augmented and shall have a lower loss, better accuracy:
test_loss4, test_acc4 = model4.evaluate(test_images_pad, test_labels, verbose=0)
print('Test loss: {:.3f}, accuracy: {:.3f}'.format(test_loss4, test_acc4))
predictions4 = model4.predict(test_images_pad)
fig, ax = plt.subplots(figsize=(9, 8))
plotConfusionMatrix(test_labels, np.argmax(predictions4, axis=1), class_names)
With image augmentation overfitting is lower.
This technique is improving accuracy by 0.5% but is also very coslty in processing time.
plt.imshow(train_images_pad[1].squeeze(), cmap='gray')
plt.title('Padded test image');
Conclusion¶
Starting from a simple model provided by a tutorial, we have seen how to improve it by regularization (Dropout), fine tuning of the input data, and image augmentation.
Final score is a little higher, but most of all overfitting is way lower meaning a more robust model.
References:¶
- Introduction to CNNs - Tensorflow/Keras
- Keras Conv2D and Convolutional layer - PyImageSearch
- Image preprocessing - Tensorflow/Keras
- Keras ImageDataGenerator and Data Augmentation - PyImageSearch
- Classify butterfly images with deep learning in Keras
- Fashion MNIST with Keras and Deep Learning - PyImageSearch


class IssueAssetOperationBuilder : Builder<IssueAssetOperation>
Builder class for asset issue operation IssueAssetOperation
Author
Dmitriy Bushuev
<init> |
Builder class for asset issue operation IssueAssetOperation IssueAssetOperationBuilder() |
build |
Must be implemented and return the factory is supposed to build. fun build(): IssueAssetOperation |
setAmount |
Defines amount value of issue operation fun setAmount(issueAmount: AssetAmount): IssueAssetOperationBuilder |
setDestination |
Defines target account of issue operation fun setDestination(destination: Account): IssueAssetOperationBuilder |
setFee |
Defines fee value of issue operation fun setFee(fee: AssetAmount): IssueAssetOperationBuilder |
setIssuer |
Defines source account of issue operation fun setIssuer(issuer: Account): IssueAssetOperationBuilder |


Draw polytopes in LaTeX using TikZ#
Author: Jean-Philippe Labbé<EMAIL_ADDRESS>It is sometimes very helpful to draw 3-dimensional polytopes in a
paper. TikZ is a very versatile tool to draw in scientific documents
and Sage can deal easily with 3-dimensional polytopes. Finally sagetex
makes everything work together nicely between Sage, TikZ and
LaTeX. Since version 6.3 of Sage, there is a function for (projection
of) polytopes to output a TikZ picture of the polytope. Since version 9.8 of
SageMath, the tikz output can be a TikzPicture
object from the sage module
sage.misc.latex_standalone
. This short tutorial shows how it all works.
Instructions#
To put an image of a 3D-polytope in LaTeX using TikZ and Sage, simply follow the instructions:
Install SageTex (optional but recommended!)
Put
\usepackage{tikz}
in the preamble of your articleOpen Sage and change the directory to your article’s by the command
cd /path/to/article
Input your polytope, called P for example, to Sage
Visualize the polytope P using the command
P.show(aspect_ratio=1)
This will open an interactive view in your default browser, where you can rotate the polytope.
Once the desired view angle is found, click on the information icon in the lower right-hand corner and select Get Viewpoint. This will copy a string of the form ‘[x,y,z],angle’ to your local clipboard.
Go back to Sage and type
Img = P.tikz([x,y,z],angle,output_type='LatexExpr')
. You can paste the string here to save some typing.Img now contains a Sage object of type
LatexExpr
containing the raw TikZ picture of your polytope.
Alternatively, you can save the tikz image to a file, by doing
Img = P.tikz([x,y,z], angle, output_type='TikzPicture')
Img.tex('Img_poly.tex')
Img.tex('Img_poly.tex', content_only=True)
Img.pdf('Img_poly.pdf')
Then in the pwd (present working directory of sage, the one of your article)
you will have two files named Img_poly.tex
and Img_poly.pdf
containing the
tikzpicture of the polytope P
.
Customization#
You can customize the polytope using the following options in the command P.tikz()
scale
: positive number to scale the polytope,edge_color
: string (default:blue!95!black
) representing colors which tikz recognize,facet_color
: string (default:blue!95!black
) representing colors which tikz recognize,vertex_color
: string (default:green
) representing colors which tikz recognize,opacity
: real number (default:0.8
) between 0 and 1 giving the opacity of the front facets,axis
: Boolean (default:False
) draw the axes at the origin or not.output_type
: string (default:None
)None
,'LatexExpr'
or'TikzPicture'
, the type of the output. Since SageMath 9.8, the valueNone
is deprecated as the default value will soon be changed from'LatexExpr'
to'TikzPicture'
.
Examples#
Let’s say you want to draw the polar dual of the following (nice!) polytope given by the following list of vertices:
[[1,0,1],[1,0,0],[1,1,0],[0,0,-1],[0,1,0],[-1,0,0],[0,1,1],[0,0,1],[0,-1,0]]
In Sage, you type:
P = Polyhedron(vertices=[[1,0,1],[1,0,0],[1,1,0],[0,0,-1],[0,1,0],[-1,0,0],[0,1,1],[0,0,1],[0,-1,0]]).polar()
Then, you visualize the polytope by typing P.show(aspect_ratio=1)
When you found a good angle, follow the above procedure to obtain the values [674,108,-731] and angle=112, for example.
Img = P.tikz([674,108,-731], 112, output_type='TikzPicture')
Note: the output_type='TikzPicture'
is necessary since SagMath 9.8 to avoid
a deprecation warning message since the default output type will soon change
from a LatexExpr
(Python str) to a TikzPicture
object (allowing more
versatility, like being able to view it directly in the Jupyter notebook).
Or you may want to customize using the command
Img = P.tikz([674,108,-731],112,scale=2, edge_color='orange',facet_color='red',vertex_color='blue',opacity=0.4, output_type='TikzPicture')
Further, you may want to edit deeper the style of the polytope, directly inside the tikzpicture. For example, line 6-9 in the tikzpicture reads:
back/.style={loosely dotted, thin},
edge/.style={color=orange, thick},
facet/.style={fill=red,fill opacity=0.400000},
vertex/.style={inner sep=1pt,circle,draw=blue!25!black,fill=blue!75!black,thick,anchor=base}]
It is also possible to replace it by the following 4 lines (and adding \usetikzlibrary{shapes}
in the preamble)
back/.style={loosely dashed,line width=2pt},
edge/.style={color=yellow, line width=2pt},
facet/.style={fill=cyan,fill opacity=0.400000},
vertex/.style={inner sep=4pt,star,star points=7,draw=blue!75!white,fill=blue!85!white,thick,anchor=base}]
Finally, you may want to tweak your picture my adding labels, elements on vertices, edges, facets, etc.
Automatize using SageTex#
For this you need to put
\usepackage{sagetex}
in the preamble of your article
There are different ways to use sagetex and you may create your own. Here are some possibilities.
You can directly type in a sagestr in the article:
\sagestr{(polytopes.permutahedron(4)).tikz([4,5,6],45,scale=0.75, facet_color='red',vertex_color='yellow',opacity=0.3, output_type='LatexExpr')}
You may create the following tex commands
\newcommand{\polytopeimg}[4]{\sagestr{(#1).tikz(#2,#3,#4,output_type='LatexExpr')}}
\newcommand{\polytopeimgopt}[9]{\sagestr{(#1).tikz(#2,#3,#4,#5,#6,#7,#8,#9,output_type='LatexExpr')}}
in your preamble and use them with a sagesilent in your article:
\begin{sagesilent}
Polytope = polytopes.great_rhombicuboctahedron()
\end{sagesilent}
\polytopeimg{Polytope}{[276,-607,-746]}{102}{1}
\polytopeimgopt{Polytope}{view=[-907,379,183]}{angle=129}{scale=2}{edge_color='red'}{facet_color='yellow'}{vertex_color='blue'}{opacity=0.6}{axis=False}
Then, run pdflatex, execute Sage on the file article_name.sagetex.sage
and run pdflatex again.
For more information on SageTeX, see the tutorial http://doc.sagemath.org/html/en/tutorial/sagetex.html.


UD for Wolof
Tokenization and Word Segmentation
- Following most tokenization patterns, words are delimited by whitespace.
- Clitics that attach to orthographic words are systematically segmented. Function words such as prepositions, conjunctions, auxiliaries and determiners can attach to other function or content words. For instance, a word like cib “in a” is segmented into the preposition ci “in” and the indefinite article ab “a”. A similar segmentation is done for focus markers, since these usually constitute an amalgam of a subject pronoun (e.g. mu “he/she”) and a morpheme marking focus (e.g. a which mark subject focus), resulting in a complex form (e.g. moo).
Morphology
Tags
- Wolof uses all 17 universal POS categories, including particles (PART). The most common usage of PART is for infinitive particles a (to).
- Wolof uses a wide range of auxiliary verb (AUX), including:
- a: subject focus marker
- avoir: French auxiliary avoir contained in some foreign material
- bu: negative imperative marker
- da: verb focus marker
- di: imperfective marker
- être: French auxiliary être contained in some foreign material
- la: non-subject focus marker
- na: neutral (i.e. non-focus) and perfective marker
- ngi: progressive marker
- woon: past tense marker
- The AUX category also includes copulas. Wolof hhas three copulas:
- di: is used in identificational sentences.
- la: is used in predicational sentences
- ngi: is used in presentative/progressive constructions.
- In addition the data contain the French copula être (to be) (French foreign material)
- The tag DET is used for definite/indefinite articles, quantifiers and determiner words used with a determiner function; they can precede or follow the noun they quantify. The tag PRON is used for subjects or objects of a noun phrase and to show possession. In addition, possessive, reflexive, relative, interrogative, demonstrative, and indefinite pronouns are also grouped under the PRON tag.
- Since Wolof lacks adjectival modifiers, the tag ADJ was used only to annotate foreign material (i.e. some of the French adjectives that occurred in the data).
Features
- Determiners agree with noun in Number and Noun class.
- Definite articles and pronouns may specify deixis information. Also, demonstratives encode information about deixis, including reference to the speaker and/or addressee.
- There is no morphological Case; instead, adpositions (ADP) are used as case markers and specify the role of a noun in a phrase.
- Focus is marked morphosyntactically. Focus on the subject, verb, or non-subject (i.e. any constituent which is neither subject nor main verb) is signaled by special morphemes. The encode the focus type respectively as Subject focus, Verb Focus and Non-subject focus.
- The tense feature distinguishes three values: past, present and future. Tense is typically marked on auxiliaries (e.g. dina “he will”) and particles (woon “past tense particle”) which follow the verb.
Syntax
- Wolof is an SVO language with a rigid word order.
Subjects
- Nominal subjects are in initial position.
- Nominal subject (nsubj) is a noun phrase without preposition.
- A (nonfinite) subordinate clause may serve as the subject and is labeled csubj.
Objects
- Objects follow the main verb.
- When a verb has two objects, the one immediately folowing the verb is the primary object, the second one treated as the secondary object.
Wolof uses the following relation subtypes:
- compound:prt to attach verbal particles to verbs
- compound:svc to connect verbs in a serial verb construction
- acl:relcl: relative clause modifier
- obj:caus: causative object (caused agent)
- obj:appl: direct applicative object
- iobj:appl: indirect applicative object
- obl:appl: oblique applicative argument
Copular constructions
- Wolof distinguish between three copulas: di, la, and ngi. These appear
- di appears in identificational sentences like Góor gi di njiit (The man is a leader). Such sentences follow the standard SVO worder order (i.e. Nominal Subject + Copula + Nominal Predicate). The predicate is typically a nominal one.
- la is used in predicational sentences like Góor gi njjit la (The man is a leader). In contrast to identificational sentences, Wolof predicational sentences do not show the SVO word order, but rather SOV order. The predicate, which is typically a nominal one, precedes the copula.
- ngi is mainly used in presentative/progressive sentences. Unlike the two previous copulas, the predicate of the ngi copula can only be a manner or a locative (e.g. in the house) as in Góor gi mu ngi ci kër gi (The man is in the house). Also, such copular constructions have an SVO word order.
Treebanks
There is only one Wolof UD treebank at present:


There are no recent events on your subscriptions.
There are no tasks in active stories currently assigned to you.
There are no active stories created by you.


REACTOME is an open-source, open access, manually curated and peer-reviewed pathway database. Our goal is to provide intuitive bioinformatics tools for the visualization, interpretation and analysis of pathway knowledge to support basic and clinical research, genome analysis, modeling, systems biology and education.
Source: Extract from Reactome's mission statement [2018/09/27]
This plugin was not developed by the Reactome team. Reactome neither supports nor endorses this work. References to Reactome in this plugin are meant only to credit the source of data.
Example queries: 'TP53', 'PTEN'


Djokovic wins as Serbia reaches Davis Cup quarterfinals
by TALES AZZONIMADRID (AP) - Novak Djokovic defeated Benoit Paire 6-3, 6-3 to seal Serbia’s victory over top-ranked France in the Davis Cup Finals on Thursday.
The result gave Serbia an insurmountable 2-0 lead over the French before the doubles match. Filip Krajinovic had defeated Jo-Wilfried Tsonga 7-5, 7-6 (5) in the first singles to mathematically secure Serbia in the last eight of the revamped team competition.
Djokovic had a break in the first set and two in the second to clinch his 14th straight Davis Cup singles victory.
“I made some crucial breaks at the right time in both sets,” Djokovic said. “It’s tough to play Benoit, he is a very talented guy, very unpredictable.”
Serbia secured first place in Group A by winning every tie without dropping a set.
Group winners advance to the knockout stage along with the two best second-place finishers among the six groups.
Britain and Kazakhstan were 1-1 after Kyle Edmund defeated Mikhail Kukushkin 6-3, 6-3 and Alexander Bublik evened the match for Kazakhstan by beating Daniel Evans 5-7, 6-4, 6-1.
The winner will clinch a place in the last eight as the first-placed team in Group E.
Britain was not playing Andy Murray, who on Wednesday came from behind to win his match against Tallon Griekspoor in three sets.
In Group C, Germany was leading Chile 1-0 after Phillip Kohlschreiber defeated Nicolas Jarry 6-4, 6-3.
Australia and Canada meet in the first quarterfinal later on Thursday.
More AP Tennis: https://www.apnews.com/apf-Tennis and https://twitter.com/AP_Sports
Tales Azzoni on Twitter: http://twitter.com/tazzoni
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


Your phone contains many sensors. For example, it has a gyroscope and an accelerometer. These sensors are also found in fitness trackers like the Apple Watch, Fitbit, and Jawbone Up. These sensors measure your physical activity.
With your permission we'd like to add sensor data from your fitness tracker to the study. This is an optional part of the study. You can still participate in the study if you do not allow us to gather data from these sensors.
We will NOT access other apps on your phone. Also, we will NOT access your contacts, photos, texts, or email.


When humans have to solve everyday tasks, they simply pick the objects that are most suitable. While the question which object should one use for a specific task sounds trivial for humans, it is very difficult to answer for robots or other autonomous systems. This issue, however, is not addressed by current benchmarks for object detection that focus on detecting object categories. We therefore introduce the COCO-Tasks dataset which comprises about 40,000 images where the most suitable objects for 14 tasks have been annotated.
In the left image, the wine glass is preferred to other drinking glasses. In the right image, neither a wine glass nor other drinking glasses are present. The cup is therefore chosen by the human.
We are providing the dataset for academic use, in the same format as COCO dataset. This means that you can directly use the COCO API to read the annotation of our dataset. Furthermore the annotation tool used to annotate our dataset is also open-sourced.
Dataset Annotation
Annotation Tool
The COCO-Tasks dataset was introduced in the following CVPR 2019 paper. If you use the dataset, please cite our paper.
@inproceedings{cocotasks2019,
Author = {Sawatzky, Johann and Souri, Yaser and Grund, Christian and Gall, Juergen},
Title = {{What Object Should I Use? - Task Driven Object Detection}},
Booktitle = {{CVPR}},
Year = {2019}
}