shelve organizers 3 tier expandable bamboo spice rack step shelf cabinet organizer storage shelf for pantry shelf organizers amazon.
shelve organizers cabinet members the 8 best shelf organizers for your home or office closet organizers shelf dividers shelf organizers ikea.
shelve organizers bamboo closet organizer canvas closet organizers and bamboo six shelf organizer in hanging shelves 9 bamboo storage organizers amazon rev a shelf closet organizers.
shelve organizers interior office wall shelf organizers home storage decorative systems office wall organizers closetmaid shelf organizers plastic closet shelf organizers.
shelve organizers tall bathroom linen tower cabinet bedroom shelf organizer storage wood new shelf organizers for kitchen shelf organizers for office.
shelve organizers a wall of shelves using store bought shelf organizers shelf organizers shelf organizers for pantry.
shelve organizers shelf organizers cabinet organizers kitchen pull out closet shelf organizers clothes.
shelve organizers closet shelf organizers stack a organizer motivate and cabinet organizers for office shelf storage closet.
shelve organizers shoe rack large shelf organizers racks amazon com organizer photo shelf storage for kitchen wire shelf organizers closet.
shelve organizers rev a shelf wood shelf organizers cabinet organizers for office top shelf closet organizers.
shelve organizers office shelf organizer creative practical desktop file holder tray metal filing box office file magazines document bathroom closet shelf organizers shelf storage closet.
shelve organizers corner shelf organizer white closet shelf organizers lowes shelf organizers target.
shelve organizers six shelf organizers storage organizers for office storage shelf for pantry.
shelve organizers photo of top shelf organizers ca united states shelf storage for clothes closet organizers shelf dividers.
shelve organizers closet organization ideas affordable closet organizers shelf organizers bed bath and beyond clear storage bins closet organizers racks top shelf closet organizers.
shelve organizers fabulous cabinet organizing ideas cabinets organizer kitchen cabinet organizers ideas cabinet cool kitchen cabinet organizers for home storage kitchen shelf closet organizers racks s.
shelve organizers large size of depot wire closet shelving industrial shelving sliding shelf organizers kitchen closet organizers racks shelf organizers walmart.
shelve organizers stacking refrigerator bin 4 inch x inch shelf organizers for pantry bathroom closet shelf organizers.
shelve organizers pocket shelf organizers with label holder set of 2 hanging shelf closet organizers storage organizers amazon.
shelve organizers shelf dividers clear acrylic for closets 4 bathroom closet shelf organizers plastic closet shelf organizers.
shelve organizers image of storage organization closet organizer shelf organizers closet closet shelf organizers.
shelve organizers hanging locker organizer blue a adjustable double locker shelf hanging shelf closet organizers storage shelf for pantry.
shelve organizers large gray drawer organizers s 2 cabinet organizers kitchen pull out shelf organizers for clothes.
shelve organizers buy collection 6 shelf organiser online at shelf organizers for clothes shelf storage for clothes.
shelve organizers these shelf organizers allow you to organize sweaters purses towels and linens put an end to shelf clutter closet shelf organizers storage organizers for office.
shelve organizers hanging shelf organizers gray set of two shelf organizers ikea shelf organizers for kitchen.
shelve organizers dishes storage rack plastic bowl plate kitchen organizer white kitchen shelf organizers for kitchen storage shelf storage closet shelf organizers for pantry.


text:
Our Focus Has to Be on the Victims of Hurricane Laura
Atmospheric scientist Adam Sobel writes that yes, Hurricane Laura is about climate change, but first it's about people.
Earth Institute
A Coast Guard team walks through a flooded road in Erath, Louisiana. Photo: U.S. Coast Guard/John Michelli
Normally, after a disaster like Hurricane Laura, atmospheric scientist Adam Sobel from the Lamont-Doherty Earth Observatory finds himself writing and commenting about what role climate change may have played. This time is different, the atmospheric scientist writes in an opinion piece published today on CNN.com.
[M]aybe, by talking just about things like sea surface temperature and tropical cyclone intensity and greenhouse gases and aerosols at these moments, scientists like me actually hinder the conversation we really should be having. That conversation is about climate, but first it's about people.
Laura struck a region in Louisiana and East Texas that is a contender for the epicenter of climate injustice and environmental racism in the United States….
While the whole region is affected by these plagues, it is the poorest and darkest-skinned who have inevitably been hurt the most, while drawing the least profit from the industry that causes them all.
Sobel's piece goes on to detail how pollution, racial segregation, and health and economic issues intertwine to make communities like these particularly vulnerable to the impacts of climate change — and why centering these social injustices is not only the moral thing to do, but it strengthens the climate movement.
Read the full piece on CNN.com.
environmental justice Hurricane Laura Lamont-Doherty Earth Observatory Viewpoints

redpajama_set_name: RedPajamaCommonCrawl


Mavin Boss Don Jazzy is once again sparking dating rumours between himself and top blogger Linda Ikeji.
Shortly after the news of Adesua Etomi and Banky W's engagement hit the net, the 34-year-old music producer took to his Instagram to lament about being single.
"Kai! Aye mi te mi ba mi (which means see my life)" he wrote, before jokingly stating that he will need someone to act with him in a movie so he can get a wife like Banky W.
Then Don Jazzy, who has been hinting that he is ready to settle down for a while now, took to his Twitter to ask Linda Ikeji to act in the "movie' with him.
And the 36-year-old blogger actually accepted causing fans to wonder if something wasn't already going on between the two.
never addressed or debunked the claims.
Also both celebs have expressed their desire to settle down as soon as possible. So will they give each other a shot?


So far, Rs. 7,00,000 crore is in the state. In the third installment, the release of Rs three thousand six hundred crores has been released, including a release of six hundred crores. The tenders are called for construction of R & B roads with a cost of Rs 30 crore in the district. Chandranna Insurance has been applied to two crore twenty lakh people in the state. NTR Health SRI has been included in various diseases. In three to four months, the houses will be distributed to the poor. Kandalar said that under the canal of the left, twenty five thousand acres of water is being planted. He also said irrigation water is sixty six thousand acres under the Kanupur Canal.
Farmers in the paddy fields are likely to grow crops like Delta. As a result, farmers' assets have gone up. The water tree works have been completed in the district with a thousand crore. The last governments have developed in ten years and said that their government has developed just three and a half years. He said that the government is entering various welfare schemes to finance the poor. The Minister has given a check of Rs 4 crore to the lenders for the savings loans. Childs for pregnant women, and small children have been sponsored by the minister's hands. The farmer has been handed over farmers to farmers.


text:
Movie Review – Toy Story
February 20, 2009 Rodney Twelftree
The most original, classic animated film of all time – the one which kicked off an entire industry of related films – Toy Story.
– Summary –
Director : John Lasseter
Cast : Voices of: Tom Hanks, Tim Allen, Joan Cusack, Don Rickles, Jim Varney, Wallace Shawn, John Ratzenberger, Estelle Harris, Laurie Metcalf, Annie Potts, John Morris, Erik von Detten, R Lee Ermey.
Length : 81 Minutes
Synopsis: A young boy's toys come to life when humans are not around. A toy cowboy named Woody becomes jealous of the newer, space-aged Buzz Lightyear toy when his owner is given one for a birthday present.
Review : Animated, cinematic brilliance. Impossible to criticize, Toy Story stands the test of time as a classic piece of entertainment.
In the age of modern cinema, there's very few people alive today who would not be aware of the seemingly miraculous rise, and rise, of super-studio Pixar, the guys behind the enormously successful Toy Story, Monsters Inc., The Incredibles, and more recently WALL-E, and Ratatouille. Pixar, now owned by Disney, has had a tumultuous history in it's relatively short life. It began life as a division of Lucasfilm, known as Graphics Group, before being taken over by Apple co-founder Steve Jobs, and then, in the late 80's began to experiment with the art of computerized animation. In the 90's, Pixar struck a deal with Disney to produce three full length animated films, with Toy Story being the first off the line. The rest, as they say, is history.
When Toy Story was unleashed upon the cinema-going public in 1995, after many years of work had been put into it, there were fears it wouldn't succeed. It was a relatively new technology, which up until then had predominantly been used in smaller, less expensive projects like short films, and TV commercials. There was a lot riding on the new film, and with plenty of money to be made if it succeeded, there were a lot of nervous people around both companies' offices.
Neither should have worried. Toy Story quickly became one of the highest grossing films of 1995, and went on to become one of the highest grossing animated films in history. It's success spawned a sequel (which, in turn, has spawned a second sequel) and catapulted Pixar to the top of the studio heap for animation. Toy Story single-handedly revolutionized the animation industry, setting benchmark after benchmark for everything from storytelling, to animation, to characterization techniques, that have ensured the studio has remained the Top Dog of animation ever since. Since Pixar's success, both 20th Century Fox and Dreamworks set up their own animation studios (Fox funded Blue Sky Studios to produce Ice Age and Robots, while Dreamworks pictures developed Shrek, Madagascar and the like) while Pixar has moved from strength to strength, producing films of increasing quality in the years since.
So what is it about Toy Story that polarized audiences across the planet, the fact that it's the worlds first CGI animated film notwithstanding?
We begin with a young boy, Andy, playing with his toys, while waiting for his friends to arrive for his birthday party. When Andy leaves the room, the toys are still, silent. The camera moves closer, closer to one, a wooden cowboy doll, whom we overhear Andy calling Woody. There room is still, and then, suddenly, Woody's eyes move, and he sits bolt upright, proclaiming "Alright everyone, he's gone". With that, the room bursts to life with the sounds and movement of dozens of tiny toys, of various sizes and shapes. Toys of all manner of brand and shape emerge from the various boxes, shelves and hidden places of Andy's bedroom. Woody, a veritable Mr Organization, gets the toys gathered around him to begin their plan to spy on Andy and his friends, to see what new toys are about to come into their lives. You see, with Andy unwrapping his birthday presents, there's every chance a new, unliked toy might become part of their "family", and the toys all want to hear what it might be. The anticipatory level within the bedroom is immense. The sarcastic, cynical Mr Potato Head badly wants to get his hands on a Mrs Potato Head, although it hasn't happened yet. Hamm, a pig shaped money boy seems intent on being the local wiseguy, his quips and put-downs razor sharp and always hitting home. Woody's lady "friend", Bo Peep, is not one of the toys you'd think you might find in a boys bedroom, but since Andy has a baby sister, it's not unlikely.
Using the toy soldiers in a giant bucket to spy on Andy and the party downstairs, they check off the various presents with increasing joy that among them is not some violent, degenerate toy who will threaten their way of life. Until, in a frenzy of action, Andy unwraps his last, and largest, toy. Blindsided by the rest of the children in the room, the solder captain cannot relay the message to Woody via the walkie-talkie, and the present, whatever it is, is quickly absconded with back to Andy's room, where the toys must now hurry to return to their original positions. The kids all run in, whooping and hollering, chattering about how cool the new present is, just out of the eyeline of Woody himself.
Buzz arrives in town.
Then, the children are called for food, and the new present is plonked firmly on top of Andy's bed, a position we find out is normally reserved for Woody. Woody, brushed aside in the fervor, clambers back onto the bed, and looks up, at the new toy which has usurped his position in Andy's favor. It is Buzz Lightyear. A space toy, a light-flashing, helmet wearing, "flying" toy who has no idea he's actually a toy. Buzz, viewing the rooms occupants with the disdain and arrogance of a spaceman landing on a planet unfamiliar, manages to insult Woody quite quickly, and begins regaling the rest of the toys (who, by the way, are in awe of the new addition to Andy's collection) with his exploits.
Buzz becomes the new favourite toy.
So begins Toy Story. The film uses themes of acceptance, jealousy, the sense of loss of place and a desire to be loved, to the most accessible, and unpretentious, manner possible in a film. Disney's ethical stance on family, friendship and love are all in place, and Pixar's storytellers have crafted a beautiful, wondrous story of two kindred spirits who don't quite know it yet. Woody, voiced by Tom Hanks, is the jealous one, his position as Head Toy gradually being usurped by Buzz. It annoys him, so, of course, he set's about trying to get rid of the newcomer, who he perceives as a threat. Of course, this is indicative of what we humans do when we come across something that threatens us: we try and get rid of it. Buzz is arrogant, self-assured and, unlike Woody, confident. Woody's inability to see himself as a man of action is offset by his actions throughout the film, a quite contradictory manner he portrays as he comes up with a diabolical plan to rid his life of Buzz. Originally, director John Lasseter and the team at Pixar had Woody as a bit of a jerk, his action more overt in getting rid of Buzz, rather than the more understandable jealousy with which they imbued him. Woody is a sympathetic character here, since we can all recognize within him the sense of loss at his life being turned upside down. Buzz, in a great performance by Tim Allen, begins to come to terms with the fact that he is, in fact, a toy, and not a space-faring adventurer with lasers on his arms and mechanical wings on his back.
Sid, the evil kid next door. Karma is a bitch.
It's this story point that I think Pixar excels at: showing us just how amazing they can be when allowing a character to follow his own path. Buzz doesn't simply get told that he's a toy and falls to the floor in a weeping mess, no, he is utterly convinced that he is what his packaging tells kids. Flying in the face of reason, Buzz embarks on a "mission" to repair his damaged craft (the box he arrived in, which is shaped like a plane) and sets in motion a series of adventures that take the toys away from the house and into the world. Danger lurks around every corner. The boy next door, a vicious thug named Sid, who enjoys destroying any toy he can find with the most abhorrent methods possible, is a constant threat. There's the very real possibility that the toys will be discovered to be "alive" and made a spectacle of.
Revenge on Sid.
As Woody begins to appreciate Buzz's friendship, and Buzz learns quite harshly that he is, in fact, a toy, the two come to an understanding of one another, and their own positions in the world. Woody learns that he doesn't have to be the leader of the group, and that the toys are perfectly capable of looking after themselves. His position with Andy as his favorite toy is transitory anyway, which is a lesson he learns harshly, yet seems to accept quite readily by the end of the film. Buzz, his attitude towards Woody at first belligerent, and then more mellow, learns that he is one of millions of mass produced versions of the same toy, and while initially flipping out, and drinking tea with Mrs Nesbitt at Andy's sister's dolls tea party, he comes round.
Buzz flips out, and takes high tea with Mrs Nesbitt. Woody can't understand it.
So where does Toy Story gain it's appeal? Is it the animation? The storytelling? The characters? Honestly, I believe the film uses all it's various facets to create a magnificent whole: all aspects of the film combine in a perfect symmetry of story that would, if you removed but a single part, collapse into mediocrity. Pixar's attention to their characters is legendary. After all, if you don't have good, solid characters, your film will simply fail. People need characters they can empathize with, identify with, to enjoy a film with. There's no point in having characters who behave out-of-character for the sake of a story direction. Woody, Buzz, Hamm, Potato Head, even Sid, all behave in such a believable way, and true to their motivating characterizations, that they seem all the more real than had they been merely clichéd, generic versions. They are given personality by the animators, but also by the actors providing the voices. Hanks and Allen are superb in their roles as Woody and Buzz respectively. John Ratzenberger, perhaps best known as Cliff from the television series Cheers, is a scream as Hamm, and Wallace Shawn (whose distinctive voice landed him various stage and screen parts over the years) is wonderful as the timid toy tyrannosaurus Rex.
Buzz and Woody team up to save each other.
But it is not just the voices that drive the characters, although it is a fair portion. The animation on Toy Story still stands up to modern scrutiny, more than a decade on from it's original release. With an eye-pleasing color palette and some amazing, advanced, special effects and animation, the world of the toys is perfectly realized by (and perfects suited to) the animated style from Pixar. Buzz, his helmet transparent and wing-tips lit up with light, is a perfect symbol of the dazzling potential of computer animation. He's a real toy, on screen at least, and looks so amazingly detailed it's breathtaking. Woody's clothing seems so real, you almost feel you could reach out and touch it. Advances in technology since the 90's, when Toy Story was released, mean that today, the original film feels a little anemic by comparison, but at the time, was revolutionary for it's mastery of realism.
To infinity, and beyond.
Yet, it's not even this realism and superior technological skill that make Toy Story a true classic of modern film. What I think does it is the simple fact that the combination of great writing, some well rounded and developed characters, as well as the cinematic skill involved in bringing such a world to life, remains some way behind the fact that it's the very essence of the story that makes this so accessible. Themes are overarching in their simplicity, they touch a part of each and every one of us, and that, in a way, brings us much closer to the story than you first think. Plus, it's utterly entertaining, which merely serves to broaden it's appeal as a film.
Trilogy Thursday: Toy Story
Movie Review – Brave
Movie Review – Epic
Previous Movie Review – Pearl Harbor
Next Movie Review – Bank Job, The


text:
Musk touts 187,000 Cybertruck orders two days after reveal
Tesla Chief Executive Officer Elon Musk said orders for the Cybertruck have climbed to 187,000 even after two windows unexpectedly shattered in Thursday's big reveal. Photo credit: Tesla
By Syndication Washington Post/Bloomberg · Dana Hull · BUSINESS
Tesla Chief Executive Officer Elon Musk said orders for the Cybertruck have climbed to 187,000 even after two windows unexpectedly shattered in Thursday's big reveal.
The electric-car maker has a history of unveiling future products to throngs of excited customers, taking deposits, and then delivering years later. Two years ago, Tesla showed off a Semi truck and a next generation Roadster sports car, but neither vehicle is in production yet. This spring, Musk unveiled the Model Y crossover; that vehicle is slated to begin production next summer.
The orders, an increase from a 146,000 figure that Musk announced in a Tweet on Saturday, underscores the hard-to-resist nature of announcing deposits, even when they are fully refundable and may never be converted into actual sales.
Tesla's reservation list has long been a source of intrigue for investors, analysts, journalists, fans and skeptics of the company, as it's often used as a proxy for demand. Musk's tweet breaks with the recent practice at Tesla, which has stopped giving reservation figures on its quarterly earnings calls, saying the metric wasn't relevant.
"We don't want to comment on the granularity of deposits - again, people just read too much into those," Musk said on Tesla's first-quarter earnings call in April, when asked about the Model Y.
Tesla's website allows customers to order the truck for a fully refundable $100, and says they can complete their configuration "as production nears in late 2021." Musk said in a tweet Saturday that 42% had ordered the dual-motor option, which starts at $49,900, while 41% have ordered the $69,900 triple-motor option, production of which is expected to begin in late 2022. Just 17% ordered the single-motor version, which begins at $39,900.
The $100 deposit for the Cybertruck is far cheaper than the $1,000 that was required to reserve a Model 3 sedan.
"Reservations are not relevant for us," former Chief Financial Officer Deepak Ahuja said in January, during the company's 2018 fourth-quarter earnings call. "Now we do have a large reservations backlog still, which tells us that a lot of customers are still waiting for those cars. But I don't think it's appropriate to share the reservations number."
Tesla never released an order or reservation figure for the Model Y. The company had $665 million in customer deposits as of Sept. 30, according to a regulatory filing.
In a demonstration of the truck's toughness, long-time Tesla lead designer Franz von Holzhausen whacked the Cybertruck's stainless steel door with a mallet, showing that it couldn't be dented. But when he threw a metallic ball at the driver side front window, it shattered.
The crowd gasped. "Oh my f---ing god," said Musk. "Maybe that was a little too hard."
So von Holzhausen tried a second, softer throw - this time targeting the truck's rear window - only to see that shatter as well.
It wasn't immediately clear who supplied the glass or if Tesla made what it called "Armor Glass" completely in-house. Tesla entered the glass technology business back in 2016, and has an internal group known as Tesla Glass.
Musk said his team threw the same steel ball at the window several times before the event and didn't even scratch the glass. Late Friday, he tweeted out a short video of von Holzhausen that has been viewed more than 6 million times.
The angular, futuristic design and the shattering glass generated enormous publicity for Tesla and its truck, but shares tumbled 6.1% to $333.04 Friday, the sharpest decline in almost two months.
electric-car maker Tesla
Huawei dodges 5G ban as U.S. clout in EU meets its Chinese match
AT&T tops profit estimates despite record TV customer losses
New York pension to coal firms: Evolve or we'll divest
GE bulls finally have more than hope on their side
Panel mulls darker outlook due to virus
Economy shrinks in larger number of states, Fed gauge shows
Google's app choice screen still favors Google, rival says


Charles Matthew Egerton Hazlewood (born 14 November 1966) is a British conductor and advocate for a wider audience for orchestral music. After winning the European Broadcasting Union conducting competition in his twenties, Hazlewood has had a career as an international conductor, music director of film and theatre, composer and a curator of music on British radio and television.
Hazlewood has conducted many of the world's best orchestras, including the Swedish Radio Symphony Orchestra, Gothenburg & Malmö Symphonies, Copenhagen Philharmonic, the Danish Radio Symphony Orchestra, the Royal Concertgebouw of Amsterdam and the Philharmonia.
He is best known for his relentless crusade to bring orchestral music to a 21st century audience. His many innovations, such as introducing the music to the audience, recasting of the term 'classical music' to 'orchestral music', taking orchestral performance out of the concert hall to fresh audiences, and rethinking what an orchestra by integrating disability and new technologies, and his collaborations with leading musicians from all gentres of music have been instrumental in creating new 'norms' in the world of orchestral music.
Conductor Charles Hazlewood talks to us about his work with the British Paraorchestra, as part of our Designs for Life series on the weekend breakfast show.
Theatre company Dimpho di Kopane present music devised for their productions.
Charles Hazlewood looks at the musical tradition of the Xhosa people.
Charles Hazlewood explores Tchaikovsky's Romeo and Juliet.


text:
install_path='/opt/local/bin/'
import sys
sys.path.append(install_path)
import numpy as np
#from astropy.io import fits
#from astropy.modeling import models,fitting
import os
from scipy.optimize import curve_fit,minimize
import pyds9
import matplotlib as mpl
mpl.use('tkagg')
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
from matplotlib.figure import Figure
import Tkinter as tk
import math
from photutils import CircularAperture,CircularAnnulus,aperture_photometry
from photutils.background import Background2D,MMMBackground

#to do:
#1: Add interactive way to change radial profile display, perhaps via menu: need to add Moffat profile, that is default for iraf imexam -r. need to be able to compare.
#3: Once centroid is determined, add interactive way to do aperture photometry, perhaps with photutils: http://photutils.readthedocs.io/en/stable/

#package management:
#in /opt/local/bin, installed matplotlib, numpy, scipy, pyfits, pyds9
#tested with most recent versions of all packages, and works

MAX_REJECT = 0.5
MIN_NPIXELS = 5
GOOD_PIXEL = 0
BAD_PIXEL = 1
KREJ = 2.5
MAX_ITERATIONS = 5

def zscale (image, nsamples=1000, contrast=0.25, bpmask=None, zmask=None):
    """Implement IRAF zscale algorithm
    nsamples=1000 and contrast=0.25 are the IRAF display task defaults
    bpmask and zmask not implemented yet
    image is a 2-d numpy array
    returns (z1, z2)
    """

    # Sample the image
    samples = zsc_sample (image, nsamples, bpmask, zmask)
    npix = len(samples)
    samples.sort()
    zmin = samples[0]
    zmax = samples[-1]
    # For a zero-indexed array
    center_pixel = (npix - 1) / 2
    if npix%2 == 1:
        median = samples[center_pixel]
    else:
        median = 0.5 * (samples[center_pixel] + samples[center_pixel + 1])

    #
    # Fit a line to the sorted array of samples
    minpix = max(MIN_NPIXELS, int(npix * MAX_REJECT))
    ngrow = max (1, int (npix * 0.01))
    ngoodpix, zstart, zslope = zsc_fit_line (samples, npix, KREJ, ngrow,
                                             MAX_ITERATIONS)

    if ngoodpix < minpix:
        z1 = zmin
        z2 = zmax
    else:
        if contrast > 0: zslope = zslope / contrast
        z1 = max (zmin, median - (center_pixel - 1) * zslope)
        z2 = min (zmax, median + (npix - center_pixel) * zslope)
    return z1, z2

def zsc_sample (image, maxpix, bpmask=None, zmask=None):

    # Figure out which pixels to use for the zscale algorithm
    # Returns the 1-d array samples
    # Don't worry about the bad pixel mask or zmask for the moment
    # Sample in a square grid, and return the first maxpix in the sample
    nc = image.shape[0]
    nl = image.shape[1]
    stride = max (1.0, math.sqrt((nc - 1) * (nl - 1) / float(maxpix)))
    stride = int (stride)
    samples = image[::stride,::stride].flatten()
    return samples[:maxpix]

def zsc_fit_line (samples, npix, krej, ngrow, maxiter):

    #
    # First re-map indices from -1.0 to 1.0
    xscale = 2.0 / (npix - 1)
    xnorm = np.arange(npix)
    xnorm = xnorm * xscale - 1.0

    ngoodpix = npix
    minpix = max (MIN_NPIXELS, int (npix*MAX_REJECT))
    last_ngoodpix = npix + 1

    # This is the mask used in k-sigma clipping.  0 is good, 1 is bad
    badpix = np.zeros(npix, dtype="int32")

    #
    #  Iterate

    for niter in range(maxiter):

        if (ngoodpix >= last_ngoodpix) or (ngoodpix < minpix):
            break

        # Accumulate sums to calculate straight line fit
        goodpixels = np.where(badpix == GOOD_PIXEL)
        sumx = xnorm[goodpixels].sum()
        sumxx = (xnorm[goodpixels]*xnorm[goodpixels]).sum()
        sumxy = (xnorm[goodpixels]*samples[goodpixels]).sum()
        sumy = samples[goodpixels].sum()
        sum = len(goodpixels[0])

        delta = sum * sumxx - sumx * sumx
        # Slope and intercept
        intercept = (sumxx * sumy - sumx * sumxy) / delta
        slope = (sum * sumxy - sumx * sumy) / delta

        # Subtract fitted line from the data array
        fitted = xnorm*slope + intercept
        flat = samples - fitted

        # Compute the k-sigma rejection threshold
        ngoodpix, mean, sigma = zsc_compute_sigma (flat, badpix, npix)

        threshold = sigma * krej

        # Detect and reject pixels further than k*sigma from the fitted line
        lcut = -threshold
        hcut = threshold
        below = np.where(flat < lcut)
        above = np.where(flat > hcut)

        badpix[below] = BAD_PIXEL
        badpix[above] = BAD_PIXEL

        # Convolve with a kernel of length ngrow
        kernel = np.ones(ngrow,dtype="int32")
        badpix = np.convolve(badpix, kernel, mode='same')

        ngoodpix = len(np.where(badpix == GOOD_PIXEL)[0])

        niter += 1

    # Transform the line coefficients back to the X range [0:npix-1]
    zstart = intercept - slope
    zslope = slope * xscale

    return ngoodpix, zstart, zslope

def zsc_compute_sigma (flat, badpix, npix):

    # Compute the rms deviation from the mean of a flattened array.
    # Ignore rejected pixels

    # Accumulate sum and sum of squares
    goodpixels = np.where(badpix == GOOD_PIXEL)
    sumz = flat[goodpixels].sum()
    sumsq = (flat[goodpixels]*flat[goodpixels]).sum()
    ngoodpix = len(goodpixels[0])
    if ngoodpix == 0:
        mean = None
        sigma = None
    elif ngoodpix == 1:
        mean = sumz
        sigma = None
    else:
        mean = sumz / ngoodpix
        temp = sumsq / (ngoodpix - 1) - sumz*sumz / (ngoodpix * (ngoodpix - 1))
        if temp < 0:
            sigma = 0.0
        else:
            sigma = math.sqrt (temp)

    return ngoodpix, mean, sigma

'''end zscale routines
# The above functions are available at the url
# https://github.com/spacetelescope/stsci.numdisplay/blob/master/lib/stsci/numdisplay/zscale.py
# and are subject to the following license:
#
# Copyright (C) 2005 Association of Universities for Research in Astronomy (AURA)

# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:

#     1. Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.

#     2. Redistributions in binary form must reproduce the above
#       copyright notice, this list of conditions and the following
#       disclaimer in the documentation and/or other materials provided
#       with the distribution.

#     3. The name of AURA and its representatives may not be used to
#       endorse or promote products derived from this software without
#       specific prior written permission.

# THIS SOFTWARE IS PROVIDED BY AURA ``AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL AURA BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
# DAMAGE.
'''
###############################################################################
###############################################################################

#try new implementation
def gauss1d(x, amplitude, xo, sigma_x, offset):
    return amplitude*np.exp(-((x-xo)**2.)/(2.*sigma_x**2.))+offset

def gauss2d((x, y), amplitude, xo, yo, sigma_x, sigma_y, theta, offset):
    xo = float(xo)
    yo = float(yo)
    a = (np.cos(theta)**2)/(2*sigma_x**2) + (np.sin(theta)**2)/(2*sigma_y**2)
    b = -(np.sin(2*theta))/(4*sigma_x**2) + (np.sin(2*theta))/(4*sigma_y**2)
    c = (np.sin(theta)**2)/(2*sigma_x**2) + (np.cos(theta)**2)/(2*sigma_y**2)
    g = offset + amplitude*np.exp( - (a*((x-xo)**2) + 2*b*(x-xo)*(y-yo)
                            + c*((y-yo)**2)))
    return g.ravel()

def moffat1d(x,amplitude,xo,alpha,beta,offset):
    #fwhm is 2*gamma
    return (amplitude*(1.+((x-xo)/alpha)**2.)**-beta)+offset

def moffat2d((x,y),amplitude,xo,yo,gamma_x,gamma_y,theta,alpha,offset):
    #amplitude,xo,yo,gamma_x,gamma_y,theta,alpha,offset=float(amplitude),float(xo),float(yo),float(gamma_x),float(gamma_y),float(theta),float(alpha),float(offset)
    g=amplitude*(1.+(((x-xo)/gamma_x)**2.+((y-yo)/gamma_y)**2.)**-alpha)+offset
    return g.ravel()

###############################################################################
###############################################################################

# def radial_profile(data, center):
#     y,x = np.indices((data.shape)) # first determine radii of all pixels
#     r = np.sqrt((x-center[0])**2+(y-center[1])**2)
#     ind = np.argsort(r.flat) # get sorted indices
#     sr = r.flat[ind] # sorted radii
#     sim = data.flat[ind] # image values sorted by radii
#     ri = sr.astype(np.int32) # integer part of radii (bin size = 1)
#     # determining distance between changes
#     deltar = ri[1:] - ri[:-1] # assume all radii represented
#     rind = np.where(deltar)[0] # location of changed radius
#     nr = rind[1:] - rind[:-1] # number in radius bin
#     csim = np.cumsum(sim, dtype=np.float64) # cumulative sum to figure out sums for each radii bin
#     tbin = csim[rind[1:]] - csim[rind[:-1]] # sum for image values in radius bins
#     radialprofile = tbin/nr # the answer
#     return radialprofile

def radial_profile(data, center):
    y,x = np.indices((data.shape)) # first determine radii of all pixels
    r = np.sqrt((x-center[0])**2+(y-center[1])**2)
    ind = np.argsort(r.flat) # get sorted indices
    sr = r.flat[ind] # sorted radii
    sim = data.flat[ind] # image values sorted by radii
    return sr,sim

def radial_profile_gauss1d_chisquare((x,y,amplitude,sigma_x,sky),image):
    # x=op_vals[0]
    # y=op_vals[1]
    # amplitude=op_vals[2]
    # if amplitude<0 or sigma_x<0 or sky<0:return 50
    radial=radial_profile(image,(x,y))
    # print 0.5*np.sum((radial[1]-gauss1d(radial[0],amplitude,0,sigma_x,sky))**2.)
    return 0.5*np.sum((radial[1]-gauss1d(radial[0],amplitude,0,sigma_x,sky))**2.)

###############################################################################
###############################################################################

#def onmove(event):
        #if event.inaxes:
		#just update the labeltext
		#labeltext.set('X: '+str(int(event.ydata)+x-new_image_halfwidth))
		#label2text.set('Y: '+str(int(event.xdata)+y-new_image_halfwidth))
		#label3text.set('Value: '+str(d.get('data physical '+str(int(event.ydata)+x-new_image_halfwidth)+' '+str(int(event.xdata)+y-new_image_halfwidth)+' 1 1 yes')))

def onpress(event):
        if event.key=='p':
            	filename=d.get('file')
		#hdu=fits.open(filename)
		hdu=d.get_pyfits()
		data=hdu[0].data
		x=d.get('crosshair image')
		x,y=x.split()
		x,y=int(float(x)),int(float(y))

		new_image_halfwidth=int(entry1.get())
		aperture_radius=int(entry2.get())
		inner_sky_radius=int(entry3.get())
		outer_sky_radius=int(entry4.get())

		new_image=data[y-new_image_halfwidth:y+new_image_halfwidth,x-new_image_halfwidth:x+new_image_halfwidth]

		x_grid=np.arange(x-new_image_halfwidth,x+new_image_halfwidth,1)
		y_grid=np.arange(y-new_image_halfwidth,y+new_image_halfwidth,1)
		x_grid, y_grid = np.meshgrid(x_grid, y_grid)
		guess=(np.amax(new_image)-new_image[0,0],x,y,3,3,0,new_image[0,0])
		popt,pcov=curve_fit(gauss2d,(x_grid,y_grid),new_image.ravel(),p0=guess)
		#print popt
		x=int(popt[1])
		y=int(popt[2])
                labeltext.set('X: '+str(x))
                label2text.set('Y: '+str(y))

		new_image=data[y-new_image_halfwidth:y+new_image_halfwidth,x-new_image_halfwidth:x+new_image_halfwidth]
        	# for artist in ax1.get_children():
            	# 	if hasattr(artist,'get_label') and artist.get_label()=='centroid':
                # 		artist.remove()
		ax1.clear()
        	ax1.matshow(np.flip(new_image,axis=0),cmap='gray',origin='upper',clim=zscale(new_image),zorder=0)
    		ax1.scatter([new_image_halfwidth+1],[new_image_halfwidth-1],marker='+',s=120,c='k',zorder=1)#ax1.scatter([popt[1]-x+new_image_halfwidth],[popt[2]-y+new_image_halfwidth],marker='+',s=120,c='k',zorder=1)
		aperture_circle=plt.Circle((popt[1]-x+new_image_halfwidth,popt[2]-y+new_image_halfwidth),radius=aperture_radius,linewidth=3,color='hotpink',fill=False,lw=3,zorder=2)
		ax1.add_patch(aperture_circle)
		inner_sky=plt.Circle((popt[1]-x+new_image_halfwidth,popt[2]-y+new_image_halfwidth),radius=inner_sky_radius,linewidth=3,color='lime',fill=False,zorder=2)
		ax1.add_patch(inner_sky)
		outer_sky=plt.Circle((popt[1]-x+new_image_halfwidth,popt[2]-y+new_image_halfwidth),radius=outer_sky_radius,linewidth=3,color='red',fill=False,zorder=2)
		ax1.add_patch(outer_sky)
		canvas.draw()

		#update the radial plot
		ax2.clear()
		radial=radial_profile(new_image,[new_image_halfwidth,new_image_halfwidth])
		#perform the aperture photometry
		#currently 2% different from IDL atv
		aperture=CircularAperture((x,y),r=aperture_radius)
		annulus=CircularAnnulus((x,y),r_in=inner_sky_radius,r_out=outer_sky_radius)
		phot_table=aperture_photometry(data,[aperture,annulus])
		#new background estimation
		bkg_mask=np.ma.masked_outside(radial[0].reshape(new_image.shape),inner_sky_radius,outer_sky_radius)
		bkg_map=Background2D(new_image,tuple(np.array(new_image.shape)/4),mask=bkg_mask.mask,exclude_mesh_method='all')
		bkg_map_med=MMMBackground().calc_background(bkg_map.data)#bkg_map_med=np.median(bkg_map.background)
		#print 'Map sky mean '+str(bkg_map_med)
		#bkg_mean=phot_table['aperture_sum_1']/annulus.area()
		#print 'Aperture sky mean '+str(bkg_mean)
		#phot_table['residual_aperture_sum']=phot_table['aperture_sum_0']-bkg_mean*aperture.area()
		phot_table['residual_aperture_sum']=phot_table['aperture_sum_0']-bkg_map_med*aperture.area()
		#print 'Map sky result: '+str(phot_table['aperture_sum_0']-bkg_map_med*aperture.area())
		#print "Aperture Photometry Result: "+str(phot_table['residual_aperture_sum'])
                label8text.set('Sky Value: '+str(int(bkg_map_med)))
		label9text.set('Aperture Counts: '+str(int(phot_table['residual_aperture_sum'][0])))
                label10text.set('Mag: '+str(-2.5*np.log10(int(phot_table['residual_aperture_sum'][0]))+25.)[:5])

		ax2.scatter(radial[0],radial[1])
                if var10.get()==1:
			ax2.plot(np.linspace(0,new_image_halfwidth,num=50),gauss1d(np.linspace(0,new_image_halfwidth,num=50),popt[0],0,np.mean([popt[3],popt[4]]),popt[6]),c='k',lw=2)
			ax2.text(0.5,0.93,'Gaussian FWHM: '+str(2.35482*np.mean([popt[3],popt[4]]))[:5],transform=ax2.transAxes,fontsize=int(15*scaling))
	    	if var11.get()==1:
                    	moffat1d_guess=(np.amax(new_image)-bkg_map_med,0,3,1,bkg_map_med)
		    	popt2,pcov2=curve_fit(moffat1d,radial[0],radial[1],p0=moffat1d_guess)
			ax2.plot(np.linspace(0,new_image_halfwidth,num=50),moffat1d(np.linspace(0,new_image_halfwidth,num=50),popt2[0],popt2[1],popt2[2],popt2[3],popt2[4]),c='r',lw=2)
                        ax2.text(0.5,0.85,'Moffat FWHM: '+str(2.0*popt2[2]*np.sqrt(2.0**(1./popt2[3])-1.))[:5],transform=ax2.transAxes,fontsize=int(15*scaling))
		ax2.grid(True,color='white',linestyle='-',linewidth=1)
		ax2.set_axisbelow(True)
		ax2.autoscale(False)
		ax2.set_xlim([0,new_image_halfwidth])
		ax2.set_xlabel('Radius (Pixels)')
		ax2.set_ylim([np.amin(radial[1]),np.amax(radial[1])])
		ax2.set_axis_bgcolor('0.85')
		ax2.axvline(aperture_radius,linewidth=2,color='hotpink')
		ax2.axvline(inner_sky_radius,linewidth=2,color='lime')
		ax2.axvline(outer_sky_radius,linewidth=2,color='red')
                ax2.axhline(bkg_map_med,linewidth=2,color='yellow')
		canvas2.draw()

def handler():
        open_opt=open(install_path+'phot_vars.py','r')
        linedata=open_opt.readlines()
        open_opt.close()
        linedata[0]='new_image_halfwidth_default='+entry1.get()+'\n'
        linedata[1]='aperture_radius='+entry2.get()+'\n'
        linedata[2]='inner_sky_radius='+entry3.get()+'\n'
        linedata[3]='outer_sky_radius='+entry4.get()+'\n'
	new_str=''
        for j in linedata:new_str+=j
        open_opt=open(install_path+'phot_vars.py','w')
        open_opt.write(new_str)
        open_opt.close()

def update():
	MyObject = type('MyObject', (object,), {})
	obj = MyObject()
	obj.key = 'p'
	handler()
	onpress(obj)

####################################main#######################################
#import the user defined display parameters
from phot_vars import *

## tkinter integration
root=tk.Tk()
#set title
root.title("Aperture Photometry")

scaling=0.75

label4text = tk.StringVar()
label4text.set('Half Width of Star Window')
label4 = tk.Label(root, textvariable=label4text, height=1)
label4.config(font=("Verdana", int(16*scaling)))
label4.grid(row=2,column=0,columnspan=1)

#set the width of the entry box column
#root.columnconfigure(2,width=

entry1=tk.Entry(root)
entry1.insert(0,str(new_image_halfwidth_default))
entry1.grid(row=2,column=2)
new_image_halfwidth=int(entry1.get())

label5text = tk.StringVar()
label5text.set('Aperture Radius (pix)')
label5=tk.Label(root, textvariable=label5text, height=1)
label5.config(font=("Verdana", int(16*scaling)))
label5.grid(row=3,column=0,columnspan=1)

entry2=tk.Entry(root)
entry2.insert(0,str(aperture_radius))
entry2.grid(row=3,column=2)
aperture_radius=int(entry2.get())

entry3=tk.Entry(root)
entry3.insert(0,str(inner_sky_radius))
entry3.grid(row=4,column=2)
inner_sky_radius=int(entry3.get())

label6text = tk.StringVar()
label6text.set('Inner Sky Radius (pix)')
label6=tk.Label(root, textvariable=label6text, height=1)
label6.config(font=("Verdana", int(16*scaling)))
label6.grid(row=4,column=0,columnspan=1)

entry4=tk.Entry(root)
entry4.insert(0,str(outer_sky_radius))
entry4.grid(row=5,column=2)
outer_sky_radius=int(entry4.get())

label7text = tk.StringVar()
label7text.set('Outer Sky Radius (pix)')
label7=tk.Label(root, textvariable=label7text, height=1)
label7.config(font=("Verdana", int(16*scaling)))
label7.grid(row=5,column=0,columnspan=1)

#label10text = tk.StringVar()
#label10text.set('Gaussian PSF')
#label10=tk.Label(root,textvariable=label10text,height=1)
#label10.config(font=("Verdana",12))
#label10.grid(row=2,column=3,columnspan=1)
var10 = tk.IntVar()
var10.set(1)
tk.Checkbutton(root, text="Gaussian PDF", font=("Verdana",int(16*scaling)), variable=var10,command=update).grid(row=2, column=3,columnspan=1)

var11 = tk.IntVar()
var11.set(1)
tk.Checkbutton(root, text="Moffat PDF", font=("Verdana",int(16*scaling)), variable=var11,command=update).grid(row=2, column=4,columnspan=1)

b = tk.Button(root, text="Update Parameters",command=update)#width=15
b.grid(row=6,column=1)

d=pyds9.DS9()
filename=d.get('file')
#hdu=fits.open(filename)
hdu=d.get_pyfits()
data=hdu[0].data

x=d.get('crosshair image')
x,y=x.split()
x,y=int(float(x)),int(float(y))

new_image=data[y-new_image_halfwidth:y+new_image_halfwidth,x-new_image_halfwidth:x+new_image_halfwidth]

x_grid=np.arange(x-new_image_halfwidth,x+new_image_halfwidth,1)
y_grid=np.arange(y-new_image_halfwidth,y+new_image_halfwidth,1)
x_grid, y_grid = np.meshgrid(x_grid, y_grid)
#guess=(np.amax(new_image)-new_image[0,0],x,y,3,3,0,new_image[0,0])
guess=(np.amax(new_image)-new_image[0,0],x_grid[new_image==np.amax(new_image)][0],y_grid[new_image==np.amax(new_image)][0],3,3,0,new_image[0,0])
#def gauss2d((x, y), amplitude, xo, yo, sigma_x, sigma_y, theta, offset):
popt,pcov=curve_fit(gauss2d,(x_grid,y_grid),new_image.ravel(),p0=guess)

#guess=(x,y,np.amax(new_image)-new_image[0,0],3,new_image[0,0])
#def radial_profile_gauss1d_chisquare((x,y,amplitude,sigma_x,sky),image):
#popt,pcov=curve_fit(gauss1d,x_grid,radial_profile(new_image,[new_image_halfwidth,new_image_halfwidth]),p0=guess)
#popt=minimize(radial_profile_gauss1d_chisquare,guess,args=(new_image),options={'maxiter':500},method = 'BFGS',bounds=((0,2*new_image_halfwidth),(0,2*new_image_halfwidth),(0,65534),(0,np.inf),(0,np.inf)))

#print popt
x=int(popt[1])
y=int(popt[2])

new_image=data[y-new_image_halfwidth:y+new_image_halfwidth,x-new_image_halfwidth:x+new_image_halfwidth]

#plot the star in the image, in zscale
fig=Figure(figsize=(int(6*scaling),int(6*scaling)))
ax1=fig.add_axes([0,0,1,1])
ax1.matshow(np.flip(new_image,axis=0),cmap='gray',origin='upper',clim=zscale(new_image),zorder=0)
ax1.autoscale(False)
ax1.scatter([new_image_halfwidth+1],[new_image_halfwidth-1],marker='+',s=120,c='k',zorder=1)#ax1.scatter([popt[1]-x+new_image_halfwidth],[popt[2]-y+new_image_halfwidth],marker='+',s=120,c='k',label='centroid',zorder=1)
aperture_circle=plt.Circle((popt[1]-x+new_image_halfwidth,popt[2]-y+new_image_halfwidth),radius=aperture_radius,linewidth=3,color='hotpink',fill=False,zorder=2)
ax1.add_patch(aperture_circle)
inner_sky=plt.Circle((popt[1]-x+new_image_halfwidth,popt[2]-y+new_image_halfwidth),radius=inner_sky_radius,linewidth=3,color='lime',fill=False,zorder=2)
ax1.add_patch(inner_sky)
outer_sky=plt.Circle((popt[1]-x+new_image_halfwidth,popt[2]-y+new_image_halfwidth),radius=outer_sky_radius,linewidth=3,color='red',fill=False,zorder=2)
ax1.add_patch(outer_sky)

radial=radial_profile(new_image,[new_image_halfwidth,new_image_halfwidth])
#perform the aperture photometry
#currently 2% different from IDL atv
aperture=CircularAperture((x,y),r=aperture_radius)
annulus=CircularAnnulus((x,y),r_in=inner_sky_radius,r_out=outer_sky_radius)
phot_table=aperture_photometry(data,[aperture,annulus])
#new background estimation
bkg_mask=np.ma.masked_outside(radial[0].reshape(new_image.shape),inner_sky_radius,outer_sky_radius)
bkg_map=Background2D(new_image,tuple(np.array(new_image.shape)/4),mask=bkg_mask.mask,exclude_mesh_method='all')
bkg_map_med=MMMBackground().calc_background(bkg_map.data)#bkg_map_med=np.median(bkg_map.background)
#print 'Map sky mean '+str(bkg_map_med)
#bkg_mean=phot_table['aperture_sum_1']/annulus.area()
#print 'Aperture sky mean '+str(bkg_mean)
#phot_table['residual_aperture_sum']=phot_table['aperture_sum_0']-bkg_mean*aperture.area()
phot_table['residual_aperture_sum']=phot_table['aperture_sum_0']-bkg_map_med*aperture.area()
#print 'Map sky result: '+str(phot_table['aperture_sum_0']-bkg_map_med*aperture.area())
#print "Aperture Photometry Result: "+str(phot_table['residual_aperture_sum'])
fig2=Figure(figsize=(int(6*scaling),int(6*scaling)))
fig2.set_facecolor('0.85')
ax2=fig2.add_axes([0.1,0.1,.9,.9])
ax2.grid(True,color='white',linestyle='-',linewidth=1)
ax2.set_axisbelow(True)
ax2.scatter(radial[0],radial[1])
ax2.plot(np.linspace(0,new_image_halfwidth,num=50),gauss1d(np.linspace(0,new_image_halfwidth,num=50),popt[0],0,np.mean([popt[3],popt[4]]),popt[6]),c='k',lw=2)

#guess=(np.amax(new_image)-new_image[0,0],x,y,3,3,0,new_image[0,0])
#popt,pcov=curve_fit(gauss2d,(x_grid,y_grid),new_image.ravel(),p0=guess)
#moffat1d(x,amplitude,xo,gamma,alpha,offset):
#def moffat1d(x,amplitude,xo,alpha,beta,offset):
    #fwhm is 2*gamma
    #return (amplitude*(1.+((x-xo)/alpha)**2.)**-beta)+offset
moffat1d_guess=(np.amax(new_image)-bkg_map_med,0,3,1,bkg_map_med)
popt2,pcov2=curve_fit(moffat1d,radial[0],radial[1],p0=moffat1d_guess)
#moffat2d_guess=(np.amax(new_image)-bkg_map_med,x,y,3.0,3.0,10.**-8.,1.,bkg_map_med)
#popt3,pcov3=curve_fit(moffat2d,(x_grid,y_grid),new_image.ravel(),p0=moffat2d_guess)
# plt.scatter(radial[0],radial[1])
# plt.plot(radial[0],moffat1d(radial[0],popt2[0],popt2[1],popt2[2],popt2[3],popt2[4]))
# plt.show()
ax2.plot(np.linspace(0,new_image_halfwidth,num=50),moffat1d(np.linspace(0,new_image_halfwidth,num=50),popt2[0],popt2[1],popt2[2],popt2[3],popt2[4]),c='r',lw=2)
ax2.text(0.5,0.85,'Moffat FWHM: '+str(2.0*popt2[2]*np.sqrt(2.0**(1./popt2[3])-1.))[:5],transform=ax2.transAxes,fontsize=15*scaling)

ax2.autoscale(False)
ax2.set_xlim([0,new_image_halfwidth])
ax2.set_xlabel('Radius (Pixels)')
ax2.set_ylim([np.amin(radial[1]),np.amax(radial[1])])
ax2.text(0.5,0.93,'Gaussian FWHM: '+str(2.35482*np.mean([popt[3],popt[4]]))[:5],transform=ax2.transAxes,fontsize=15*scaling)
ax2.set_axis_bgcolor('0.85')
ax2.axvline(aperture_radius,linewidth=2,color='hotpink')
ax2.axvline(inner_sky_radius,linewidth=2,color='lime')
ax2.axvline(outer_sky_radius,linewidth=2,color='red')
ax2.axhline(bkg_map_med,linewidth=2,color='yellow')

canvas=FigureCanvasTkAgg(fig,master=root)
plot_widget=canvas.get_tk_widget()
plot_widget.grid(row=0,column=0,columnspan=3)

canvas2=FigureCanvasTkAgg(fig2,master=root)
plot_widget=canvas2.get_tk_widget()
plot_widget.grid(row=0,column=3,columnspan=3)

#initialize label object
label0text = tk.StringVar()
#set label value
label0text.set('Centroid: ')
label0 = tk.Label(root, textvariable=label0text, height=1)
label0.config(font=("Verdana", int(16*scaling),'bold'))
label0.grid(row=1,column=0) #adds the label to the program's grid

#initialize label object
labeltext = tk.StringVar()
#set label value
labeltext.set('X: '+str(x))
label1 = tk.Label(root, textvariable=labeltext, height=1)
label1.config(font=("Verdana", int(16*scaling)))
label1.grid(row=1,column=1) #adds the label to the program's grid

#initialize label object
label2text = tk.StringVar()
#set label value
label2text.set('Y: '+str(y))
label2 = tk.Label(root, textvariable=label2text, height=1)
label2.config(font=("Verdana", int(16*scaling)))
label2.grid(row=1,column=2) #adds the label to the program's grid

#initialize label object
# label3text = tk.StringVar()
# label3text.set('Value: '+str(d.get('data physical '+str(x)+' '+str(y)+' 1 1 yes')))
# label3 = tk.Label(root, textvariable=label3text, height=1)
# label3.config(font=("Verdana", 12))
# label3.grid(row=1,column=2)

label8text = tk.StringVar()
label8text.set('Sky Value: '+str(int(bkg_map_med)))
label8=tk.Label(root, textvariable=label8text, height=1)
label8.config(font=("Verdana", int(16*scaling)))
label8.grid(row=1,column=3)

label9text = tk.StringVar()
label9text.set('Aperture Counts: '+str(int(phot_table['residual_aperture_sum'][0])))
label9=tk.Label(root, textvariable=label9text, height=1)
label9.config(font=("Verdana", int(16*scaling)))
label9.grid(row=1,column=4)

label10text = tk.StringVar()
label10text.set('Mag: '+str(-2.5*np.log10(int(phot_table['residual_aperture_sum'][0]))+25.)[:5])
label10=tk.Label(root, textvariable=label10text, height=1)
label10.config(font=("Verdana", int(16*scaling)))
label10.grid(row=1,column=5)

#canvas.mpl_connect('motion_notify_event',onmove)
canvas.mpl_connect('key_press_event',onpress)
#root.protocol('WM_DELETE_WINDOW',handler)
root.mainloop()

redpajama_set_name: RedPajamaGithub


Moringa powder has been flying off the shelves lately, and if you haven't tried this superfood yet, you might be wondering what is moringa and what all the fuss is about.
Moringa has been used in Pakistan, India, and Nepal for thousands of years to treat and prevent many types of health conditions.
The natural wellness industry finally caught on to this superfood, and it has become a popular supplement.
Its ability to treat and heal the cardiovascular system, digestive disorders, allergies, and many other ailments have been proven in over a thousand studies.
When you've got that much research to back a nutritional supplement up, you can be pretty sure it's worth the hype.
Let's talk a little bit more about what is moringa before we delve into the moringa health benefits and where you can get it!
Moringa oleifera is a small tree that's native to India, but you can find it all over Asia, Africa, and South America. It's also called the ben oil tree, drumstick tree, and horseradish tree.
Its leaves are dried and ground into a powder that can be mixed into liquid or drunk as a tea. Many people love adding it to a smoothie for the extra oomph it gives them in the morning.
It only takes a couple of spoonfuls to get amazing benefits!
Not only is it easy to find in health food stores and at the market, but it will be around for a long time because of how easy it is to grow and cultivate.
The moringa tree isn't just a supplement, though. It's being used by conservationists to restore depleted forests and soil, and for water filtration, which has a big impact on third world populations.
Gram for gram, moringa has twice the protein as yogurt, seven times the vitamin C as oranges, and a whopping four times the calcium as cow's milk. It's also an excellent source of vitamin A and potassium.
In fact, it's one of the most nutrient-dense superfoods out there, which is one of the reasons why organizations like WHO use it in third world countries to supplement low calorie and poor diets.
Amino acids are important to overall health, and moringa has 18 of them, including eight essential amino acids. (2) It's also rich in flavonoids and EGCG, which are powerful antioxidants that boost the immune system.
It's a complete plant protein, which is SO important if you're a vegan. It's also gluten-free and caffeine-free, so it's the perfect superfood for sensitive people.
An immune system gone wild can cause chronic inflammation and oxidative stress that results in health issues like arthritis, chronic pain, digestion and bowel problems, heart disease, MS, asthma, allergies, cancer, and so much more.
The great thing about it is that it doesn't have the same long-term side-effects as conventional medical treatments for these issues.
The CDC states that over 23% of the American adult population has symptoms of arthritis, a disease caused by inflammation of the joints.
The problem with most drugs used to treat it is that long-term use can cause high blood pressure, liver damage, and stomach ulcers. Moringa is a safe and clinically proven alternative to NSAIDS and steroids.
Researchers are starting to recognize that inflammation has a lot to do with mental health.
Moringa's anti-inflammatory properties can help combat depression and anxiety naturally.
It's anti-bacterial and anti-fungal, so it's going to fight infections both internally and on the skin. Pair that with its ability to reduce inflammation, and it's a great treatment for acne.
Athlete's foot is a common fungal infection that happens between the toes when feet are too moist in shoes for a long period of time. Moringa is a natural way to get rid of it and helps decrease the stinky odor that's a result of it.
Moringa oil is one of those magical products that works as an astringent, so you can put it on your skin to dry out pimples while leaving it hydrated.
It restores the skin's natural moisture barrier, so it protects it, too.
Free radical damage is known to cause oxidative stress that damages cells and ages us on both the inside and the outside. Moringa's incredible antioxidants reverse this damage and even keep it from happening.
High blood sugar makes other serious health problems like heart disease even worse, so its health risks are pretty substantial.
Moringa has chlorogenic acid and isothiocyanates in it, which help protect the body against diabetes. Chlorogenic acid controls blood sugar levels by helping cells process glucose.
Adding moringa to a healthy diet that controls blood sugar can be beneficial whether you are type 1 or type 2.
There are plenty of reasons why your gut might be giving you trouble. Maybe you're making not so great food choices, live or work in an especially toxic environment, or you've got a health issue causing the problem.
Whatever the deal is, moringa can help your digestive tract in many ways.
One reason that many people have poor gut health is that, for whatever reason, they aren't getting enough nutrients.
There's a vicious cycle we can get into with our digestive system; we need it to be healthy, so we can process nutrients, but we need nutrients to keep it healthy!
Moringa is packed full of vitamins and minerals, including thiamin, niacin, and vitamins B2 and B3, which help metabolism and the breaking down of food.
Another reason is that moringa has 40 anti-inflammatory compounds that help produce good gut flora and reduce the bad, and reduce bloating, gas, and constipation.
It also detoxes the liver and gets rid of heavy metals and infections like yeast and H. pylori, a pathogen that can be responsible for ulcers, colitis, and gastritis. (6) It mops all this junk up and gets it out of the digestive system.
Clean water is a big issue everywhere nowadays, not just in third world countries. Moringa seeds can be used to get rid of bacteria and other impurities that might be lurking in your drinking water.
The seeds have a positively charged protein called Moringa Oleifera Cationic Protein which kills many of the microorganisms that make water undrinkable and cause them to clump together and settle to the bottom of whatever container the water's in.
The Impurities also stick to the seeds. You can crush them up, put them in water, let them sit for a bit, then pour the water through a strainer.
The really cool thing about using crushed moringa seeds to purify water is that you can use them as fertilizer for your plants. It helps plants resist pests and certain diseases.
There are a dozen different types, so make sure the kind you get is moringa oleifera. It's the only one that has all the awesome healing properties we've been discussing.
It's grown primarily in the east and middle eastern parts of the world, so it's very difficult to get fresh unless you live in that part of the world. In North America and Europe, it's usually sold in powdered form or dried.
The leaves will give you the best benefits, but some people don't like their flavor much. They taste a little bit like spicy asparagus (yuck).
If that doesn't sound appetizing to you, take them in capsule form, or get the powder and add it to a smoothie or green juice.
If you don't mind the flavor, you can take it in tea form. Try not to boil the leaves because they can lose their healing properties.
The pods from the moringa seeds have a high concentration of protein in them, and they taste good when they're roasted (like pumpkin seeds). You can also eat them just like nuts for a quick protein boost.
Moringa oil is sometimes called ben oil, and you can use it topically for skin issues.
Watch out for moringa that's been mixed with synthetic ingredients because it can decrease it's healing properties.
It's also advised that pregnant woman not take it because it can lead to contractions of the uterus.
If you enjoyed this article on what is moringa or have any questions, please leave them in the comment section below!
Hi Karen. Our 21 Day Fat Loss Program would help with the weight loss, but it does include lots of vegetables. As for other health conditions, you will need to consult your doctor.


text:
Cyrus Colton MacDuffee
Ph.D. The University of Chicago 1921
Dissertation: Invariantive Characterizations of Linear Algebras with the Associative Law Not Assumed
Advisor: Leonard Eugene Dickson
Andree, Richard University of Wisconsin-Madison 1949 17
Bell, Howard University of Wisconsin-Madison 1961
Bush, Laurens The Ohio State University 1931
Campbell, Howard University of Wisconsin-Madison 1949 5
Deskins, Wilbur University of Wisconsin-Madison 1953 24
Dinnen, Gerald University of Wisconsin-Madison 1952
Everett, Jr., Cornelius University of Wisconsin-Madison 1940 120
Fulkerson, Delbert University of Wisconsin-Madison 1951 18
Fuller, Leonard University of Wisconsin-Madison 1950
Goldhaber, Jakob University of Wisconsin-Madison 1950 8
Hachmeister, Violet University of Wisconsin-Madison 1950
Hummel, Paul The Ohio State University 1936
Jenkins, Emerson The Ohio State University 1935
Johnson, Richard University of Wisconsin-Madison 1941
Kiokemeister, Fred University of Wisconsin-Madison 1940
Lester, Caroline University of Wisconsin-Madison 1937
Mitchell, Benjamin University of Wisconsin-Madison 1951
Morrison, Donald University of Wisconsin-Madison 1950
Pearl, Martin University of Wisconsin-Madison 1955 4
Rinehart, Robert The Ohio State University 1935 21
Robinson, Wilbur The Ohio State University 1934
Ryser, Herbert University of Wisconsin-Madison 1948 119
Shover, Carolyn The Ohio State University 1931
Stewart, Bonnie University of Wisconsin-Madison 1941 22
Strehler, Allen University of Wisconsin-Madison 1949
Thurston, Herbert University of Wisconsin-Madison 1942
Wagner, Raphael University of Wisconsin-Madison 1946
Ward, James University of Wisconsin-Madison 1940
Wiegmann, Norman University of Wisconsin-Madison 1947 2
Wilson, Robert University of Wisconsin-Madison 1947
According to our current on-line database, Cyrus MacDuffee has 30 students and 270 descendants.
If you have additional information or corrections regarding this mathematician, please use the update form. To submit students of this mathematician, please use the new data form, noting this mathematician's MGP ID of 6071 for the advisor ID.


text:
Executive Leadership TeamJoel Collazo2019-04-12T09:49:53-05:00
Jaysen Roa – President & CEO
Jaysen Roa joined Avow as President & CEO in October, 2015.
Prior to joining Avow, Roa served as Executive Director at Good Shepherd Hospice, Inc. an affiliate of Chapters Health System, Inc. based in Lakeland, Florida, and was responsible for the daily operations of the hospice's 550 patients, 300-plus staff and three free-standing inpatient facilities. Roa's extended hospice experience includes directing clinical, business development, fundraising and community relations operations and ensuring regulatory compliance. He developed and implemented a pediatric palliative care program and has engaged in local, state and national efforts to promote recommended hospice legislative actions.
Prior to working at Good Shepherd Hospice, Roa held leadership positions at Hernando Pasco Hospice (HPH), Inc. and worked at Hospice of Citrus County, Inc., both based in Florida.
Roa is a Certified Hospice Administrator who holds a master's in business administration and master's in health administration from Webster University in St. Louis, Missouri and a bachelor of arts degree in psychology from University of South Florida in Tampa.
Phyllis Hall – Chief Financial Officer
Phyllis Hall joined Avow in October, 2015. As Chief Financial Officer, she is responsible for the management and general oversight of financial operations, patient accounts, facilities and information technology.
Hall is a Certified Public Accountant and earned a bachelor of business administration degree in Accounting at the University of Wisconsin. Hall joined University Hospitals Management Services (a physician management services business) in 1998 as chief financial officer.
Prior to joining Avow, Hall was Vice President and Executive Director of University Hospitals Management Services Organizations, University Hospitals Medical Group and University Hospital Practices based in Cleveland, Ohio.
Annalise Smith – Senior Vice President of Philanthropy
Annalise Smith is a certified hospice administrator and currently serves as senior vice president of engagement for Avow. Her responsibilities include managing Avow's marketing and outreach programs and developing new resources to support the agency's nonprofit hospice, palliative care and grief support services.
Annalise is past chair of the executive board of the Parkinson's Association of SW Florida, past president of Naples Interagency Council, and a member of the PASFI Governance Committee. She is a 2010 graduate of the Leadership Collier program and serves her college sorority, Alpha Gamma Delta, as treasurer of the SW Florida Alumnae Club.
Annalise completed her bachelor of science degree in family, child and consumer sciences from Florida State University and earned a graduate business certificate in health services management from Keiser University. She also holds a master's degree in health services administration from Hodges University. During her undergraduate tenure, she was appointed to the Seminole Torchbearers leadership society.
Annalise has been a resident of Collier County since 2001. She and her husband Brent have two children, Tyler and Lydia.
Kerri Ervin – Chief Compliance Officer and Senior Vice President of Engagement
Kerri Ervin
joined Avow in October, 2015. As Chief Financial Officer, she is responsible for the management and general oversight of financial operations, patient accounts, facilities and information technology.
Cynthia Nehrkorn – MD, Vice President of Medical Services
Dr. Cynthia Nehrkorn joined Avow in 2003. She holds a bachelor of science degree in pharmacy from the Temple University School of Pharmacy and doctor of medicine degree from St. Louis University School of Medicine. Dr. Nehrkorn conducted her residency in internal medicine at Georgetown University Medical Center.
Katharen Chamberlain – Vice President, Administration & Communications
Katharen "Kit" Chamberlain is vice president of administration and communications at Avow. She joined the company in 2002. Chamberlain holds a master's degree in English from Michigan State University and was certified in strategic communication management by Ithaca College of New York in 2013.
Rebecca Gatian – Chief Clinical Officer
Rebecca Gatian joined Avow in 2012 and serves as Chief Clinical Officer and is responsible for the direction and oversight of admissions, clinical teams, Children's Services and administrative staff. Working in conjunction with leaders, Gatian provides vision and leadership to create and maintain a best-practice environment and superior and compliant patient care delivery system.
Gatian has worked in the healthcare sector for over 20 years. Her experience includes nursing home administration with Genesis HealthCare, acute care nursing and extended care director roles with Meritus Health, pediatric homecare experience and cardiac unit nursing at West Virginia University Hospital. Gatian's hospice experience began at Hospice Care Corporation and included serving as compliance officer and director of nursing.
Gatian is a Florida licensed assisted living facility administrator and registered nurse, an Alzheimer's certified trainer, a certified hospice and palliative care nurse, and a certified hospice and palliative care administrator.
Gatian earned a bachelor of science degree in health science from Slippery Rock University in Pennsylvania, a master of business administration degree from Frostburg State University, and a bachelor of science degree in nursing from Mountain State University.
Gatian is a member of the national and local chapters of the Hospice and Palliative Nurses Association and serves on the board of the SWFL HPNA.
She lives in Naples with her husband Brad and son Nick, and enjoys running, traveling and time at the beach.


text:
The policeman and driver
The policeman approaches the driver's door.
"Is there a problem, Officer?"
The policeman says, "Sir, you were speeding. Can I see your licence please?"
The driver responds, "I'd give it to you but I don't have one."
"You don't have one?"
The man responds, "I lost it four times for drink driving"
The policeman is shocked. "I see. Can I see your vehicle registration papers please?"
"I'm sorry, I can't do that"
The policeman says, "Why not?"
"I stole this car"
The officer says, "Stole it?"
The man says, "Yes, and I killed the owner"
At this point the officer is getting irate. "You what?"
"He's in the boot if you want to see"
The Officer looks at the man and slowly backs away to his car and calls for back up.
Within minutes, five police cars show up, surrounding the car.
A senior officer slowly approaches the car, clasping his half-drawn gun.
The senior officer says, "Sir, could you step out of your vehicle please!"
The man steps out of his vehicle. "Is there a problem, sir?"
"One of my officers told me that you have stolen this car and murdered the owner"
"Murdered the owner?"
The officer responds, "Yes, could you please open the boot of your car please?"
The man opens the boot, revealing nothing but an empty boot.
The officer says, "Is this your car sir?"
The man says, "Yes" and hands over the registration papers.
The officer, understandably, is quite stunned. "One of my officers claims that you do not have a driving licence"
The man digs in his pocket revealing a wallet and hands it to the officer.
The officer opens the wallet and examines the licence.
He looks quite puzzled.
"Thank you, sir. One of my officers told me you didn't have a licence, stole this car, and murdered the owner"
The man replies, "I bet you the lying bastard told you I was speeding, too!"
Only One Kiss Per Yard
Magic Buns


The UFC's return to Russia has a new main event after Aleksei Oleinik was tapped to replace Alexander Volkov in the headline fight against Alistair Overeem on April 20 in Saint Petersburg.
There's no word on what happened to Volkov but it appears he was pulled from the card and the UFC sought out a replacement to face Overeem in the main event.
Oleinik steps into the fight with a 4-1 record in his past five fights including submission victories over Mark Hunt, Junior Albini and Travis Browne.
The crafty ground specialist has quietly been creeping up the rankings in the heavyweight division and now he'll face a former title contender in Overeem when they clash on April 20.
Overeem comes into the fight off a TKO victory in his last performance against Sergey Pavlovich in his UFC debut.
Overeem vs. Oleinik will now headline the second UFC card from Russia and first event held in Saint Petersberg.


text:
Search Pulse 2.0
Seattle-Based Digital Prescribing Platform Xealth Secures $11 Million
By Annie Baker ● April 5, 2019
Photo: Xealth
Seattle-based digital prescribing platform company Xealth announced it has raised $11 million in Series A funding. The investors in this round include McKesson Ventures, Novartis, Philips, ResMed and existing investors Threshold Ventures (formerly DFJ Venture), Providence Ventures, UPMC, and Froedtert and the Medical College of Wisconsin Health Network. With this funding round, Xealth is going to fuel the expansion of its platform to better connect patients and doctors.
Xealth enables clinicians to prescribe and monitor digital healthcare content, apps, devices, and services from within the electronic health record (EHR) charting interface. And it can be integrated into a health system's existing patient portal.
With these capabilities and the ability to onboard new digital care vendors in a fraction of the time, Xealth enables the delivery and measurement of digital care to improve patient care.
Xealth was originally incubated and launched at Providence St. Joseph Health in 2017. And the company also works with UPMC, the Froedtert and the Medical College of Wisconsin health network, Baylor Scott and White, Duke, and several other major health systems. There are more than 30 digital health solutions and over a million patient interactions that being prescribed by these partners for connecting patients with educational content, transportation, e-commerce product recommendations, meal delivery, and other services for improving health outcomes.
"With these new partners joining our existing investors and customers, Xealth will be serving virtually every sector of the health care industry—providers, payors, pharma, devices, and supply chain," said Xealth CEO Mike McSherry. "The Xealth platform is quickly becoming the preferred 'digital formulary.'"
Xealth's newest investors are supporting the application of innovative digital tools to transform multiple segments of the healthcare industry. For example, ResMed has integrated sleep apnea therapy data into more than 1,000 third-party systems including hospital EHRs. This enables clinicians to access data faster and provide more immediate care and improve patient outcomes.
ResMed was an early partner of Xealth at Providence to help the care for the 40,000 Providence patients who are using CPAP machines. And physicians use CPAP data to help patients better prepare for upcoming procedures along with monitoring how well the device is working to maintain health.
"Xealth delivers a win for both patients and clinicians while driving digital engagement with patients," added Providence St. Joseph Health chief digital officer Aaron Martin. "Clinicians can recommend apps, content, products or services directly from the EMR – dramatically expanding their tool set for improving patient care and engaging patients digitally."
Trending on Pulse 2.0
VMware Finalizes The $2.7 Billion Acquisition Of Pivotal
PwC Reveals Why Its $3 Billion Upskilling Program Is Important For Society
LinkedIn CEO Jeff Weiner: 'Satya Has Made Good' On Microsoft's Acquisition Agreement
How Google Is Using AI To Improve Breast Cancer Screening
Pepsi Has A New Tagline: 'That's What I Like'
Pulse 2.0 is a rapidly growing technology industry news and intelligence publication located in Ann Arbor, Michigan.
Learn 2.0
Midwest Tech
© 2020 Pulse 2.0 LLC. All rights reserved.


For transformers and LTCs to operate at their optimum level, transformer oil, a key part of the insulation system, must remain free of impurities that will lower its ability to function properly and efficiently. Three key impurities contribute significantly to the aging rate of a transformer: heat, oxygen and moisture. At least one, the moisture level, has a solution.
Every non-conservator equipped free breathing transformer/LTC has a headspace above the transformer oil level that is filled with a gaseous mixture. This headspace exists to allow for expansion and/or contraction of the oil volume due to load or environmental heating and cooling. During the heating cycle, the head space contracts, causing the transformer/LTC to exhale the differential volume of gas to the atmosphere. During the cooling cycle, the headspace expands, causing the transformer/LTC to inhale the differential volume from the atmosphere.
This air transfer without the use of a silica gel breather would contain the ambient level of moisture. This level could swing from 10% (Mojave Desert on a sunny day) to 99% during a foggy or rainy day anywhere in the USA. Why should we care? Because moisture in transformer oil affects the dielectric breakdown strength of oil, the temperature at which water vapor bubbles are formed, and the aging rate of the insulation materials (oil and paper), all of which could lead to a transformer failure.
What about transformers with conservators, are they not immune to moisture since the oil is protected from contact with ambient air by the rubber bladder? Yes and No. The bladder, when intact, does protect oil from ambient air. Degradation/Service aging of the bladder material over time can impair the life of the bladder. In addition, since no easy way exists to inspect the bladder without actually opening the conservator tank, a rupture can occur and go unnoticed. In this case, the oil has the same exposure to ambient air and moisture as a free-breathing transformer without a conservator tank.
Therefore, what type of silica gel breather should be used? What are the pros and cons of each system?
A static, "dumb" silica gel breather has a relatively low upfront cost. However, it has a finite capacity to absorb moisture, and, therefore, its life is difficult to predict due to the multiple variables involved with the weather and equipment loading. This type of breather requires frequent visual monitoring since the unit lacks any type of self-monitoring. Once the capacity of the unit has been reached, silica gel must be replaced with new or recycled dry silica gel to avoid moist air from entering the equipment.
A properly designed auto regenerating dehydrating breather has more upfront expense but eliminates the need for frequent monitoring and replacement. These breathers are self-monitoring with the capability of remote reporting and will function for many years with only minor annual inspections.
In conclusion, protecting the oil in a transformer or LTC from moisture contamination is readily accomplished with minimal attention by using an automatic regenerating dehydrating silica gel breather, such as the Waukesha® Dual Column Breather.
The latest generation Waukesha® Auto Regenerating Dehydrating Breather System (Dual Column Breather is designed to remove moisture from the air entering transformer, LTC and conservator tanks as well as other sealed tanks. Regeneration is accomplished using Positive Temperature Coefficient (PTC) solid state heaters located in the central column and controlled by an adjustable timer and humidity sensor to provide automatic recharging of the silica gel desiccant, eliminating the need for manual intervention. The humidity sensor constantly monitors air from the in-service column and will force a column shift if the air stream humidity reaches the trigger point, regardless of the timer setting. The use of dual columns ensures that the unit does not have to wait for a "quiet time," i.e. when the transformer in not inhaling, in order to regenerate. That enables the breather to have a fresh silica gel column continuously available for service. By adjusting the silica gel column regeneration cycle time, the system may be configured for various tank (air volumes) of 100 to 40,000 gallons or more.
During normal operation, air enters the breather through slots in the upper housing and passes through the desiccant to the center of the assembly. The center tube contains several holes along the entire length, forcing airflow to disperse through the maximum surface area of desiccant. Airflow then travels through the center tube, along a path—depending on the column in service—to the isolation solenoid and humidity sensor and eventually through the top port to the conditioned airspace.
During regeneration, a temperature regulating PTC heater element within the center tube of the column being regenerated, is energized to heat the desiccant to a specified temperature. Any moisture present in the desiccant is driven outward to the cooler borosilicate glass globe where it turns into condensate. The condensate runs to the bottom of the breather assembly where it is discharged through the water drain filter. In the arctic version, heat is automatically transferred to the drain to prevent freezing down to –50°C. During regeneration, the solenoid valve, located at the top of the breather assembly, isolates the column being regenerated while allowing the conditioned airspace to breathe through the column that is in-service. Once regeneration of the out-of-service column is complete (3 hours plus 30 minute cool down), the column is placed in stand-by mode. At the end of the in-service column cycle or if a column switch is triggered by the humidity sensor, the exhausted column is placed in regeneration mode and the stand-by column is placed in-service, ensuring a continuous supply of dry air to the conditioned airspace.
The Dual Column Breather system is shipped as a single integrated assembly and includes installed silica gel and accessories needed for mounting. The breather is constructed with a machined, anodized aluminum top, bottom and cast controls housing. Other components include heating elements, heat conductive fins, screen, condenser media and a filter vent system. Customer electrical and signal wiring is via conduit connections on the bottom of the control housing. The outer tube is optically clear borosilicate high strength glass. Sealed super bright LED lamps on the control cover provide clear visual indication of breather status, even in sunlight.
The Dual Column Breather systems feature an integrated PCB microcontroller that constantly monitors the condition of airflow through the breather. User adjustable, time-based controls regenerate the desiccant regardless of condition. Humidity sensing capability automatically overrides and regenerates the desiccant, if needed, between the set timer frequencies. Due to the dual column design, column regeneration is independent of the breathing status of the conditioned airspace.
The Dual Column Breather system is designed to be vertically mounted by means of four mounting tabs. Due to the dual column design, the mounting pattern is significantly different from our previous single column designs. An adapter plate is available from the previous mount pattern to that of the Dual Column Breather. An adapter kit is also available to accommodate the transition from previous cabled design to the conduit connections of the Dual Column Breather. The recommended connection to the conditioned space should be accomplished using standard flex hose and hose barbs (included), copper tubing, hard non-ferrous pipe or DIN 42562-5 flanged fitting.
In order to ensure that the Dual Column Breather system performs with exceptional reliability, it has been rigorously tested to IEC, EN, MIL and SPX Transformer Solutions internal standards. Five beta units are currently in service at diverse U.S. locations.


A fisherman finds a beautiful girl lying unconscious on the beach and soon starts falling in love with her.
Algo Flota Sobre el Agua is not available now.
Add this movie to your queue to receive more information about Algo Flota Sobre el Agua and we will let you know when it becomes available.


text:
Rawalpindi Ring Road Project
Leave a Comment / Uncategorized / By Abdullah
Rawalpindi Ring Road 2021
According to the latest news, the length of the Rawalpindi ring road is decreased to 38.3 kilometers from 64 kilometers. The 6 lane ring road will start from point Banth Rawalpindi and will end at Thalian interchange.
Prime minister of Pakistan Imran Khan and minister Usman Buzdar will lay the foundation stone of the project. According to the latest updated ring road project will be a 6 lane road with service roads on both sides of the ring road. The length of the project is decreased to 38.3 kilometers from 64km.
For Booking & Details Please Call/WhatsApp
+92 – 347 – 345 67 89
For the acquisition of the houses and land a budget of Rs.6.7 billion rupees will be dedicated. The starting point o the project is Banth Rawalpindi and the ending point is Thalian interchange. On the sides of the project, there will be 3 industrial zones, one health zone, education zone will be constructed.
On the 25th of December 2021, Prime Minister Imran Khan and Usman Buzdar will lay the foundation stone of the ring road project.
Rawalpindi Ring Road Construction
Ring Road Rawalpindi (RRR) is a combined project by the National and Provincial government of Punjab. Usually, a ring road is a completely circular road that facilitates the residents of megacities. Ring Road Rawalpindi (RRR) is a very long-awaited project by both the twin cities residents'. This project will bring new investment opportunities and will also bring down the pollution by reducing High Traffic Vehicle (HTV) traffic in the twin cities.
Bahria Enclave
This project is aimed to reduce the traffic in the cities as well as the pollution emitted by those vehicles. This ring road is the part of CPEC and will connect Rawat Industrial Estate to Fatehjang Road. The project will also increase the convenience of the cities and to the motorway. RRR is estimated to move around 50,000 vehicles per day and subsequently, this load will be taken off the twin cities' roads. Ring roads are developed worldwide by different nations for the purpose of creating ease for megacities. There are multiple ring roads already developed in Pakistan i.e. Lahore ring road and Peshawar ring road.
Ring road Rawalpindi Development
The development of the ring road has just begun, and it is estimated to be finished in the span of 2 years i.e. 2022. The Route has been finalized and it will be constructed with a bypass-construction design. This will allow easier access to heavy traffic traveling on G.T. Road that earlier had to pass through the Crowded city.
Ring Road Rawalpindi will be
360 ft. wide
6 flyovers
2 industrial zones (2000, 1000-acres land allocated)
10 overhead bridges
Educational city (7000 acres)
3 Satellite zones
State-of-the-art hospital (300 acres)
Community Center (80 acres)
Park and entertainment (200 acres)
Rawalpindi fruit and vegetable market will be shifted near the ring road
Fuel station
Rawalpindi Ring Road Interchanges
There are a total of 9 interchanges expected to be constructed strategically to create ease for businesses and residents
Channi Bridge Interchange
Chak Bali Road Interchange
Rawat Interchange
Gorakh Pur Interchange
Adyala Interchange
Dhamial Interchange
Chakri Interchange
Motorway Interchange
Fatehjang Interchange
(Names, Location, and number of interchanges may change in the future according to the requirements and needs)
Margalla Road Extension
Another piece of road will also be constructed by Capital Development Authority (CDA) from Sangjani GT road and will connect to Islamabad via Margalla road near the Faisal mosque. The main portion which will be constructed will start from the Thalian near M2 motorway and end up at Rawat. All this will create a Circular road around the twin cities which will be able to reduce the traffic load of the twin cities. it is all under the plan of the Rawalpindi ring road project.
Rawalpindi Ring Road inauguration
Rawalpindi Ring Road Project inauguration is expected to be performed in November this year, while the Islamabad Ring Road project will be initiated in the first quarter of 2021. Some news sources claim that the Federal Minister for Planning and Development Asad Umar has decided that development funds will be allocated to the Ring Road Project under the Federal Annual Development Programme in the current fiscal year. The official approval for this project has been given on Friday, 4th September 2020.
There are some speculations yet to be confirmed that the project will be developed by private partners who will be given the right to operate the toll plazas on the two roads for a specific time period. This provision will be in exchange for their services.
Ring road Rawalpindi Completion
Ring road Rawalpindi is a much-awaited project by both the investors and residents of twin cities. It will create endless opportunities for the residents of twin cities and investors from other locations (national and International). There are multiple housing societies near the ring road which will host residential and commercial areas. Naya Pakistan Housing Project (NPHP) will also allocate apartments near ring Road. Rawalpindi Ring Road Project will Start at the Chhan bridge and end at the initial point after passing through the Twin Cities Islamabad Express highway said by Federal Minister Ghulam Sarwar Khan. RRR was originally proposed in the previous government tenure but this project has been started by the current government. The project will complete in the year 2022 and will serve as a development opportunity with a rapid increase in prices nearby.
The 10 km portion from Sangjani to Margalla road will be constructed by the CDA as Margalla road (which is also a long-awaited project). A 64 km portion will be constructed by the Rawalpindi development authority. Zeek and Engineering general consultant has a joint venture for this project. The feasibility study of 1 crore rupees has been allocated by the government of Punjab. There will be multiple officers which will answer to the Commissioner of Rawalpindi. The officers are
A deputy Project Director
A structural Engineer
Two engineers
A Land Acquisition Collector
A resettlement action Planner.
Benefits of this Project
This road will be used to reach easily to federal capital from Hazara Division and Gilgit-Baltistan. The visitors will be able to have easy access to the Pakistan Secretariat by sectors of F-series, Shah Allah Ditta, Margalla Road, and Sangjani. The length of the road will be 10 km From GT Road to Margalla.
Ring Road Rawalpindi will also be able to provide new opportunities to constructors. There are multiple new housing societies being built or already built near the proposed Ring Road Rawalpindi Map. These new housing societies will be able to provide new investment opportunities, Educational institutions, Hospitals Shopping malls, apartments, etc.
Visitors who do not have to use the Srinagar highway (previously known as Kashmir Highway) can directly go to the residential sectors using the Margalla road directly from Sangjani GT road. Tourists can Directly visit the Faisal mosque and visit other tourist spots easily while avoiding the hassle of getting into massive traffics.
We have already seen the appreciation in prices due to the construction of Ring road in Lahore and the same is expected near the vicinity of the Rawalpindi ring road too.
Intercity High traffic vehicle (HTV) will completely avoid the Islamabad Expressway and be on its way to the North once the ring road is fully operational.
Working-class or students who have to travel to Islamabad every day will have a fast-track alternative for their daily commute. Currently, all the entrances to the twin cities are marred by massive jams.
Rawalpindi Ring Road project will allocate enough space to relocate a lot of businesses from major city districts to the peripheries. This will encourage the expansion of business areas, wholesale fruit, vegetables and grain markets, small industrial units, furniture, and marble markets, and transport terminals create both traffic congestion and pollution for residents and commuters.
Rawalpindi city has seen one of the fastest-paced growth because of close proximity to Capital, medical facilities, less expensive properties, and rents, etc. this project may allow for a planned expansion of Rawalpindi towards its West. Creating new economic zones, business, and trade centers, the project will also provide land use for housing societies, apartments and flats, academic institutions, and recreation facilities.
Societies which are going to benefit from Ring Road Rawalpindi
There is a total of 9 interchanges on Ring Road Rawalpindi and all these interchanges will provide a great benefit to the housing societies near them. The businesses and commercial areas will see a hike in growth and value.
There are multiple housing projects which are likely to gain maximum benefit from the Ring Road. The starting point near Rawat will be beneficial for DHA Phase 3, and even DHA Phase 2, DHA Valley, and Bahria Town. Traffic coming from the motorway will not need to go through the twin city rather they will be able to reach directly near Rawat within few minutes through this Ring Road leaving behind traffic.
The distance of these housing schemes from the Ring Road is below
DHA Phase 3 lies at about 8 KM
DHA Phase 2 lies at about 14 KM
DHA Valley lies at about 14 KM
Bahria Phase 7 lies at about 20 KM
PIA Officers Cooperative Housing Scheme and Rudn Enclave will also get benefit from the Adyala interchange of RRR.
Bahria Town Phase 8 extension may also get a small link road which may be near Adyala interchange. Adyala Road will also be widened as it is also a proposed plan from the government.
Rudn Enclave lies within 1 KM distance from the Interchange
PIA Officers Housing Scheme lies at about 5.5 KM
Bahria Town Phase 8 Extension lies at about 12 KM
Chakri interchange will benefit a lot of societies such as PIA Enclave, Al-Haram City, Capital Smart City, Khanial Homes, and Blue World City. These mega housing developments will take maximum benefit of this link road and will provide easy convenience to its residents. These housing societies do not have any direct major road linking them to twin cities.
Al-Haram City lies at about 3 KM
PIA Enclave (PIAEWT) lies at about 6 KM
Capital Smart City lies at about 5 KM
Khanial Homes lies at about 17 KM
Blue World City lies at about 17 KM
At Thalian Interchange, there are also multiple housing societies. These housing societies include CBR Town Phase 2, Up Country Enclosures, Foreign Office Employees Cooperative Housing Scheme, Sector I-16, Kohsar View, Taj Residencia, Sector I-15, and Sector I-14. Rawalpindi Ring Road will connect these housing projects to Motorway M-2 at Thalian Interchange. Majority of the housing societies have issues in convenience from twin cities and after the interchange, they will get easily accessible.
CBR Town Phase 2 lies at about 3 KM
Foreign Office Employees Cooperative Housing Scheme (FOECHS) lies at about 5 KM
Up Country Enclosures lies at about 4 KM
Kohsar View lies at about 10 KM
Taj Residencia lies at about 11 KM
Sector I-16 lies at about 7 KM
Sector I-14 lies at about 11 KM
New Islamabad Airport lies at about 3 KM
ICHS Town lies at about 13 KM
Motorway City lies at about 15 KM
Fateh Jang Road lies at about 20 KM
There are Multiple housing projects on Fateh Jang Road including PECHS, Ministry of Commerce, Graceland Housing Scheme, PAF Tarnol, Shalimar Town, and Faisal Town, etc. These housing societies may include Naya Pakistan Housing Project apartments.
Bahria Town Tower-Karachi DHA Peshawar GDA Housing Scheme No. 5 Gwadar City Tower Shopping Mall Karachi