|
|
Pulling values from Emoncms |
2 |
4 years 13 weeks ago by Guest |
4 years 13 weeks ago by TrystanLea |
|
|
Pull data from my.currentcost.com or xivley.com into EmonCMS |
6 |
1 year 44 weeks ago by bert386 |
1 year 42 weeks ago by bert386 |
|
|
Publishing to EmonPi: Missing Values |
4 |
1 year 5 weeks ago by NivagSwerdna |
1 year 5 weeks ago by NivagSwerdna |
|
|
Publish to MQTT from a MQTT feed input |
14 |
1 year 6 weeks ago by cab123 |
1 year 5 weeks ago by allmac |
|
|
Publish to MQTT and Emoncms.org from a HTTP feed input [SOLVED] |
5 |
1 year 5 weeks ago by allmac |
1 year 4 weeks ago by allmac |
|
|
Publish to MQTT - how do you set it up? [Solved] |
29 |
1 year 39 weeks ago by Ian Eagland |
1 year 38 weeks ago by Ian Eagland |
|
|
public share URL |
5 |
4 years 4 days ago by Guest |
2 years 46 weeks ago by ukmoose |
|
|
Public graphs don't display data when not logged in |
4 |
2 years 26 weeks ago by bborncr |
2 years 26 weeks ago by bborncr |
|
|
public emoncms |
5 |
4 years 22 weeks ago by Sergegsx |
4 years 21 weeks ago by Sergegsx |
|
|
Public dashboards wont display on own hosted server |
1 |
4 years 18 weeks ago by Guest |
4 years 18 weeks ago by Guest |
|
|
Protected access to public Dashboard section |
0 |
2 years 3 weeks ago by Arrow69 |
n/a |
|
|
Proposed feature |
2 |
2 years 40 weeks ago by darrepac |
2 years 40 weeks ago by JBecker |
|
|
Proper feeds for My Electric panel |
1 |
2 years 47 weeks ago by rbreuss |
2 years 46 weeks ago by rbreuss |
|
|
Project - House Automatization - Help with current sensor programing |
4 |
4 years 16 weeks ago by Guest |
4 years 16 weeks ago by Sergegsx |
|
|
Programing the emonTX |
6 |
5 years 7 weeks ago by Guest |
5 years 7 weeks ago by Guest |
|
|
Profile module |
8 |
2 years 23 weeks ago by Eric_AMANN |
47 weeks 6 days ago by denergic |
|
|
Processor List with conditional processes |
2 |
2 years 3 weeks ago by chaveiro |
2 years 3 weeks ago by chaveiro |
|
|
Process long variable |
5 |
4 years 3 weeks ago by Guest |
3 years 36 weeks ago by Jérôme |
|
|
problen update from Emoncms version: 8.3.6 to 9.4 |
4 |
46 weeks 2 days ago by eduardoa |
46 weeks 1 hour ago by eduardoa |
|
|
Problems with visualisation in Chrome |
6 |
4 years 30 weeks ago by Guest |
4 years 30 weeks ago by Guest |
|
|
Problems with SD storage (using Ethernet Shield R3) [SOLVED] |
5 |
3 years 26 weeks ago by Guest |
1 year 32 weeks ago by Guest |
|
|
Problems with RFM12Pi and raspberrypi Module |
2 |
1 year 7 weeks ago by pfeilc |
1 year 7 weeks ago by pfeilc |
|
|
Problems with packetgen |
8 |
2 years 47 weeks ago by Bra1n |
2 years 45 weeks ago by Bra1n |
|
|
Problems with other sensors and emoncms. -RFM12Pi- |
6 |
4 years 12 weeks ago by robw |
4 years 12 weeks ago by robw |
|
|
problems with My Electric |
2 |
1 year 11 weeks ago by borpin123 |
1 year 11 weeks ago by borpin123 |
|
|
Problems with Multigraph on Emoncms on Raspberry Pi |
3 |
3 years 51 weeks ago by Guest |
3 years 51 weeks ago by Guest |
|
|
Problems with input to local Raspberry Pi from Yoctopuce VirtualHub |
5 |
1 year 39 weeks ago by Ambjoorn |
1 year 35 weeks ago by Ambjoorn |
|
|
Problems with input to local Raspberry Pi |
1 |
1 year 37 weeks ago by Ambjoorn |
1 year 37 weeks ago by pb66 |
|
|
problems when using multigraph |
8 |
3 years 2 weeks ago by Eric_AMANN |
3 years 2 weeks ago by TrystanLea |
|
|
Problems using emoncms feed api |
4 |
2 years 12 weeks ago by arwed |
2 years 12 weeks ago by pb66 |
|
|
Problems using accents |
2 |
4 years 48 weeks ago by i.martinez |
4 years 44 weeks ago by i.martinez |
|
|
Problems upgrading to emoncms 7.0 |
4 |
3 years 5 weeks ago by Marquis27 |
3 years 5 weeks ago by Marquis27 |
|
|
Problems upgrading from v5 to v7 ... |
6 |
3 years 5 weeks ago by Mal Harwood |
3 years 3 weeks ago by TrystanLea |
|
|
Problems upgrading |
2 |
4 years 10 weeks ago by Guest |
4 years 10 weeks ago by TrystanLea |
|
|
Problems for NanodeRF_multinode sketch to process long jeelib RF12 messages |
0 |
4 years 21 weeks ago by mountaindude |
n/a |
|
|
problems after update from 8.4 to 9.3 |
10 |
1 year 6 weeks ago by MueThoS |
1 year 6 weeks ago by MueThoS |
|
|
Problems after running the script "factoryreset" |
2 |
1 year 37 weeks ago by Chewie |
1 year 36 weeks ago by Paul Reed |
|
|
Problem with vis.openenergymonitor.org? |
3 |
4 years 23 weeks ago by robw |
4 years 23 weeks ago by logic |
|
|
Problem with topic |
9 |
4 years 34 weeks ago by Lloyd |
4 years 34 weeks ago by Lloyd |
|
|
Problem with some feeds not showing in graphs on emoncms.org |
16 |
2 years 46 weeks ago by jb79 |
2 years 26 weeks ago by bborncr |
|
|
Problem with power to kWh |
5 |
1 year 8 weeks ago by howdi124 |
1 year 8 weeks ago by joyrider3774 |
|
|
Problem with making an good JSON string... |
4 |
4 years 32 weeks ago by alco |
4 years 32 weeks ago by Robert Wall |
|
|
problem with ISO |
13 |
2 years 11 weeks ago by haden |
2 years 10 weeks ago by pb66 |
|
|
Problem with emoncms on emonpi |
11 |
1 year 36 weeks ago by Jez Wingfield |
1 year 36 weeks ago by pb66 |
|
|
Problem with Emonbase. Block every 1 or 2 days. |
0 |
4 years 32 weeks ago by Guest |
n/a |
|
|
Problem with email at emoncms event |
2 |
1 year 3 days ago by Langeb2000 |
51 weeks 6 days ago by pb66 |
|
|
problem with daily charts after 9.2 update |
4 |
1 year 7 weeks ago by mkrnak |
1 year 6 weeks ago by arjen |
|
|
Problem with creating feeds in locally hosted emoncms |
3 |
1 year 42 weeks ago by CatOddie |
1 year 41 weeks ago by Guest |
|
|
Problem whilst verifying Emon TX sketch on Arduino, fatal error: JeeLib.h: No such file or directory |
12 |
1 year 7 weeks ago by saggers |
1 year 7 weeks ago by Robert Wall |
|
|
Problem while upgrade with git. |
3 |
45 weeks 6 days ago by fcattaneo |
45 weeks 5 days ago by fcattaneo |


---
layout: splash
title: "PCL Hackfest Summer 2016"
author_profile: false
header:
overlay_image: hackfest_banner.png
excerpt: "June 14th TU Munich, Germany"
---
{% include base_path %}
Latest News
Open Session videos are now online
-
Fyuse by Alex Trevor and Stephen Miller
Slides
-
Extensions and Applications of pcl::sample_consensus by Zoltán-Csaba Márton
Slides
-
People Detection and Tracking in RGB-D Data by Matteo Munaro
Slides Video
-
3D Perception from SLAM by Federico Tombari and Keisuke Tateno
Slides
-
Semantic Parametric Body Shape Estimation by Alexandru Ichim
Slides
Video 1
Video 2
Video 3
-
Genius Software by Charbel Achkar and Habib Abi-Rached
Slides
-
Developer Session Summary by Jochen Sprickerhof and Sérgio Agostinho
Open Session Registration
The registration for the Open Session is now
open.
Getting There
Fakultät für Informatik
Technische Universität München
Boltzmannstr. 3
85748 Garching b. München
The TUM campus is outside the city but can be easily reached via underground (line U6, 25 minutes from the city center).
Agenda
June 13
Informal gathering at around 5pm, chit-chat, and then we go for beers/dinner for those that are already in Munich.
June 14
Timetable
| 9:00 - 12:00 |
Developers session |
| 12:00 - 13:00 |
Lunch break |
| 13:00 - 15:00 |
Developers session |
| 15:00 - 18:00 |
Open session |
| 18:00 - |
Chill |
The
Developer sessions are closed and targeted towards PCL developers. The sessions will comprise of discussions about all sorts of maintenance and roadmap affairs, followed by some actual hacking. Participants are invited to show how they integrated PCL into their work/research, and present their proposals and other thoughts about the future of the library. This is of course optional and limited to 10 minutes.
The
Open session is targeted towards PCL users. This session will comprise of demos organized the developer team, followed by a "call-to-action" session with the purpose of engaging users into having a more active role in PCL's development, and finishing with a Q&A session.
Accommodation
The participants can either decide to book an accommodation in Garching (the nearest town) or in the city center.


{% extends "layout.html" %} {% block title %}Ridr | Rides{% endblock %} {% block body_class %}rides{% endblock %} {% block content %}
Whoa... no one has added any rides yet. That means you're the first! Let's create a ride!


I've been drawing since I could hold a pencil ...
Ink has always been my favorite because of the distinct, permanent nature of the medium. Whether it's black, blue, red or some mixture, you know it's going to stay once applied.
Today, with software ranging from Photoshop to Blender 3D to GitHub, anything is possible. We're finally able to let our creative nature run free without constraint (or very much at least).


Input your search keywords and press Enter.
Zabriceni, rn.Edinet, R.Moldova
Your message is successfully sent...
Something went wrong


Home
(current)
Programs
Exercises
Lecture Videos
CSC 145: Object-Oriented Programming II
This page provides resources for CSC 145 at Louisiana State University - Shreveport.
Programs
Exercises
Lecture Videos


The Sandpiper Standard Library Reference will not be available until work on the compiler is underway.
You can help move this process along and shape the language by getting in touch and contributing! Your voice is as welcome as your assistance.
The Sandpiper Standard Library Reference will not be available until work on the compiler is underway.
You can help move this process along and shape the language by getting in touch and contributing! Your voice is as welcome as your assistance.
Copyright © 2015, The Maintainers of the Sandpiper Language, as listed here. Sandpiper is MIT Licensed.


Rush Service Available: In before noon, out by 5:00 pm next day
We strive to know each of our customer's personal preferences regarding how they want their clothes cleaned and pressed. With the only computerized dry cleaning tracking system in the Cedar Valley, Prestige tracks your clothes according to both name and type of garment. Furthermore, our computerized system allows Prestige personnel to be notified not only your personal preferences, but also your contact information, to ensure the quickest possible pick up and drop off times.
Our Customers will be greeted with a friendly smile when they come into contact with Prestige. Our customers are valued.
Most stains are completely removed or at a minimum are lightened. To help ensure the best possible outcome for a garment, bring stained garments in to us as soon as possible and notify the Customer Service Representative what the stain is for proper treatment.
Before deeming a stain "unremovable" Prestige professional stain removers will treat and run a garment through the stain removal process three times.*
Prestige professional pressers will use industry standard pressing practices unless customer notifies us of a different personal preference.
Each garment will be treated as if it is one of our own.
Coats looking grungy? We can take care of that! We will remove stains, de-pill, de-lint, brush and press your coats. You'll have a brand-new coat at a fraction of the cost!
Why do sweaters washed at home end up looking old? Pills, lint and fading. Keep your sweaters looking new by sending them to us! We will de-pill, de-lint, and keep colors vibrant. We'll fold your sweaters with tissue in the folds to make sure your sweater won't get the dreaded "hanger marks."
It seems one of the hardest thing to iron is a shirt or blouse. Let us take care of it for you! With specialized presses and professional pressers, we can do more than a home iron can do and it's much easier for you. Prestige can prevent color fading and replace any missing buttons.
Keep that crease sharp and looking new by sending your pants to Prestige!
It's said "dress for the job you want, not the job you have." Look your best for that interview, speech or seminar. Keep your suits looking crisp and new with Prestige!
From flowing summer dresses to prom night, we keep your dresses looking beautiful and wrinkle-free!
Keep your skirts looking like new by having them professionally cleaned by Prestige! They'll keep their length and shape and you'll look great!
How long has it been since you cleaned your leather? Body oils and dirt can gather around the collar and cuffs of your coat, discoloring them and aging your garment. Clean your leather with Prestige to extend it's life and your enjoyment of that favorite leather!
Preserve your memories by preserving your wedding gown with Prestige. We take extra care in gently cleaning your gown and then preserving it in our Preservation Pack. With each Preservation Pack we give customers long-term storage tips and recommendations to help ensure your dress lasts a lifetime.
Washed the sheets, but forgot the comforter? Let us clean it for you. We'll remove the stains, clean your bedding and have your bed irresistible again in no time!
 Let Prestige bring back your table settings back to new at a fraction of the cost with our stain removal, cleaning and pressing services!
Don't let your drapes trap odors and dust in your home! We'll clean and press your window treatments for a whole-house fresh and crisp look!
Garments not fit quite right? Bring it to Prestige and we'll make the corrections you need, clean and professionally press your clothes.
Vacuuming is not enough. To get a thorough clean, rugs need professional care so bring yours to Prestige for a clean so clean a baby can crawl on.


We are into Mobile and Desktop App development, Website development, Animations and Photo Designs. The company targets any company or institution that wishes to take their business to the next level by providing you with the application that makes your customers feel special. We develop your ideas and make them a reality . If you have just a vague idea you want to bring to the software pool, just contact us to help you make the best out of it.
We develop both Web and mobile applications for companies and organizations
We also specialize in the design of exquisite graphics of any kind for corporations
We also add up to the desktop app library by providing fresh and ingenious apps with less storage demands
We are into Animations and Videos Editing
25500
28
55
201


Associate Web Developer
Theorem India PVT LTD, Mysore, India
• Responsible for planning high-end websites from the ground up for clients.
• Creating functional and attractive websites according to the client's business needs.
• Constructing website layouts and user-friendly design.


---
layout: main
---
{% include_relative content/hero.html %}
{% include_relative content/introduction.html %}
{% include_relative content/coop.html %}
{% include_relative content/background.html %}
{% include_relative content/academics.html %}
{% include_relative content/outcomes.html %}
{% include_relative content/lifestyle.html %}
{% include_relative content/future.html %}
{% include_relative content/end.html %}


The projects include a few
Please Contact Me At<EMAIL_ADDRESS>Would you like to connect with me on Github? Check out my Database of Projects. Enjoy the view.
Career Experience is the way you get to know my skill-set and passion. Take a Stroll through My History.


HEALTH MART FIBER CAPLETS
- methylcellulose (4000 cps) tablet
McKesson
Disclaimer: Most OTC drugs are not reviewed and approved by FDA, however they may be marketed if they comply with applicable regulations and policies. FDA has not evaluated whether this product complies.
Active ingredient (in each caplet)
Methylcellulose 500 mg
Purpose
Bulk-forming laxative
Uses
- helps restore and maintain regularity and relieves constipation (irregularity)
- in the treatment of constipation associated with other bowel disorders when recommended by a doctor
Warnings
Choking: Taking this product without adequate fluid may cause it to swell and block your throat or esophagus and may cause choking. Do not take this product if you have difficulty in swallowing. If you experience chest pain, vomiting or difficulty in swallowing or breathing after taking this product, seek immediate medical attention.
Ask a doctor before use if you have
- abdominal pain, nausea or vomiting
- a sudden change in bowel habits that persists over a period of 2 weeks
- sensitivity to any of the ingredients
When using this product
- do not exceed recommended maximum dose unless directed by a doctor
- do not use laxative products for a period longer than one week unless directed by a doctor
Stop use and ask a doctor if
- rectal bleeding occurs
- you fail to have a bowel movement after use
Keep out of reach of children
In case of overdose, get medical help or contact a poison control center right away.
Directions
This product generally produces effect in 12-72 hours
- take this product (child or adult) dose with atleast 8 ounces (a full glass) of water or other fluid
- taking this product without enough liquid may cause choking, see choking warning
Age
|
Dose
|
Maximum Dose
|
adults and children over 12 years
|
2 caplets
|
up to 6 times daily
|
children (6 to 12 years)
|
1 caplet
|
up to 6 times daily
|
children under 6 years
|
ask a doctor
|
ask a doctor
|
Other information
-
each caplet contains: sodium 10 mg
- store at room temperature 15o-30oC (59o-86oF)
- protect contents from moisture
- keep tightly closed
-
tamper evident: Do not use if printed seal under cap is torn or missing
Inactive ingredients
citric acid, colloidal silicon dioxide, crospovidone, FD and C yellow 6 aluminum lake, magnesium stearate, microcrystalline cellulose, sodium bicarbonate, sodium chloride, sodium lauryl sulphate
Principal Display Panel
Health Mart pharmacy
compare to Citrucel caplets active ingredient
fiber caplets
methylcellulose 500 mg
bulk-forming laxative
dietary fiber supplement
helps maintain and restore regularity
100 caplets
Fiber caplets image1
Fiber caplets image2


{{ define "main" }}
Some of the greatest people we know are founders. They are self-starters, think differently, and have an inherent drive to deliver quality. Founders don't only do the bare minimum, but genuinely want to make great things.
Froggodoggo is not a freelancer or outsourcing site. We know that the best work is done if people you hire are a real part of your team. We make sure to select companies and founders who think that way.
We think quality is worth paying for. If you're looking to get a quick and cheap project done, keep walking. Froggodoggo is free for founders, and companies pay a one-time matching fee of USD $300 for a successful hire.


USAFMFI - Use the static or final Modifiers For methods Inlining
Use of static or final will improve the performance of your method if it can be inlined. Inlining will not occur unless one of these is used.
REFERENCE
Warren N. and Bishop P. (1999), "Java in Practice", p. 4-5 Addison-Wesley, ISBN 0-201-36065-9.


Welcome to pyvane’s documentation!¶
Segmentation routines¶
-
pyvane.segmentation.
vessel_segmentation
(img, threshold, sigma=None, radius=40, comp_size=500)¶ Blood vessel segmentation using adaptive thresholding. In short terms, for each pixel, if img[pixel]-avg(img[window])>threshold the pixel is marked as blood vessel, where window is a region centered at the pixel. The function also removes connected components smaller than comp_size.
- Parameters
img (Image) – Image to be segmented. Can be 2D or 3D.
threshold (float) – Pixels with values larger than avg(img[window]) are blood vessel candidates, where window is a region centered at the pixel.
sigma (list of float, optional) – Gaussian standard deviations for smoothing the image before thresholding. The values should be given as physical units (e.g., micrometers). If None, unitary values are used.
radius (int) – Window size to use for intensity averaging. Since a Gaussian is used, this is actually 2x the standard deviation of the Gaussian used for averaging pixel intensities. Note that this Gaussian is different than the one defined by parameter sigma. The value is in pixels.
comp_size (int) – Connected components smaller than comp_size are removed from the image.
- Returns
A binary image containing segmented blood vessels.
- Return type
Graph creation¶
-
class
pyvane.graph.creation.
BranchMap
(ips)¶ Auxiliary map for keeping track of interest points associated to each branch pixel.
- Parameters
ips (list of InterestPoint) – Interest points whose branches will be mapped.
-
get_ip_ids
(branch)¶ Given a branch pixel, returns the indices of the interest points associated to the branch. Usually, a list containing a single index is returned, but on some corner cases two values may be returned.
- Parameters
branch (tuple of int) – The coordinates of the branch.
- Returns
The indices of the interest points associated to the branch.
- Return type
list of int
-
class
pyvane.graph.creation.
InterestPoint
(pixels_coords, point_type)¶ Class representing a termination or bifurcation point.
A bifurcation can have more than one associated pixel. Therefore, the interest point is represented as a list of pixels and a center.
- Parameters
pixels_coords (list of tuple) – Coordinates of the pixels associated to the interest point.
point_type ({'bifurcation', 'termination'}) – Type of the point.
-
pixels
¶ Coordinates of the pixels associated to the interest point.
- Type
list of tuple
-
center
¶ Center point of the interest point.
- Type
tuple
-
type
¶ Type of the interest point.
- Type
str
-
ndim
¶ Number of coordinates of the point.
- Type
int
-
branches
¶ Branches associated to the point. A branch is a pixel having two neighbors, one of which is the interest point. The list is initially empty. Method self.add_branches needs to be called for populating the variable.
- Type
list of tuple
-
add_branches
(img_num_neighbors)¶ Obtain branches (pixels with two neighbors) connected to an interest point.
- Parameters
img_num_neighbors (ndarray) – Each element of the array contain the number of neighbors of a pixel in some binary image. For instance, the center point of a cross has 4 neighbors.
- Returns
branches – The identified branches. The branches will also be added to self.branches.
- Return type
list of tuple
-
classmethod
map_point_type
(point_type, code_to_name=True)¶ Map point code to name, or vice-versa.
- Parameters
point_type (int) – Code of the point.
code_to_name (bool) – If False, the function maps a point name to code.
- Returns
The point name or code.
- Return type
Union[int, str]
-
pyvane.graph.creation.
add_branches_to_ips
(ips, img_num_neighbors, verbose=False)¶ Add branch information to all interest points in ips. The points are modified in place.
- Parameters
ips (list of InterestPoint) – Interest points.
img_num_neighbors (ndarray) – Each element of the array contains the number of neighbors of a pixel in some binary image. For instance, the center point of a cross has 4 neighbors.
verbose (bool) – If True, the progress is printed.
-
pyvane.graph.creation.
create_graph
(img_skel, verbose=False)¶ Generate graph from an image containing a skeleton.
In the final graph, nodes represent bifurcations and terminations and edges indicate that there is a sequence of connected pixels between two nodes. Terminations are defined as skeleton points having only one adjacent pixel of the same color. Bifurcations are defined as skeleton regions composed of pixels having three or more neighbors.
Nodes in the final graph have the following attributes:
‘pixels’: list of pixels associated to the node. It is a single pixel for termination
node.
‘center’: pixel representing the center of the node. Identical to ‘pixels’ for terminations.
‘type’: either ‘bifurcation’ or ‘termination’.
‘ndim’: number of coordinates of pixels associated to the node, that is, the dimension of the original
image.
‘branches’: list of pixels that are branches of a node. Branches are pixels having two neighbors, one
of which is a pixel belonging to the node.
Edges in the final graph have the following attributes:
‘path’: list of pixels associated to the edge. Each pixel has exactly two neighbors in img_skel.
- Parameters
img_skel (Image) – Binary image containing the skeleton to process. Must contain only values 0 and 1.
verbose (bool) – If True, prints the progress of the algorithm.
- Returns
graph – Graph representing the skeleton. Note that the graph may have self-loops and multiple edges.
- Return type
networkx.MultiGraph
-
pyvane.graph.creation.
find_interest_points
(img_num_neighbors, verbose=False)¶ Identifies interest points (terminations and bifurcations) on a binary image. Input img_num_neighbors is an array containing the number of neighbors of each pixel.
- Parameters
img_num_neighbors (ndarray) – Each element of the array contains the number of neighbors of a pixel in some binary image. For instance, the center point of a cross has 4 neighbors.
verbose (bool) – If True, the progress of the search process is printed.
- Returns
interest_points – Interest points found.
- Return type
list of InterestPoint
-
pyvane.graph.creation.
find_interest_points_type
(img_comps, point_type_name, structure, verbose=False)¶ Identifies interest points (terminations or bifurcations) on a binary image. See function find_interest_points for details.
- Parameters
img_comps (ndarray) – Binary image.
point_type_name ({'bifurcation', 'termination'}) – Type of the point to search.
structure (ndarray) – Structuring element to use for detecting connected components
verbose (bool) – If True, the progress of the search process is printed.
- Returns
interest_points – Interest points found.
- Return type
list of InterestPoint
-
pyvane.graph.creation.
find_path_ip
(path, ips)¶ For a given path, find the interest point that is a neighbor of the last point in the path.
- Parameters
path (list of tuple) – Pixels returned by function track_branch.
ips (list of InterestPoint) – Interest points to search.
- Returns
idx – Index of the interest point sought.
- Return type
int
-
pyvane.graph.creation.
is_inside
(pixel_coord, img_shape)¶ Check if pixel is inside image.
- Parameters
pixel_coord (tuple of int) – Pixel to check.
img_shape (tuple of int) – Size of the image.
- Returns
is_inside – True if pixel is inside the image or False otherwise.
- Return type
bool
-
pyvane.graph.creation.
iterate_neighbors
(pixel_coords)¶ Iterate over neighbors of a given pixel. Works for 2D and 3D images.
- Parameters
pixel_coord (tuple of int) – Reference pixel.
- Yields
tuple of int – The neighbors of the pixel.
-
pyvane.graph.creation.
remove_isolated_points
(ips, edges)¶ Remove points that have no edge. When doing so, the list of edges needs to be updated since the indices of the point changed.
- Parameters
ips (list of InterestPoint) – List of interest points.
edges (list of tuple) – Edges returned by function track_branches.
- Returns
new_ips (list of InterestPoint) – New list of interest points.
new_edges (list of tuple) – Updated list of edges.
-
pyvane.graph.creation.
remove_single_pixel_self_edges
(edges)¶ Remove corner case edges representing a single segment pixel between the same point, that is, a self-loop with one pixel.
- Parameters
edges (list of tuple) – Edges, same format as returned by function track_branches.
- Returns
new_edges – Updated edges.
- Return type
list of tuple
-
pyvane.graph.creation.
to_networkx
(ips, edges, graph_attrs=None)¶ Converts list of interest points and edges to a networkx MultiGraph.
- Parameters
ips (list of InterestPoint) – List of interest points.
edges (list of tuple) – Segments between interest points. Each element of the list is a tuple of the form (ip1_idx, ip2_idx, path), where ip1_idx and ip2_idx are the indices of the interest points and path a list of pixels between the two points.
graph_attrs (dict) – Graph attributes added to the networkx graph (accessed as graph.graph).
- Returns
graph – Graph representing the interest points and their connections.
- Return type
networkx.MultiGraph
-
pyvane.graph.creation.
track_branch
(interest_point, branch_index, img_num_neighbors)¶ Track a given branch starting at a bifurcation or termination, stopping when finding another termination or bifurcation. branch_index sets the branch to track (0, 1, 2, etc). img_num_neighbors contains the number of neighbors for each pixel.
- Parameters
interest_point (InterestPoint) – Starting point of the tracking process.
branch_index (int) – Index of the branch to track.
img_num_neighbors (ndarray) – Each element of the array contains the number of neighbors of a pixel in some binary image. For instance, the center point of a cross has 4 neighbors.
- Returns
path – Pixels between two interest points. All pixels in path have two neighbors. The first pixel is a branch of interest_point and the last pixel is a branch of some other interest point.
- Return type
list of tuple
-
pyvane.graph.creation.
track_branches
(ips, img_num_neighbors, verbose=False)¶ Track branches of interest points in ips. For a given branch of an interest point, the tracking starts at the branch and stops when finding another interest point. The process is repeated for all branches of all interest points.
- Parameters
ips (InterestPoint) – Interesting points to track.
img_num_neighbors (ndarray) – Each element of the array contains the number of neighbors of a pixel in some binary image. For instance, the center point of a cross has 4 neighbors.
verbose (bool) – If True, the progress is printed.
- Returns
edges – Paths tracked. Each element of the list is a tuple of the form (ip1_idx, ip2_idx, path), where ip1_idx and ip2_idx are the indices of the interest points and path a list of pixels between the two points.
- Return type
list of tuple
-
pyvane.graph.creation.
unpad_coords
(ips, edges)¶ Subtract 1 from the coordinates of all interest points and edges. Used when the original image is padded for avoiding indices outside the image. The procedure is done in place.
- Parameters
ips (list of InterestPoint) – List of interest points.
edges (list of tuple) – Edges returned by function track_branches.
Graph manipulation¶
-
pyvane.graph.adjustment.
count_multiple_edges
(graph)¶ Single edges are counted as 0. Two parallel edges are counted as 1
Image class¶
-
class
pyvane.image.
Image
(data, path=None, pix_size=None)¶ Class representing a 2D or 3D image. The pixel data is saved in attribute data. The class also contains some basic methods for changing the range and type of the values.
- Parameters
data (array_like) – The matrix/tensor containing the pixel values.
path (str, optional) – The location in the system of the image file.
pix_size (tuple of float, optional) – The physical size of the pixels or voxels.
-
data
¶ Matrix/tensor containing the pixel values.
- Type
ndarray
-
path
¶ The location in the system of the image file.
- Type
str
-
pix_size
¶ The physical size of the pixels or voxels.
- Type
tuple of float
-
filename
¶ The name of the file corresponding to the image.
- Type
str
-
ndim
¶ The dimension of the image
- Type
int
-
shape
¶ The size of each image axis.
- Type
tuple of int
-
or_vmin
¶ The minimum image intensity when the image is first initialized. Does not change after transformations.
- Type
Union[int, float]
-
or_vmax
¶ The maximum image intensity when the image is first initialized. Does not change after transformations.
- Type
Union[int, float]
-
change_type_range
(curr_max=255, new_max=1)¶ Change range of the data type (e.g., 2^8 to 2^16), only doing type conversion if necessary for the computation.
This function is useful when you want to change the pixel type of an image but also keep relative intensities. For instance, for an np.uint8 image with maximum value 128 (2**8/2), you may want to convert it to np.uint16 with maximum value 32896 (~2**16/2). In this case, you first convert the image to np.uint16 and then call change_type_range(curr_max=2**8-1, new_max=2**16-1).
- Parameters
curr_max (Union[int, float]) – The maximum value of the current data type. For instance, it is 255 for uint8 and usually 1. for np.float.
new_max (Union[int, float]) – The maximum value of the new data type.
-
copy
()¶ Copy the image to a new image. Attributes or_vmax and or_vmin are also copied from the original image.
- Returns
img – The new image.
- Return type
-
get_info
()¶ Return string containing information about the image.
- Returns
repr_str – String containing information about the image.
- Return type
str
-
get_range
()¶ Get minimum and maximum intensities as a tuple
- Returns
The minimum and maximum values.
- Return type
tuple of Union[int, float]
-
stretch_data_range
(new_max=255)¶ Pointwise linear transformation [self.data.min(), self.data.max()] -> [0, new_max].
- Parameters
new_max (Union[int, float]) – The new maximum value of the image.
-
to_float
()¶ Convert data type to np.float
-
to_uint8
()¶ Convert data type to np.uint8
-
unique
()¶ Return unique values in the image.
- Returns
Unique values in the image, in increasing order.
- Return type
ndarray of Union[int, float]
Image input and output¶
-
pyvane.img_io.
find_pix_size_czi
(czi_data)¶ Find pixel size in the metadata of a czi file.
- Parameters
czi_data (czifile.CziFile.) – The file to search. Object returned by reading an image using czifile.CziFile(…)
- Returns
The pixel size.
- Return type
tuple of float
-
pyvane.img_io.
find_pix_size_tiff
(tiff_data)¶ Find pixel size in the metadata of a tiff file.
- Parameters
tiff_data (tifffile.TiffFile) – The file to search. Object returned by reading an image using tifffile.TiffFile(…)
- Returns
The pixel size.
- Return type
tuple of float
-
pyvane.img_io.
read_czi
(path, return_pix_size=False)¶ Read tif image.
- Parameters
path (str) – Location of the image.
return_pix_size (bool) – Return pixel size of the image, if available in the file. Reading the scale might fail because each software saves the scale in a different format, thus this information is not standardized.
- Returns
img_data (ndarray) – The image read.
pix_size (tuple of float) – The physical size of each pixel.
-
pyvane.img_io.
read_img
(path, channel=None, read_pix_size=True)¶ Read image from the disk. Supported formats are {‘tif’, ‘tiff’, ‘oib’, ‘lsm’, ‘czi’}. The function also tries to find the pixel size of the image if read_pix_size=True, but may fail since this information is not standardized for most file formats.
- Parameters
channel (int, optional) – Image channel to read. If None, all channels are read.
read_pix_size (bool) – Return pixel size of the image, if available in the file.
- Returns
img – Image read.
- Return type
-
pyvane.img_io.
read_lsm
(path, return_pix_size=False)¶ Read lsm image.
- Parameters
path (str) – Location of the image.
return_pix_size (bool) – Return pixel size of the image, if available in the file. Reading the scale might fail because each software saves the scale in a different format, thus this information is not standardized.
- Returns
img_data (ndarray) – The image read.
pix_size (tuple of float) – The physical size of each pixel.
-
pyvane.img_io.
read_oib
(path, return_pix_size=False)¶ Read oib image.
- Parameters
path (str) – Location of the image.
return_pix_size (bool) – Return pixel size of the image, if available in the file. Reading the scale might fail because each software saves the scale in a different format, thus this information is not standardized.
- Returns
img_data (ndarray) – The image read.
pix_size (tuple of float) – The physical size of each pixel.
-
pyvane.img_io.
read_tiff
(path, return_pix_size=False)¶ Read tiff image.
- Parameters
path (str) – Location of the image.
return_pix_size (bool) – Return pixel size of the image, if available in the file. Reading the scale might fail because each software saves the scale in a different format, thus this information is not standardized.
- Returns
img_data (ndarray) – The image read.
pix_size (tuple of float) – The physical size of each pixel.
Utilities¶
-
class
pyvane.util.
PriorityQueue
(priorities=None, keys=None, data=None)¶ Priority queue that allows changes to, or removal of, elements of a pending task.
- Parameters
priorities (list of Union[int, float]) – The priorities of the task. Lower values are executed first. The values can actually be any type that can be compared, that is, it must be possible to define which value is lower. If None, an empty queue is created.
keys (list of hashable) – List containing a unique key for each task. Must have the same size as priorities.
data (list, optional) – Data to associate to each task. The elements can be any object. Must have the same size as priorities. If None, all tasks will have None as data.
-
add_task
(priority, key, data=None)¶ Add a new task or update the priority of an existing task.
- Parameters
priority (Union[int, float]) – The priority of the task. Lower values are executed first. The values can actually be any type that can be compared, that is, it must be possible to define which value is lower.
key (hashable) – Unique key for the task.
data (object, optional) – Data to associate to the task.
-
pop_task
()¶ Remove and return the lowest priority task. Raises KeyError if empty.
- Returns
A tuple associated with the task, with elements (priority, key, data).
- Return type
tuple
-
remove_task
(key)¶ Mark an existing task as removed. Raises KeyError if not found.
- Parameters
key (hashable) – The key of the task.
-
pyvane.util.
get_print_interval
(n, frac=100)¶ Utility function for getting printing interval. n is typically the number of iterations of a loop and frac the number of times the message will be printed.
- Parameters
n (int) – Number of iterations.
frac (int) – Number of desired messages.
- Returns
print_interv – The number of iterations between two print calls.
- Return type
int
-
pyvane.util.
graph_to_img
(graph, img_shape=None, node_color=(255, 0, 0), node_pixels_color=(255, 255, 255), edge_color=(0, 0, 255), out_img=None)¶ Draw networkx graph in an image.
- Parameters
graph (networkx.Graph) – Graph containing node and edge positions.
img_shape (tuple of int, optional) – Image size to draw the network.
node_color (tuple of int, optional) – Color to use for the center position of a node.
node_pixels_color (tuple of int, optional) – Color to use for pixels associated with a node.
edge_color (tuple of int, optional) – Color to use for the edges.
out_img (ndarray, optional) – If provided, the image is drawn on this array.
- Returns
out_img – The image drawn.
- Return type
ndarray
-
pyvane.util.
igraph_to_img
(graph, img_shape, node_color=(255, 0, 0), node_pixels_color=(255, 255, 255), edge_color=(0, 0, 255), out_img=None)¶ Draw igraph graph in an image.
- Parameters
graph (networkx.Graph) – Graph containing node and edge positions.
img_shape (tuple of int) – Image size to draw the network.
node_color (tuple of int, optional) – Color to use for the center position of a node.
node_pixels_color (tuple of int, optional) – Color to use for pixels associated with a node.
edge_color (tuple of int, optional) – Color to use for the edges.
out_img (ndarray, optional) – If provided, the image is drawn on this array.
- Returns
out_img – The image drawn.
- Return type
ndarray
-
pyvane.util.
ips_edges_to_img
(ips, edges, img_shape, node_color=(255, 0, 0), edge_color=(0, 0, 255), out_img=None)¶ Draw interest points and edges in an image. ips and edges are used in the network creation module.
- Parameters
ips (list of InterestPoint) – Bifurcations and terminations identified in an image.
edges (list of tuple) – Edge list containing blood vessel segments. Each element is a tuple (node1, node2, path), where path contains the pixels of the segment.
img_shape (tuple of int) – Image size to draw the network.
node_color (tuple of int, optional) – Color to use for the interest points.
edge_color (tuple of int, optional) – Color to use for the edges.
out_img (ndarray, optional) – If provided, the image is drawn on this array.
- Returns
out_img – The image drawn.
- Return type
ndarray
-
pyvane.util.
match_graphs_igraph
(ips, ig)¶ Map indices of nodes in graph ig to indices of points in ips. Two elements match if their associated pixels are identical.
- Parameters
ips (list of InterestPoint) – Bifurcations and terminations identified in an image.
ig (igraph.Graph) – Graph in the igraph format.
- Returns
igraph_idx_to_ip_idx – Map having igraph nodes as keys and associated interest points indices as values. Missing keys indicate that a match was not found.
- Return type
dict
-
pyvane.util.
nx_to_igraph
(graph)¶ Convert a networkx graph to igraph. The graph can contain node and edge attributes as well as graph attributes.
- Parameters
graph (networkx.Graph) – Networkx graph to convert.
- Returns
ig_graph – The converted graph as an igraph.Graph object.
- Return type
igraph.Graph
-
pyvane.util.
remove_small_comp
(img_bin, tam_threshold=20, img_label=None, structure=None)¶ For a binary image, remove connected components smaller than tam_threshold. If img_label is not None, use the provided labels as components.
- Parameters
img_bin (ndarray) – Binary image.
tam_threshold (int) – Size threshold for removing components.
img_label (ndarray, optional) – Array containing image components. Must have the same format as the array returned by scipy.ndimage.label(…). Zero values are ignored.
structure (ndarray, optional) – Structuring element used for detecting connected components.
- Returns
img_bin_final – Binary image with small components removed.
- Return type
ndarray
-
pyvane.util.
to_igraph
(ips, edges)¶ Convert an interest point list and an edge list to igraph.
- Parameters
ips (list of InterestPoint) – Bifurcations and terminations identified in an image.
edges (list of tuple) – Edge list containing blood vessel segments. Each element is a tuple (node1, node2, path), where path contains the pixels of the segment.
- Returns
graph – The created graph.
- Return type
igraph.Graph
File utilities¶
-
class
pyvane.file_util.
FileTree
(root_path, exclude_names=None)¶ Class representing a file and directory tree. Each node represents a file or directory. The name of a node is the absolute path of the respective file or directory. The tree needs to be created from an existing directory in the system.
- Parameters
root_path (Union[str, Path]) – The path for the root of the tree.
exclude_names (list of str) – List of directory or file names to exclude. They will not be added to the tree. For directories, files and subdirectories inside each directory will also not be added.
-
change_root
(new_root)¶ Change the absolute path of the root for a tree containing a directory structure. Returns a new tree of type Tree, since the files probably do not exist in the system and many methods from FileTree will not work.
For instance, suppose a tree contains the following paths:
root: /dir1/dir2/ child1: /dir1/dir2/file1 child2: /dir1/dir2/file2
Calling this function with new_root=/codes will return a tree with nodes
root: /codes child1: /codes/file1 child2: /codes/file2
- Parameters
new_root (Union[str, Path]) – The new root.
- Returns
new_file_tree – A new tree with file and directory paths containing a new root. Note that the files and directories in the returned tree probably do not exist in the system and many methods from FileTree will not work.
- Return type
-
get_directories
()¶ Return absolute paths for all directories in the tree (that is, files are not included). The function uses method Path.is_dir() from pathlib. Therefore, all files and directories in the tree must exist for the function to work.
- Returns
Nodes in the tree representing directories.
- Return type
list of Path
-
get_files
()¶ Return absolute paths for all files in the tree (that is, directories are not included). The function uses method Path.is_file() from pathlib. Therefore, all files and directories in the tree must exist for the function to work.
- Returns
Nodes in the tree representing files.
- Return type
list of Path
-
get_paths_from_name
(file_name)¶ Return absolute paths for files in the tree having name file_name. More than one path will be returned if the tree contains more than one file with the same name.
- Parameters
file_name (Union[str, Path]) –
- Returns
The files in the tree having name file_name.
- Return type
list of Path
-
class
pyvane.file_util.
Graph
(nodes=None, edges=None, directed=False, attrs=None)¶ Initial implementation of a graph, not finished.
-
class
pyvane.file_util.
Tree
(nodes=None, edges=None)¶ Class representing a directed tree. If you want node and edge attributes, the tree should be build incrementally, passing None in the constructor for both nodes and edges.
- Parameters
nodes (list of hashable objects, optional) – List of hashable objects.
edges (list of tuples, optional) – List of tuples indicating adjacent nodes in the form (node1, node2).
-
add_edge
(source, target, attrs=None)¶ Add a directed edge to the tree. A ValueError is raised if the nodes are not in the tree. If the edge is already in the tree, the attributes are updated.
- Parameters
source (hashable) – Parent node.
target (hashable) – Target node.
attrs (dict, optional) – Dictionary containing edge attributes.
-
add_node
(node, attrs=None)¶ Add a node to the tree. A ValueError is raised if the node is already in the tree.
- Parameters
node (hashable) – Node do add to the graph. Usually, it is a number or a string.
attrs (dict, optional) – Dictionary containing node attributes.
-
get_edges
(data=False)¶ Get edges in the graph.
- Parameters
data (bool) – If data=False, returns a list of tuples containing the edges, otherwise returns a list containing tuples in the form (source, target, attrs), where attrs is the dictionary of attributes of the edge.
- Returns
List of edges. See definition of parameter data for a description of the returned value.
- Return type
list
-
get_nodes
(data=False)¶ Get nodes in the graph.
- Parameters
data (bool) – If data=False, returns a list containing node names, otherwise returns a list containing tuples in the form (node, attrs), where attrs is the dictionary of attributes of the node.
- Returns
List of nodes. See definition of parameter data for a description of the returned value.
- Return type
list
-
successors
(node)¶ Return neighbors that are successors of a node.
- Parameters
node (hashable) – A node in the tree.
- Returns
List of nodes that are successors of node.
- Return type
list
-
pyvane.file_util.
directory_has_file
(path)¶ Check if a directory has at least one file.
- Parameters
path (Union[str, Path]) – A path in the system.
- Returns
Returns True if the directory contains at least one file. Returns False otherwise.
- Return type
bool
-
pyvane.file_util.
get_files
(root_path, exclude_names=None)¶ Recursively get all files and directories inside root_path.
- Parameters
root_path (Union[str, Path]) – Root directory.
exclude_names (list of str) – List of directory or file names to exclude. For directories, files and subdirectories inside each directory will also not be returned.
- Returns
FileTree – A tree representing a file and directory tree. Each node represents a file or directory. The name of a node is the absolute path of the respective file or directory.
list of Path – A list of all files inside root_path, excluding files in exclude_names.
-
pyvane.file_util.
make_directories
(file_tree, out_dir, gen_step_dirs=None, gen_subdirs=None)¶ Make directories for saving experiment data.
- Parameters
param (list) – Description
- Returns
param – Description
- Return type
int


Compliant with HIPAA, SOX, GLBA, PSS-DCI Policies
At Mylan, We are Committed to setting New Standards in Health Care. Working together around the World to Provide 7 Billion People access to High Quality Medicine, we innovate to Satisfy unmet needs; make reliability and Service Excellence a habit; do what's Right, not what's easy; and impact the future through passionate Global Leadership.


Malaysian militant linked to US 9/11 attacks freed but restricted to Ampang
by BY JUSTIN ONGKUALA LUMPUR, Nov 21 — Malaysian authorities released known terrorist Yazid Sufaat yesterday after his detention without trial under the Prevention of Terrorism Act (Pota) expired, according to the police.
The Straits Times (ST) reported Bukit Aman counter-terrorism chief Datuk Ayob Khan Pitchay as confirming that the Malaysian militant linked to the September 11, 2001 attacks in the United States was released as the Prevention of Terrorism Board decided this earlier in November.
“He will be under police surveillance for two years and will need to wear an electronic monitoring device (EMD).
“If he wishes to travel outside of Ampang, Yazid would need to alert the Ampang police chief,” Ayob was quoted as saying.
He also said Yazid was under a nightly curfew between 8pm and 6am but could receive visitors in that period.
Yazid is not allowed, however, to possess a phone or access the internet.
The monitoring will be reviewed after two years, Ayob explained.
The ST said a source from Malaysia’s intelligence agencies described the former militant as “repented”.
The Pota is among security laws the Barisan Nasional government enacted after it repealed the Internal Security Act (ISA) that allowed indefinite detention without trial.
The law allows preventive detention for up to two years at a time, which cannot be challenged in court.
Yazid is Malaysia’s direct link to al Qaeda’s 2001 attack on the US. He is said to have hosted leaders of the terrorist group at his home while they planned the attack.


GLORY DAZE A film review by Steve Rhodes Copyright 1996 Steve Rhodes
RATING (0 TO ****): 1/2
"Ever wonder whatever happens to the pampered rich kids the liberal arts colleges turn out year after year?" GLORY DAZE opens with that question, but the answer they give is less than satisfying. Rich kids it seems are so enamored with their pointless partying and hanging out, that they don't want to leave. You, on the other hand, may want to make a fast exit if you accidentally find yourself watching this assemblage of cardboard characters. This movie gives a new meaning to the word boredom.
Set in the lovely seaside college town of Santa Cruz, we have a group of college seniors (Ben Affleck, Matt Damon, Vinnie DeRamus, Vien Hong, and French Stewart) who live together in a rented house. Actually Slosh (Vien Hong) has long since given up on college, but the others are preparing to leave town after graduation until they decide that they can not give up their male camaraderie. They take an unconvincing vow to stay together for another year. Jack (Affleck) says, "Let's rage at the dying of the light a little bit." Continuing in this stream of insightful thinking, he later tells us that, "People say nothing is forever. I say how do you explain herpes or The Grateful Dead?"
Decorating the guy's world are a group of women (Alyssa Milano, Megan Ward, and others). The guys are stick figures, but the women's roles are worse - visual wallpaper.
The writer of THE JERKY BOYS, Rich Wilkes, takes his first stab at directing with this film, and he also wrote the script. The film is so bad that it borders on self-parody. Some of the dialog is kind of cute in the abstract but is leaden in this low energy and never believable film. Think of it as ANIMAL HOUSE ON VALIUM.
 "Psychology major right? I love my mother, but not as much as you guys think I do."
Although the kids in the film spend time in class on such artistic creations as a golden hand holding a CD, their professor seems to be even more unbelievable. Art Professor Luther (John Rhys-Davies who was Sallah in RAIDERS OF THE LOST ARK) alternates between trying to seduce his minions and providing cheap philosophy including: "It is poetry that will save the world, not commerce," and "Art isn't just the vomiting up of adolescent angst."
Nothing, I repeat nothing, happens in the movie. The picture tries sometimes to be mildly offense by using gratuitous bad language and constant drinking. Their parties feature a guy with a funnel so he can drink himself to death at a record pace. Actually, the show is so lame that it is not even effective at being offensive since these scenes are all so false.
In my least favorite sequence, the fascinating monologist and fair actor Spalding Gray (MONSTER IN A BOX) plays Jack's father. Jack's parents are visiting the college to ridicule their son Jack for not being on the fast track in life like them.  Now back off and give me a chance to screw up mine." His dad tells him his liberal arts education is worthless and to, "send me a postcard from skid row."
The only character with any charisma is the shy cartoonist and student Mickey (DeRamus), but his lines are pathetic.  No more of this palsie walsie stuff."
At the end the movie attempts to come alive with a few shocks. Dennis (Stewart) calls their actions, "Preservation through destruction." Like the rest of the picture it is predictable and an unmitigated disaster.
GLORY DAZE runs about an hour and a half, but will feel like an eternity. It was not yet rated when I saw it, but I suspect it will get a PG-13 or an R. There is no violence or sex, but there is a little nudity and a fair amount of bad language. The film should would be acceptable for most teenagers although I am not fond of the message it gives, but I strongly recommend that this miserable piece of film making be avoided by all ages. Only because it was more boring than painful, do I give it 1/2 of a star.
**** = One of the top few films of this or any year. A must see film. *** = Excellent show. Look for it. ** = Average movie. Kind of enjoyable. * = Poor show.  Totally unbearable.
REVIEW WRITTEN ON: September 17, 1996
Opinions expressed are mine and not meant to reflect my employer's.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


About Us
Privacy Policy
FaQ
Term of Use
Our Work
Desain
Graphic
Video
Defeloping
Support
SMKN 1 SUMEDANG
TEFFA SMKN 1 SUMEDANG
Computer Science
Phone :+62<PHONE_NUMBER>5
E-mail<EMAIL_ADDRESS>Copyright© 2021 Ups SMKN 1 SUMEDANG. All Rights Reserved


class: center, middle, inverse, title-slide # Lecture 8 ## Estimating Dynamic Models Without Solving Value Functions ### Tyler Ransom ### ECON 6343, University of Oklahoma --- # Attribution Many of these slides are based on slides written by Peter Arcidiacono. I use them with his permission. --- # Plan for the Day 1. Show the relationship between differences in conditional value functions and conditional choice probabilities 2. Show how conditional choice probabilities are helpful in estimating problems with terminal choices 3. Show how to estimate the Rust bus engine problem such that the computational time is less than two minutes --- # Hotz and Miller (1993) - Dynamic discrete choice models are complicated to estimate because of the future value terms - Hotz and Miller (1993) show: - Differences in conditional value functions `\(v_j-v_{j'}\)` can be mapped into .hi[conditional choice probabilities] ( `\(p_j\)`'s ) - We can pull the `\(p_j\)`'s from the data in a first stage - Empirical example: optimal stopping with respect to couples' fertility --- # Difference in `\(v\)`'s and logit errors - Consider an individual who faces two choices where the errors are T1EV - The probability of choice 1 is: `\begin{align*} p_1&=\frac{\exp(v_1)}{\exp(v_0)+\exp(v_1)} \end{align*}` - The ratio of `\(p_1/p_0\)` is then: `\begin{align*} \frac{p_1}{p_0}&=\frac{\exp(v_1)}{\exp(v_0)} = \exp(v_1 - v_0) \end{align*}` implying that: `\begin{align*} \ln(p_1/p_0)&=v_1-v_0 \end{align*}` --- # General structure - The inversion theorem of Hotz and Miller says that there exists a mapping, `\(\psi\)`, from the conditional choice probabilities, the `\(p\)`'s, into the differences in the conditional valuation functions, `\(v_j-v_k\)`: `\begin{align*} V_{t+1}&=v_{0t+1}+\mathbb{E}\max\{\epsilon_{0t+1},v_{1t+1}+\epsilon_{1t+1}-v_{0t+1},...,\\ &\phantom{\text{----}}v_{{J}t+1}+\epsilon_{{J}t+1}-v_{0t+1}\}\\ V_{t+1}&=v_{0t+1}+\mathbb{E}\max\{\epsilon_{0t+1},\psi_0^1(p_{t+1})+\epsilon_{1t+1},...,\psi_0^{{J}}(p_{t+1})+\epsilon_{{J}t+1}\} \end{align*}` The `\(p\)`'s can be taken from the data. However: 1. We need the mapping, `\(\psi\)`, 2. We need to be able to calculate the expectations of the `\(\epsilon\)`'s 3. We need to do something with the `\(v_0\)`'s --- # Terminal choices Consider the conditional value function `\(v_{1t}\)`: `\begin{align*} v_{1t}(x_t)&=u_1(x_t)+\beta\sum_{x_{t+1}}V_{t+1}(x_{t+1})f_1(x_{t+1}|x_t)\\ &=u_1(x_t)+\beta\sum_{x_{t+1}}\Big[v_{0t+1}(x_{t+1})+\\ &\phantom{\text{----}}\mathbb{E}\max\{\epsilon_{0t+1},\psi_0^1(p_{t+1})+\epsilon_{1t+1}\}\Big]f_1(x_{t+1}|x_t) \end{align*}` - If `\(v_{0t+1}=X_{t+1}\alpha_0\)`, then .hi[we don't need to solve a backwards recursion problem] - ... so long as we can deal with the last line --- # Terminal choices and logit errors - When the `\(\epsilon\)`'s are Type I extreme value, `\(V_{t+1}\)` is given by: `\begin{align*} V_{t+1}(x_{t+1})&=\ln\left[\exp(v_0(x_{t+1}))+\exp(v_1(x_{t+1}))\right]+c \end{align*}` - We can then express the conditional value function as: `\begin{align*} v_{1t}(x_t)&=u_1(x_t)+\beta\sum_{x_{t+1}}\bigg(v_{0t+1}(x_{t+1})+\\ &\phantom{\text{----}}\ln\left\{1+\exp[v_{1t+1}(x_{t+1})-v_{0t+1}(x_{t+1})]\right\}\bigg)+\beta c \end{align*}` which can now be written as a function of the conditional choice probabilities: `\begin{align*} v_{1t}(x_t)&=u_1(x_t)+\beta\sum_{x_{t+1}}\bigg(v_{0t+1}(x_{t+1})-\ln\left[p_{0t+1}(x_{t+1})\right]\bigg)+\beta c \end{align*}` --- # Terminal choices and logit errors 2 - In general, `\(v_{0t+1}(x_{t+1})\)` will still be recursive: it has `\(V_{t+2}\)` in it - But if choice 0 is terminal, we'll have something linear for `\(v_{0t+1}\)` (i.e. no `\(V_{t+2}\)`) - We can then use the data to calculate `\(p_{0t+1}(x_{t+1})\)` (e.g. a bin estimator) - Note that this is similar to getting the `\(f_j(x_{t+1}|x_t)\)`'s in a first stage - Things just about reduce down to a simple logit! --- # Derivation - The key idea is that `\(V_{t+1} = v_{jt+1} - \ln p_{jt+1} + c\)` when the `\(\epsilon\)`'s are T1EV - The derivation trick is to multiply and divide the inside of the log sum by `\(\exp(v_{jt+1})\)`: .smallest[ `\begin{align*} V_{t+1}(x_{t+1})&=\ln\left[\sum_k\exp(v_k(x_{t+1}))\right]+c\\ &=\ln\left[\frac{\exp(v_j(x_{t+1}))}{\exp(v_j(x_{t+1}))}\sum_k\exp(v_k(x_{t+1}))\right]+c\\ &=\ln\left[\exp(v_j(x_{t+1}))\frac{\sum_k\exp(v_k(x_{t+1}))}{\exp(v_j(x_{t+1}))}\right]+c\\ &=\underbrace{\ln\exp(v_j(x_{t+1}))}_{v_j(x_{t+1})}+\ln\left[\underbrace{\frac{\sum_k\exp(v_k(x_{t+1}))}{\exp(v_j(x_{t+1}))}}_{p_j(x_{t+1})^{-1}}\right]+c\\ &=v_j(x_{t+1}) - \ln p_j(x_{t+1}) + c \,\,\,\, \forall\,\, j\in J \end{align*}` ] --- # Derivation for GEV - If the `\(\epsilon\)`'s are GEV, we can still express `\(V_{t+1}\)` as a closed-form function of `\(p_{jt+1}\)` - But the math gets more complicated because it depends on the form of `\(G\)` - Recall: `\(V_{t+1} = \ln G\)`, where `\(G = \sum_k \exp(\cdot)\)` if `\(\epsilon\)`'s are T1EV - For nested logit, the formula will involve the nesting parameters (the `\(\lambda\)`'s) - If the `\(\epsilon\)`'s are Normal, there is no closed-form expression for `\(V_{t+1}\)` - You would need to use simulation to compute the `\(\mathbb{E}\max\)` integral - The only paper I've seen use CCP's with GEV is Coate and Mangum (2019) --- # Another way of looking at the problem - We can also write `\(V_{t+1}\)` as `\begin{align*} V_{t+1}(x_{t+1})&=v_{0t+1}(x_{t+1})+\\ &\phantom{\text{----}}\sum_{j=0}^1p_{jt+1}(x_{t+1})\bigg[v_{1t+1}(x_{t+1})-v_{0t+1}(x_{t+1})+\mathbb{E}(\epsilon_{jt+1}|d_{jt+1},x_{t+1})\bigg]\\ &=v_{0t+1}(x_{t+1})+\\ &\phantom{\text{----}}\sum_{j=0}^1p_{jt+1}(x_{t+1})\bigg[\ln\left(\frac{p_{1t+1}(x_{t+1})}{p_{0t+1}(x_{t+1})}\right)+\mathbb{E}(\epsilon_{jt+1}|d_{jt+1},x_{t+1})\bigg] \end{align*}` - Hotz and Miller (1993) eq. (4.12) shows that `\begin{align*} \mathbb{E}(\epsilon_{jt+1}|d_{jt+1},x_{t+1}) = c - \ln[p_{jt+1}] \end{align*}` --- # Another way of looking at the problem - So it is possible to write `\(V_{t+1}\)` in terms of `\(v_0\)` and a bunch of probabilities: `\begin{align*} V_{t+1}(x_{t+1})&=v_{0t+1}(x_{t+1})+\\ &\phantom{\text{----}}\sum_{j=0}^1p_{jt+1}(x_{t+1})\bigg[\ln\left(\frac{p_{1t+1}(x_{t+1})}{p_{0t+1}(x_{t+1})}\right)-\ln\left(p_{jt+1}(x_{t+1})\right)\bigg] + c \end{align*}` - This is the preferred notation of Hotz and Miller (1993) --- # Hotz and Miller (1993), p. 505, eq. (4.13) - `\(j=1\)` means not sterilizing; `\(j=2\)` means sterilizing - `\(j=2\)` is terminal, meaning that `\(v_{2t} =\)` some number (no more `\(\epsilon\)`'s) - Suppose a couple does not sterilize - Then there is some probability `\(\alpha\)` of having a child in the next period - Conditional on having a child, the terms in eq. (4.13) that have CCPs are: `\begin{align*} &\phantom{\text{----}}\left\{\sum_{j=1}^2p_j(H_t,1)\left(c-\ln\left[p_j(H_t,1)\right]\right)\right\}+p_1(H_t,1)\ln\left[\frac{p_1(H_t,1)}{p_2(H_t,1)}\right] \end{align*}` - Other terms in (4.13) are the `\(v_{2t}\)` formula or integrating over the `\(f\)`'s --- # Renewal - An action is termed .hi[renewal] if by, taking the action, the effect of the previous choices on the state are irrelevant `\begin{align*} \sum_{x_{t+1}}f_0(x_{t+2}|x_{t+1})f_j(x_{t+1}|x_{t})&=\sum_{x_{t+1}}f_0(x_{t+2}|x_{t+1})f_{j'}(x_{t+1}|x_{t}) \qquad \textrm{for all } \{j,j'\} \end{align*}` --- # Renewal 2 - Normalizing the future value term relative to the renewal action for choice 1 yields: `\begin{align*} v_{1t}(x_{t})&=u_1(x_t)+\beta\sum_{x_{t+1}}\left[v_{0t+1}(x_{t+1})-\ln(p_{0t+1}(x_{t+1}))\right]f_1(x_{t+1}|x_t)+\beta c \end{align*}` - Now substitute in for `\(v_{0t+1}(x_{t+1})\)` with: `\begin{align*} v_{0t+1}(x_{t+1})&=u_0(x_{t+1})+\beta\sum_{x_{t+2}}V_{t+2}(x_{t+2})f_0(x_{t+2}|x_{t+1}) \end{align*}` - The term involving `\(V_{t+2}(x_{t+2})\)` is then: `\begin{align*} \beta^2\sum_{x_{t+1}}\sum_{x_{t+2}}V_{t+2}(x_{t+2})f_0(x_{t+2}|x_{t+1})f_1(x_{t+1}|x_t) \end{align*}` --- # Renewal 3 - Recall that in estimation we work with _differenced_ conditional value functions - Now consider `\(v_{0t}(x_t)\)` and again normalize the FV term relative to choice 0: `\begin{align*} v_{0t}(x_{t})&=u_0(x_t)+\beta\sum_{x_{t+1}}\left[v_{0t+1}(x_{t+1})-\ln(p_{0t+1}(x_{t+1}))\right]f_0(x_{t+1}|x_t)+\\ &\phantom{\text{----}}\beta^2\sum_{x_{t+1}}\sum_{x_{t+2}}V_{t+2}(x_{t+2})f_0(x_{t+2}|x_{t+1})f_0(x_{t+1}|x_t)+\beta c \end{align*}` - The renewal property implies that the `\(V_{t+2}(x_{t+2})\)` terms are the same, and will .hi[cancel out] once we take differences: .smallest[ `\begin{align*} v_{1t}(x_{t})-v_{0t}(x_{t})&=u_1(x_t) - u_0(x_t)+\beta\sum_{x_{t+1}}\left[u_{0t+1}(x_{t+1})-\ln(p_{0t+1}(x_{t+1}))\right]f_1(x_{t+1}|x_t)-\\ &\phantom{\text{--- --- --- --- --- --- --- -}}\beta\sum_{x_{t+1}}\left[u_{0t+1}(x_{t+1})-\ln(p_{0t+1}(x_{t+1}))\right]f_0(x_{t+1}|x_t)\\ \end{align*}` ] --- # Back to Rust (1987) - Rust (1987) has two choices with the following flow payoffs: `\begin{align*} u(x_t,d_t,\theta)=\left\{\begin{array}{ll}-c(x_t,\theta)&\textrm{if }d_t=0\\-[\overline{P}-\underline{P}+c(0,\theta)]&\textrm{if } d_t=1\end{array}\right. \end{align*}` - The value of replacing the engine at `\(t+1\)` then does not depend upon whether the engine was replaced at `\(t\)` - This implies that we only need the one-period-ahead probability of replacement for the future utility component --- # Rust (1987) with CCP's `\begin{align*} v_1(x)&=u_1(x)+\beta\left[v_1(0)-\ln(p_1(0))\right]+\beta c\\ v_0(x)&=u_0(x)+\beta\sum_{x'}\left[v_1(x')-\ln(p_1(x'))\right]f(x'|x)+\beta c \end{align*}` - In this case `\(v_1(0)\)` and `\(v_1(x')\)` are the same - Taking differences yields: `\begin{align*} v_1(x)-v_0(x)&=u_1(x)-u_0(x)+\beta\left[\sum_{x'}\left(\ln[p_1(x)]-\ln[p_1(0)]\right)f(x'|x)\right] \end{align*}` - Estimation is then as simple as a logit with an adjustment term, with the calculation of the `\(p_1\)`'s and `\(f(x'|x)\)` in a first stage --- # CCP's with finite mixture distributions - Arcidiacono and Miller (2011) show how to use CCPs with unobserved heterogeneity - They show that you can adjust the Rust (1987) model to incorporate unobservable bus attributes - The model still estimates quickly due to additive separability in the model components (Arcidiacono and Jones, 2003) --- # CCP's with actions that are not terminal or renewal - Rust (1987) provides an example of a renewal action - Hotz and Miller (1993) shows an example of a terminal action - We can still use CCP's even if no such actions exist in our model - The main difference is that we will need additional CCPs than just `\(\ln p_{0t+1}\)` - Through a property known as .hi[finite dependence] we can achieve cancellation after at most 3 periods (depending on the model) --- # Counterfactuals and CCP's - The main rub with CCPs is that they don't simplify counterfactual simulations - Why? Because we don't observe `\(\ln p_{0t+1}\)` in the counterfactual world - If we could, we probably wouldn't need a structural model to begin with - So we still must do a backwards recursion computation to get counterfactuals - Or restrict ourselves to short-run counterfactuals --- # References .smaller[ Arcidiacono, P. and J. B. Jones (2003). "Finite Mixture Distributions, Sequential Likelihood and the EM Algorithm". In: _Econometrica_ 71.3, pp. 933-946. DOI: [10.1111/1468-0262.00431](https://doi.org/10.1111%2F1468-0262.00431). Arcidiacono, P. and R. A. Miller (2011). "Conditional Choice Probability Estimation of Dynamic Discrete Choice Models With Unobserved Heterogeneity". In: _Econometrica_ 79.6, pp. 1823-1867. DOI: [10.3982/ECTA7743](https://doi.org/10.3982%2FECTA7743). Coate, P. and K. Mangum (2019). _Fast Locations and Slowing Labor Mobility_. Working Paper 19-49. Federal Reserve Bank of Philadelphia. Hotz, V. J. and R. A. Miller (1993). "Conditional Choice Probabilities and the Estimation of Dynamic Models". In: _The Review of Economic Studies_ 60.3, pp. 497-529. DOI: [10.2307/2298122](https://doi.org/10.2307%2F2298122). Rust, J. (1987). "Optimal Replacement of GMC Bus Engines: An Empirical Model of Harold Zurcher". In: _Econometrica_ 55.5, pp. 999-1033. URL: [http://www.jstor.org/stable/1911259](http://www.jstor.org/stable/1911259). ]


Welcome to the Open English Bible
News
{{ range ( where site.RegularPages "Section" "blog" | first 2 ) }}
{{ .Render "justtitle" }}
{{ end }}
About
We are committed to creating a completely free modern English translation of the Bible.
The OEB is under a Creative Commons Zero licence - that is, it is in the public domain. It's available completely without cost, and completely without restrictions. It's your Bible — you can use it in worship, print as many copies as you want (whole or part), republish it on your own website, even remix it or take it as the base for your own translation to meet your needs and the needs of your community. And you can do this without needing our permission or paying us a cent (or penny, rupee or kobo).
If you find that questions of copyright are making it harder for you to use or distribute the Bible, then why not try the OEB?
Read the current release of the OEB New Testament online.
Alternatively, use the study version which allows closer comparison with the original languages, or download a copy in US or Commonwealth spelling.
Or keep up to date with progress on our blog.


MISC MENU
Rubix Solver
JavaScript Project 1
JavaScript Project 2
Grid Py Download
Many Sided Turtle Download


Maid of Lidia:
Hardin, Triol and Lidia all had secret contracts before signing this one. I can only tell you about Lidia's.
"What was it?"


- Most likely to catch or spread infectious diseases
- Social Contact
- Time of Contact
- Preventive Measures
- Hygiene
- Touching "Hot Spots"
Why are children at such a risk
Children are at such a high risk due to their social contact. What that means is the amount of people in which children come in contact with throughout any given day. Another factor in that is the amount of time in which they spend with other people, be it other children, teachers, etc.
What can you (The Parents) do preemptively
Proper Hygiene is HUGE in preventing the spread of infectious diseases. Going over proper hand washing technique, showering regularely, brushing teeth, etc. Another less communicated way is teaching younger children to stay away from hot spots. What I mean by this is touching their eyes, mouth, ears, nose and open wounds. These are all easy way for bacteria and other harmful things to enter the body.


Filters
Type something in the input field to search the table for first names, last names or emails:
First Name
Last Name
Email
Malleswara Rao
Chennu
<EMAIL_ADDRESS>Jun
Done
<EMAIL_ADDRESS>Rao
chennu
ch.m1203@gmail.com


| Interface | Description |
|---|---|
| ExecutorDriverFactory |
The interface for the creation of ExecutorDrivers.
|
| ExecutorTask |
All the executor tasks should implement this.
|
| ExecutorTaskFactory |
ExecutorTaskFactory 's implementations are responsible for creating ExecutorTask objects. |
| Class | Description |
|---|---|
| CustomExecutor |
An
Executor implementation that supports execution of long-running tasks and supporting short-lived tasks. |
| CustomExecutorTest | |
| DcosTaskConstants |
This class encapsulates constants associated with DC/OS Tasks.
|
| ExecutorUtils |
Various utility methods for manipulating data in
org.apache.mesos.Protos.ExecutorInfo s. |
| ExecutorUtilsTest | |
| HealthCheckHandler |
Each HealthCheckHandler is responsible for executing a single HealthCheck defined for a TaskInfo.
|
| HealthCheckHandlerTest |
This class tests the HealthCheckHandler class.
|
| HealthCheckMonitor |
This class reacts to the failure of a health check by calling the stop() method of the ExecutorTask.
|
| HealthCheckMonitorTest |
This class tests the HealthCheckMonitor.
|
| HealthCheckStats |
This class encapsulates the relevant statistics associated with a single HealthCheck.
|
| LaunchedTask |
This class encapsulates an ExecutorTask and the Future returned whent it was started.
|
| MesosExecutorDriverFactory |
Implements ExecutorDriverFactory to construct MesosExecutorDrivers.
|
| ProcessTask |
Generic process task, that can be spawned using
CustomExecutor . |
| ProcessTaskTest | |
| ProcessTaskTest.FailingProcessTask | |
| TestExecutorTask | |
| TestExecutorTaskFactory |
| Exception | Description |
|---|---|
| ExecutorTaskException |
Checked exception related to
ExecutorTask operations. |
| HealthCheckHandler.HealthCheckRuntimeException |
This class encapsulates Exceptions associated with health check execution failures.
|
| HealthCheckHandler.HealthCheckValidationException |
This class encapsulates Exceptions associated with health check validation.
|


Ten Asian Food Hall
About Us
Ten Asian Story
Why Ten Asian?
Menu
Best Sellers
Menu
Products
Drinks
Food
Order Online
Locations
Feedback
Previous
Next
Ten Asian Food Hall is for you
Drink
Food
submit order


Ansible is an agentless configuration managment tool to automate the configuration of servers.
It makes it easier to have consistency in an enviornment.
The idea of configuration management has been around for a while and there are plenty of alternatives.
Idempotence means that running a command or function several times produces the same result as running it only once.
https://peterlyons.com/problog/2010/05/on-idempotence-intention-and-unix-commands/| Playbooks | A collection of plays |
| Plays | A mapping of a task that runs on a host |
| Task | The reason playbooks exist. Combined action with name and other arguments |
| Action | A module + arguments |
| Module | The work being kicked off to the target machine |
Our demo enviornment will use Vagrant.
| WEB | |
|---|---|
| OS | CentOS 7 |
| IP | <IP_ADDRESS> |
| DB | |
|---|---|
| OS | Ubuntu 16.04 |
| IP | <IP_ADDRESS> |
TODO: Add quick setup instructions
It's 2017 and I've been asked if I could help with writing assessments for our new on boarding project.
The ask was to write assessments, not to learn Ansible.
Objectives
Let's demo executing a single module.
$ ansible -i hosts_file -m setup localhost
Ansible uses YAML because it is easier to read than XML or JSON.
---
# This is a comment
# A list of Colors
- Smaragdine
- Glaucous
- Amaranth
# A dictonary is a key-value pair
car:
make: Nissian
model: Juke
color: Falu
Docs » YAML Syntax |
YAML Lint
roles/
common/
tasks/
main.yml
handlers/
main.yml
templates/
ntp.conf.j2
files/
bar.txt
foo.sh
Let's go back to the repo https://github.com/mralexjuarez/ansible-b2b
Let's review what we've covred so far.
Objectives
Variable precedence is a thing. It's best to pick a place for variables and give them all a unique name, two variables can have the same name.
As an example there are 22 levels of variable precedence outlined by Ansbile
Docs » Using Variables » PrecedenceEarlier we used the setup module to dump a bunch of values. These values are called Ansible facts. We can do the same with the debug module
---
- name: Displaying Debug Information
debug: var=ansible_facts
Docs » Using Variables » Facts
A variable in a playbook is encased in {{ Variable }}
A variable should be in quotes if it's part of a larger string of text
vars:
app_path: "{{ base_path }}/22"
Docs » Varibles
If data is structured in a complex way we can access the data in a few ways
Here are two examples of how to access data
Let's go back to the repo https://github.com/mralexjuarez/ansible-b2b
Objectives
Sometimes we just need to copy a file in place. An example of this would be the MOTD file.
Docs » CopyUnderstading variables from the previous section allows us to begin to use templates.
Templates in Ansible are Jinja2 templates.
Docs » TemplateWhat if we just want to add a line to a file, or better yet, add it only if it is not there
An example for this would be add lines to the /etc/hosts file
Docs » lineinfileObjectives
Ever needed the output or return code of one command to make a decision for another command?
Docs » Conditionals » Regsiter VariablesWe use the when statement when we want to skip certian tasks based on the host or other variables
Docs » Conditionals » WhenAnsible checks return codes for failures and stops processing if a command fails. Sometimes this is undersierable
Docs » Error HandlingLet's go back to the repo https://github.com/mralexjuarez/ansible-b2b
Whew! We did a lot
This hCard created with the hCard creator.
Or we can talk about whiskey


{% extends "layout.html" %} {% from "reports/macros.html" import render_aggregator_report_table %} {% from "ligands/macros.html" import render_similar_ligand_tile %} {% from "aggregators/macros.html" import render_aggregator_tile, render_aggregator_smiles_field, render_aggregator_details_table %} {% block content %}


Thermostat and Global Weather
Current Home Temperature:
°C
Energy Usage Level:
Power Saving Mode :
Increase Temperature
Decrease Temperature
Power Save On
Power Save Off
Select City below to check the local Weather
Baghdad
Chicago
London
Paris
Tokyo
The current temperature in
is
°C
The wind speed is
mph
The sun rises today at
The sun sets today at
The weather conditions today are


I know how to create basic web pages using HTML and CSS with
the help of frame works
I have created multiple websites skills learned from the Queensborough college course.
I have used github with my websites
GPA: 3.8
Mineola High School football (4 yrs) Played as offenseive and defensive linemen
Cross Country (2 yrs)
Strive for Excellence award in Football and Cross Country
Latin Club (3 years) Praetor (president) of the Club


- It is possible that all of the following steps can be controlled
by the GUI, hires_redux. I use it sometime, but it
is a bit buggy.
I'm hopeful that it will be the best
way to run the code someday.
- To run, simply try:
IDL> hires_redux, hires
- Choose a setup
- Reduce the flats
- Reduce the arcs
- Check the QA plots
- Choose an object
- Reduce and extract
- Check the QA plots
- Check the spectra
Create Bias (Zero) frames [NOT recommended and NOT functional]
- The default method of bias subtraction is to use the overscan
region and the bias row. If the user prefers, one can also subtract
off a combined bias frame. This routine creates that combined frame
from a series of Bias frames. This routine
will create 1 bias frame per chip per binning mode.
Alternatively, one may perform this step as a test of the bias
subtraction algorithm. The resulting images should have 0 counts
with no gross structure.
Example: IDL> hires_mkbias, hires
Time : 3-5min
- You know the code is working right when you
check the Bias frame : IDL> xatv, 'Bias/name.fits'
and it shows a generally blank image with no counts. Of course, there
is the possibility that you have bad bias frames and the code is still
working fine.
Set Gain
- The stability of the gain with the new HIRES ccd's is not well known
at this time. At present, we choose to measure the value by comparing
a series of flats.
- Note that the gain was changed from approximately 1 to
2 (Low mode) in October 2004. You should definitely run this
routine if your data is from before then.
- hires_findgain :: Loops on the Milky Flats and performs statistics (in hires_gain) to determine the gain and apply it to the gain TAG.
Example: IDL> hires_findgain, hires, setup
Time : 3-5min
- This routine is included in hires_allflat, see below.
- You know the code is working right when you see it looping
through all of the flat files and reporting gain values within
the ballpark of the published values. You might also print out the gain
tags after completion:
IDL> print, hires.gain
- It is highly recommended that you use hires_wrstrct to write
out the structure now.
Process Flats
These routines process the Milky and Trace flats to create a
response image (pixel by pixel variations) and to determine the
curvature of the orders on the CCD. These files are essential to
run the HIRES pipeline. Note that the next four steps can be run
together using the routine hires_allflat.
- hires_mktflat :: Combines the series of trace flats (standard flats) to create one high S/N image
for order and slit tracing. I highly recommend that one account
for pixel-to-pixel variations with a Pixel flat. You can grab those
flats off the Web site.
Example: IDL> hires_mktflat, hires, setup, [chip]
Time : 1min
- You know the code is working right when you see it process and
stack the various trace flat files. You should then
check the Trace Flat:
IDL> xatv, 'Flats/Flat_B_01_T.fits'
- hires_edgeflat ::
Routine to trace the fit the order curvature by using the 'trace flat'.
- The routine combines bits and pieces of the 2 (obsolete) routines
that follow. The main difference is that the fit is performed
on the centroid of each order as determined by an average of
the left and right hand sides.
- Example: IDL> hires_edgeflat, hires, setup, [chip], /INTER, /CHK
Time : 2min
- You know the code is working right when the curves
look sensible. I have found that the reduced chi^2 might still be large
even when things are working just fine.
You can check the QA plots in (e.g. 'QA/Flats01/qa_trcflt_01B.ps').
The X0 and PCA0 values should vary significantly but be well fit while
the PCA1-4 values should have minor variations.
- QA: HERE is an example of the QA. Note:
- The first page shows output from the PCA analysis. The x0 and PCA0
components should be well fit (there may be red, rejected outliers).
- PCA1 should be confined to a small range of values
(the magnitude is not particularly relevant) but may not.
- PCA2-4 should each be confined to a small range of values
(the magnitude is not particularly relevant).
- The second and third pages show the order edges (black points)
and the fits to the edges.
- Green lines indicate regions used in the PCA analysis
- Orange lines indicate where orders overlap. These order edges
were extrapolated using the PCA analysis.
- Light blue lines show partial orders. These were not included in the
PCA analysis.
- Dark blue lines show extrapolated orders at the edges of the CCD.
- You can also check the tracing with
hires_chktrcflat. Along with
xatv, this routine is used to check the results from hires_trcflat.
IDL> xatv, 'Flats/Flat_B_01_T.fits'
IDL> hires_chktrcflat, hires, setup, 1, /NOSTOP
- This routine has the most trouble with data taken with HIRESr
in a setup with an improper 2nd order blocking filter. The 'extra'
orders causes troubles.
- [OPTIONAL and NOT recommended]
hires_nrmflat
:: This routines attempts to normalize the traditional 'trace flats'
that one takes with HIRES. Ideally you will instead use the 'pixel'
flats which I have archived at the redux website and skip this step.
Example: IDL> hires_nrmflat, hires, setup, [chip]
Time : <2min per chip
- You know the code is working right when the routine
finishes. You should inspect the resulting images and consider if the
variations from pixel-to-pixel are sufficiently small.
- hires_allflat
:: The previous 4 routines have been bundled into
one simple script. We recommend using this routine once you are
comfortable that the code is working well with your setup, etc. We
recommend you
run hires_chktrcflat after the procedure is through to examine
the solutions and also look at the QA.
Example: IDL> hires_allflat, hires, setup, [chip, /INTER]
Time : <20min per chip
- You know the code is working right when you go through all of the
checking steps listed above.
Arc Images
- General ::
The arcs are processed through a series of steps which:
- Process the raw frame (hires_procarc)
- Derive a 1D solution down the center of each order (hires_fitarc)
- Create a 2D solution (hires_fit2darc)
- Traces the individual arc lines (hires_tracearc)
- Fits the changing slope of the arc lines (hires_fittrcarc)
- Create a 2D wavelength image (hires_mkaimg)
- Recommended: One Shot
hires_allarc: There are two modes of processing the arcs.
We strongly recommend against running the arc steps individually unless you
are debugging. In fact, it is possible that some procedures will not run
on their own at the present time.
- Process individually. This is generally only recommended
for redoing specific arcs. It is also useful for testing the code
on non-standard setups before running on all of the arcs.
The user inputs the indice(s) of the arc(s) to process.
Example: IDL> hires_allarc, hires, [indx], /INDX
Time : 5min per arc
- Process all together. This is recommended.
If you are reducing a full night
of data, I suggest the latter.
I do highly recommend, however, that you check the 1D
solutions and consider tweaking a few orders as need be.
Example: IDL> hires_allarc, hires, setup, [chip]
Time : 5min per arc
- Individual Procedures
- hires_procarc :: Process the Arcs.
This step bias subtracts and flat fields the arc images. It chooses
the arc image closest in UT time to the science exposure. This routine
will also calculate the x,y shifts between the arcs being processed
and a 'template' arc. The `template' arc should be the arc taken
most closely in time to the trace flats. By default, the first Arc
of the night is taken as the template. Output
are fits files in the 'Arcs/' directory.
Example: IDL> hires_procarc, hires, setup, obj_id, [chip]
Example: IDL>
rslt = hires_procarc_sngl('raw.fits', setup, chip)
Time : 1min per image
- You know the code is working right when it finishes. It would
be quite unusual for this procedure to fail.
- hires_fitarc :: This routine extracts a 1D spectrum down the
center of each order and determines the wavelength solution.
-
There are two levels of interaction with this routine. The most
interaction (not recommended) is to use /INTER which prompts the
user to identify and fit the Arc lines. One can also use the option
/PINTER which has the program attempt to identify a set of
lines in each order. The user than interactively fits the lines
using the routine x_identify which calls x1dfit.
As long as your arc lines are within several
pixels of my solution, things ought to run smoothly in the non-interactive
mode.
- At this point, we recommend using the full AUTO mode. If it fails,
we would hope to fix it.
The output is an IDL file containing the arc lines identified and
their pixel centroids: 'Arcs/Fits/Arc_name_fit.idl'.
The program can also create a ps file to examine the quality of fits.
Example: IDL> hires_fitarc, hires, setup, obj_id,
[chip, /INTER, /PINTER, /PSOUT]
Example: IDL> result = hires_fitarc_work('arc_file',
setup, chip)
Time : 5min per chip per arc image
- You know the code is working right when the RMS of the fits to
each order are generally less than 0.1 pixel. There will be several exceptions
per full exposure. Also, it is common for the code to fail for the very bluest
orders of the blue chip (at least with the original blue CCD).
The code produces a QA file (e.g. 'QA/Arcs01/qa_arcfit_mb0038.ps.gz')
which shows the residuals to the order by order fits including the RMS
(in pixels).
- QA: HERE is an example of the QA. Each
page shows the residuals of the fits to a set of echelle orders. Red points
indicate arc lines rejected in the fit. The RMS values are in pixels and
the Dlambda values are Ang. If any of the RMS values exceed
0.1 (and especially 0.2) you may wish to 'tweak' the arcs as described
here. In the example shown here, I have
a little concern about Order #88, but none about #108.
- hires_fit2darc :: This routine fits a 2D solution to the
wavelengths as a function of their y pixel value and their order number.
It is rather straightforward.
Example: IDL> hires_fit2darc, hires, setup, obj_id, [chip]
Example: IDL> result = hires_fit2darc_work('arc_file',
setup, chip)
Time : fast
- You know the code is working right when the RMS of the 2D fit
is less than 0.1 pix or so.
The code produces a QA file (e.g. 'QA/Arcs01/qa_arc2dfit_mb0038.ps.gz')
which shows the 2D solution and lists the RMS.
- QA: HERE is an example of the QA. The
first page shows the 2D solution and the lines fit. There isn't too much
to see visually. I mainly check the RMS and hope to see values of
0.1 to 0.15 Ang*Order# (strange units). The remaining pages show the
residuals off the 2D solution. Again, I hope to see RMS of 0.1pix or less.
If you don't, consider a tweak.
- hires_tracearc :: This routine traces arc lines in each
order. It traces the lines in the curved order frame of the original
image and then fits a straight line to each arc line. The slope
and centroid of the arc line is recorded to a file for later use.
Example: IDL> hires_tracearc, hires, setup, obj_id, [chip]
Example: IDL> result = hires_tracearc_work('arc_file', setup,
chip)
Time : 2min per chip per arc image
- You know the code is working right by reviewing the QA file
it produces (e.g. 'QA/Arcs01/qa_tracearc_mb0034.ps.gz'). So long as the
arc lines and the fits look reasonably straight, everything should be fine.
- You can check the output by using
hires_chkarctrc
Example: IDL> xatv, arc_img
Example: IDL> hires_chkarctrc, hires, indx
- hires_fittrcarc :: Using the slopes derived in the previous step,
this routine fits for the slope throughout the 2D arc image. That is
the slope as a function of order and vertical height in the image. Uses
the usual least-squares algorithm.
Example: IDL> hires_fittrcarc, hires, setup,
obj_id, [chip], /CLOBBER, /CHK
Example: IDL> result = hires_fittrcarc_work('arc_file',
setup, chip)
Time : Fast
- You know the code is working right when RMS3 is less than 0.01.
The code produces a QA file (e.g. 'QA/Arcs01/qa_fittrcarc_mb0038.ps.gz').
- hires_mkaimg :: Using the 2D slope solution and the 1D arc
solution from step 2, this routine calculates a wavelength value for
every science pixel in the image.
The final wavelength image has air wavelengths and are saved as alog10
double values.
Output is : 'Arcs/Arc_nameI.fits'
Example: IDL> hires_mkaimg, hires, setup, obj_id, [chip],
/CHK
Example: IDL> result = hires_mkaimg_work('arc_file',
setup, chip, XOFF=)
Time : 1min
- You know the code is working right provided it does not
complain about an order not being single-valued in wavelength. Also
one can examine the BAD_ANLY parameter (it should be 0 upon completion).
Useless orders due to Blocking Filters
If you have orders blocked by a blocking filter, and you
want to remove those from being analyzed by hires_allarc, you
can remove orders by the following methodology:
ostr = xmrdfits('Flats/OStr_chip_setup.fits',1)
good = where(ostr.order LT XX)
mwrfits, ostr[good], 'Flats/OStr_chip_setup.fits', /create
You may want to make a backup of the file first in case you
want to go back!
Only do this if you are experienceing problems with the code
Slit Profile
- hires_slitflat ::
This routine determines the slit profile
for each order. This is crucial for optimal sky subtraction, particularly
given the short slit length used in HIRES. The profile is used to correct
the illumination pattern of the science frames. The procedure is also important
for optimal extraction. It must be run after the arc calibrations as the
slope of the arc lines is a necessary input.
Example: IDL> hires_slitflat, hires, setup, [chip], [/chk], [/nodetilt]
Time : 10min per setup per chip
- You know the code is working right when you check the QA
file (e.g. 'QA/Flats01/qa_slitflat_01B.ps.gz') and the slit profiles
look reasonably well behaved and the chi^2 values are around 0.5.
- If you want to see the fits in real-time, use /chk
- For internal flats (standard), there is likely to be an illumination
pattern imposed on the slit. Therefore, the default is to have the code
'detilt' the slit profile. If you prefer NOT to detilt, turn on /NODETILT.
Last modified 2005-10-10


Leave Management System is a platform where employees can request for leave and employers can choose to accept or deny the request.


Enumerating all the elements in a DocFile can be very useful, to show how it is done I'll create a
very simple DocFile viewer.
NB DocFiles are not optimized for enumeration, which means that enumerating a
DocFiles elements is a relatively slow process. You should therefore use enumeration only when absolutely
necessary. Later on in this tutorial I'll show a technique that you can use to eliminate enumeration
and allow you to use storages and streams names of any length. For now I'll continue with enumeration.
IStorage.EnumElements is the function that is used to enumerate all the storages sub-items
IStorage.EnumElements( Must be 0, Must be nil, Must be 0, Location for IEnumSTATSTG ) : HResult;
EnumElements returns a HResult, S_OK indicates that the IEnumSTATSTG interface was returned.
Once you have the IEnumSTATSTG interface you can get each sub-element one at a time by using the
"Next" method.
IEnumSTATSTG.Next( Number of items to retrieve, returned StatSTG, number fetched ) : HResult;
The following function shows the names of every element in a given storage.
procedure ShowName( Stor : IStorage ); var Hr : HResult; Enum : IEnumSTATSTG; StatStg : TStatStg; NumFetched : integer; begin {Start enumeration} Hr := Stor.EnumElements( 0, nil, 0, Enum ); {Enum started Ok?} if( Hr <> S_OK ) then Exit; repeat {Get 1 STATSTG} Hr := Enum.Next( 1, StatStg, @NumFetched ); {Was a STATSTG retrieved?} if( Hr <> S_OK ) then continue; {Show the elements name} ShowMessage( StatStg.pwcsName ); {Until an error occurs, or enum function indicates a stop} until ( Hr <> S_OK ); end;
The next step is to use this information to build a simple DocFile viewer.
| Control | Caption | Name |
| TPanel | Panel1 | |
| TSpeedButton | sbut_Load | |
| TOpenDialog | odlg_DocFile | |
| TTreeView | tv_Enum |
The DocFile viewer loads any DocFile and displays its contents in a TreeView. The tree shown in the picture above represents the hierarchy created by example 2 - "Sub-Storages". You can also load MS excel and word files and view their contents.
Starting with the sbut_LoadClick event I'll discuss each of the 3 methods in order
procedure TForm1.sbut_LoadClick(Sender: TObject); var ws : WideString; begin {Select a DocFile to open} if( not odlg_DocFile.Execute ) then Exit; {Remove old file info} sbar_Simple.SimpleText := ''; tv_Enum.Items.Clear; {Get UNICODE file name} ws := odlg_DocFile.FileName; {Check that this is a DocFile} if( StgIsStorageFile( PWideChar(ws) ) <> S_OK ) then begin MessageBeep( MB_ICONEXCLAMATION ); ShowMessage( 'Not a doc file' ); Exit; end; {Load and parse} ProcessFile( odlg_DocFile.FileName ); end;
In sbut_LoadClick.....
procedure TForm1.ProcessFile( sFileName : WideString ); var Hr : HResult; Root : IStorage; begin {open storage} Hr := StgOpenStorage( PWideChar(sFileName), nil, STGM_READWRITE or STGM_DIRECT or STGM_SHARE_EXCLUSIVE, nil, 0, Root ); {File opened?} if( not SUCCEEDED( Hr ) ) then begin MessageBeep( -1 ); ShowMessage( 'Cant open file - ' + sFileName ); Exit; end; {Add Root} tv_Enum.Items.Add( nil, sFileName ); {Display name of open file} sbar_Simple.SimpleText := sFileName; {Start the enumeration} EnumInStorage( Root, tv_Enum.Items[ 0 ] ); {Show all} tv_Enum.FullExpand; end;
ProcessFile
procedure TForm1.EnumInStorage( Stor : IStorage; Node : TTreeNode ); var Hr : HResult; Enum : IEnumSTATSTG; SubNode : TTreeNode; StatStg : TStatStg; SubStor : IStorage; HrSubStor : HResult; NumFetched : integer; begin {Start enumeration} Hr := Stor.EnumElements( 0, nil, 0, Enum ); OleCheck( Hr ); repeat {Get 1 STATSTG} Hr := Enum.Next( 1, StatStg, @NumFetched ); {Was a STATSTG retrieved?} if( Hr <> S_OK ) then continue; {What type of element was returned?} case StatStg.dwType of STGTY_STORAGE : {Name of IStream element} begin {Add node for the IStorage} SubNode := tv_Enum.Items.AddChild( Node, StatStg.pwcsName ); {Open the sub-storage} HrSubStor := Stor.OpenStorage( StatStg.pwcsName, nil, STGM_READWRITE or STGM_DIRECT or STGM_SHARE_EXCLUSIVE, nil, 0, SubStor ); {If the storage was not opened} if( SUCCEEDED( HrSubStor ) ) then begin {Enum all elements in the sub-storage} EnumInStorage( SubStor, SubNode ); end; end; STGTY_STREAM : {Name of IStream element} begin {Add node for the stream} tv_Enum.Items.AddChild( Node, StatStg.pwcsName ); end; end; {Until an error occurs, or enum function indicates a stop} until ( Hr <> S_OK ); end;
EnumInStorage is the procedure in which all the enumeration is done. This is a recursive function, it is
called recursively once for every sub-storage.
All information on these www pages is copyright (©) 1997 Andre .v.d. Merwe And may not be copied or mirrored without my permission.


Introduction¶
BEEP is a set of tools designed to support Battery Evaluation and Early Prediction of cycle life corresponding to the research of the d3batt program and the Toyota Research Institute.
BEEP enables parsing and handing of electrochemical battery cycling data via data objects reflecting cycling run data, experimental protocols, featurization, and modeling of cycle life. Currently beep supports arbin, maccor and biologic cyclers.
We are currently looking for experienced python developers to help us improve this package and implement new features. Please contact any of the maintainers for more information.
Installation¶
To a base install, do:
pip install beep
If you want to develop BEEP and run tests, clone the repo via git and use
pip (or python setup.py develop
) for an editable install:
git clone git@github.com:ToyotaResearchInstitute/BEEP.git
cd BEEP
pip install -e .[tests]
Environment¶
To configure the use of AWS resources its necessary to set the environment variable BEEP_ENV
. For most users 'dev'
is the appropriate choice since it assumes that no AWS resources are available.
export BEEP_ENV='dev'
For processing file locally its necessary to configure the folder structure
export BEEP_PROCESSING_DIR='/path/to/beep/data/'
Testing¶
Make sure you have installed the required testing packages (see installation).
You can use pytest for running unittests. In order to run tests the environment variable
needs to be set (i.e. export BEEP_ENV='dev'
)
pytest beep
How to cite¶
If you use BEEP, please cite this article:
P. Herring, C. Balaji Gopal, M. Aykol, J.H. Montoya, A. Anapolsky, P.M. Attia, W. Gent, J.S. Hummelshøj, L. Hung, H.-K. Kwon, P. Moore, D. Schweigert, K.A. Severson, S. Suram, Z. Yang, R.D. Braatz, B.D. Storey, SoftwareX 11 (2020) 100506. https://doi.org/10.1016/j.softx.2020.100506


Up until this point we haven't been too strict when thinking about things like indentation or the amount of space between the code we type -- e.g. whether we type a function like var function () { ... } or var function(){ ... }. As it turns out, this and other small details are very important — especially when other people will be reading and working with your code.
One way to help write code in a standard way is to use a linting tool like JSLint. It is easy to use — it is built into Brackets already! It will give you a lot of errors. Try not to focus on fixing every error at first unless your code isn't working. For now try to focus on any inconsistency in formatting. The neater your code is the easier it becomes to read! While whitespace takes up more memory and makes your code slower, there are tools to minify, or remove formatting so code is as compact as possible, which you can use before it goes into production.


I grew up in Warsaw, Poland’s capital city, and I am ‘the 90’s kid’. I graduated in Environmental Biology from the University of Warsaw. I also studied Computational Methods of Physics at the same university. I defended my Ph.D. at the School of Environmental Sciences, University of East Anglia in Norwich, UK.
Since then, I have worked as a bio-modeller and a bioinformatician in research institutes in Warsaw, Poznań, Paris. Currently I am back in Warsaw.
For more detailed info on projects I did, see the tab RESEARCH.
| Name | Piotr BENTKOWSKI |
| Profession | Computational biologist / modeller |
| Almae Matres | University of Warsaw, Poland University of East Anglia, Norwich, UK |
| Societies | 23 WDHiZ “Pomarańczarnia” Obywatele Nauki Nauka dla Przyrody |
| ORCID ID | orcid.org/0000-0002-1220-1075 |
| 2021-now | Research fellow at the Center for Systemic Risk Analysis, University of Warsaw |
| 2020-2021 | Working in IT industry in Warsaw, Poland |
| 2017-2020 | Post-doc at the Pierre Louis Institute of Epidemiology and Public Health in Paris (IPLESP - joined research unit of the INSERM and the Sorbonne University) working on modelling of spread and evolution of the influenza virus during seasonal epidemics in France |
| 2015-2017 | Post-doc at the Adam Mickiewicz University in Poznań working in the Evolutionary Biology Group on the modelling of evolution of the major histocomatibility complex (MHC) genes |
| 2012-2014 | Post-doc at the International Institute of Molecular and Cell Biology in Warsaw (IIMCB) doing non-coding RNA bioinformatics |
| 2008 , 2011 | Short-term gigs at the Department of Hydrobiology, University of Warsaw doing automation in ecological experiments |
| 2008-2012 | Ph.D. in Environmental Sciences at the University of East Anglia : “Modelling evolution of genome size in prokaryotes in response to changes in their abiotic environment” |
| 2004-2008 | Studied Computational Methods of Physics at the University of Warsaw |
| 2001-2007 | Studied Environmental Biology at the University of Warsaw |
| 2001 | Graduated from the Stefan Batory High School in Warsaw |
| 2009 | Two months-long NASA Planetary Biology Internship at the Rutgers University, New Brunswick, NJ, USA measuring C/N/O stable isotopic ratios in sedimentary rocks predating the Permian mass extinction using mass spectrometer |