text:
Photo by Gary Miller/FilmMagic
Primavera Sound 2019 Shares Equal-Gender Lineup primavera-sound-2019-features-new-normal-equal-gender-lineup
Primavera Sound 2019 Features A "New Normal" Equal-Gender Lineup
The Barcelona music festival shows what an incredibly stacked lineup should look like, with headliners including Solange, Erykah Badu, Rosalía and more
Dec 6, 2018 - 5:08 pm
Festival promoters and organizers around the world, take note: Equality is the new normal.
Primavera Sound is leading by example with its 2019 lineup, which it released on Dec. 5 along with a statement declaring the 50/50 gender split "The New Normal": of the 226 artists over half are women.
The entire list includes both big names and hidden gems across genres, yet the headliners alone show that they are walking their talk. Erykah Badu, Future, Interpol, Tame Impala, Cardi B, Janelle Monáe, Solange, J Balvin, Rosalía, Nas, James Blake and Robyn all take the top spots for the festival's 19th edition in Barcelona, to take place from May 30 to June 1.
#TheNewNormal #PS19
+INFO: https://t.co/FDNfseYa2F pic.twitter.com/xDkess0zh0
— Primavera Sound (@Primavera_Sound) December 5, 2018
While much of the music world and its festivals continue to grapple with how best to answer the call for lineup equality, Primavera notes that they are the first larger music festival to offer a completely equal list. In the statement on their website, Primavera highlighted the importance of taking action now: "Because we should have done it ages ago. Because, looking back over our previous line ups and despite the progress in the last few editions, we needed to go further."
Earlier in 2018, more than 100 festivals and conferences, led by U.K. advocacy group Keychange, made a commitment to establish a 50/50 gender split by 2022, while Beyoncé made history as the first black female to headline Coachella during its 19 years.
Beyoncé wins Best Urban Contemporary Album GRAMMY
The entire lineup is filled with gems, with some additional standouts being: Kali Uchis, Liz Phair, Carly Rae Jepsen, Clairo, Cuco, Mura Masa, Empress Of, FKA Twigs, Pusha T, Kurt Vile & the Violators and Big Red Machine (the National's Aaron Dessner and Bon Iver's Justin Vernon collab project).
The festival also pointed to their commitment to urban music, with their focus on reggaeton and hip-hop. For the Latin side, in addition to unofficial second-wave reggaeton leader J Balvin, old-school genre legends Ivy Queen (one of the first and few women on the emerging scene in the '90s) and DJ Playero will be throwing down. From the U.S. side, in addition to quintessential rap icons Nas and Pusha T, trap king Future and the ever-record-breaking Cardi B, Primavera has booked an exciting selection of rising female rappers, including Tierra Whack, Princess Nokia, CupcakKe and Rico Nasty.
Primavera 2019 also has a solid electronic music offering, with the upcoming year featuring an impressive selection of talented female electronic DJ/producers, including Yaeji, Nina Kraviz, Peggy Gou and Helena Hauff.
Learn More: How Music Streaming Algorithms Hinder Female Artists
As reported by Remezcla, this has all been a concerted work in progress for the festival, which not only grew its female bookings from 12.56 percent in 2017 to 20.64 percent in 2018 (a notably big jump to this year), but also "became the first festival in Spain to establish a protocol to protect attendees against harassment and sexual abuse" at their 2018 event.
The complete lineup for Primavera Sound, along with ticket info, is available on their website.
Rosalía Cries A Literal River In "Bagdad"
Crowd shot at Primavera Sound Barcelona 2019
Photo: Xavi Torrent/WireImage
Primavera Sound Barcelona 2021 Lineup Announced primavera-sound-barcelona-2021-bad-bunny-charli-xcx-tyler-creator-strokes-fka-twigs-and
Primavera Sound Barcelona 2021: Bad Bunny, Charli XCX, Tyler, The Creator, The Strokes, FKA twigs And More Confirmed
Following a recent postponement, the celebrated Spanish festival has announced the first 100 artists for its 20th anniversary next June
After its 2020 edition was postponed to next year due to the coronavirus pandemic, Primavera Sound Barcelona has today (May 27) announced the first 100 artists confirmed for its 2021 installment. The initial lineup features "a majority of artists who reconfirm their presence at the festival," according to a blog post shared on the event's official website announcing the 2021 artist roster, including Bad Bunny, Tyler, The Creator, The Strokes, Pavement, Bikini Kill and several other previously announced artists. Newly added artists include Charli XCX, Tame Impala, Gorillaz, FKA twigs, Jamie xx and Jorja Smith, among many others.
The five-day festival, now taking place June 2-6, 2021, in Barcelona, Spain, was originally scheduled to celebrate its 20-year anniversary next month (June 3-7). In late March, the festival was postponed to August due to concerns over the COVID-19 pandemic. Earlier this month (May 11), Primavera Sound Barcelona 2020 was ultimately postponed to next year, with the festival citing force majeure. The festival will now celebrate its 20th anniversary during the newly rescheduled dates in June 2021.
More artists, including acts confirmed for the original 2020 lineup and new additions, will be announced over the next few months, according to the Primavera Sound Barcelona website.
https://www.instagram.com/p/CAsCS1YIzmo
A post shared by Primavera Sound (@primavera_sound)
In the blog post, festival organizers addressed the impact the coronavirus pandemic has made on Primavera Sound Barcelona and the "hard times" it has caused for everyone involved.
"The entire Primavera Sound Barcelona team would like to acknowledge that we really appreciate all the messages of support, for the understanding and encouragement that we have received over the past few weeks," the post reads. "These are hard times for everyone and to feel that so many people are looking forward to collective events like our festival pushes us to work with more passion than ever …
"Whoever said that the second chances are never good did not imagine that we would experience something like what is happening this 2020. With the whole world on pause due to the evolution of the global pandemic and with the live music sector holding its breath facing a summer without festivals, we can only look forward: towards 2021, specifically, the year in which we are going to recover everything that will be pending from 2020."
Read: Recording Academy And MusiCares Establish COVID-19 Relief Fund
The 2021 installment of Primavera Sound Barcelona will debut Brunch -On The Beach, a brand-new closing party on the beach. The inaugural event, which was originally announced for the 2020 iteration of the festival this past February, will now take place Sunday, June 6, 2021, and will feature DJ sets from Disclosure, Nina Kraviz, Amelie Lens and Black Coffee.
Tickets for Primavera Sound Barcelona 2021 will go on sale June 3 at 6 a.m. EST/noon CEST. All tickets purchased for the 2020 festival are valid for the 2021 edition. That same day, the festival will begin to offer exchanges and refunds for those who purchased tickets for the 2020 festival.
To view the full lineup and to purchase tickets for Primavera Sound Barcelona 2021, visit the festival's official website.
All Points East Festival Launches "Ten Days Of All Points East" Content Hub
Photo: Jordi Vidal/Redferns/Getty Images
Primavera Sound Barcelona Postponed Until 2021 primavera-sound-barcelona-postponed-until-2021-due-covid-19-force-majeure
Primavera Sound Barcelona Postponed Until 2021 Due To COVID-19 Force Majeure
The 20th edition of the eclectic music and arts festival, originally scheduled for June 2020, was initially postponed until August but will now be taking place June 2-6, 2021
Today, May 11, Primavera Sound announced the 20th anniversary edition of their flagship Barcelona music and arts festival will be postponed until June 2021. The legendary fest was originally scheduled for June 3-7, 2020 and then, in late March, postponed until Aug. 26-30 due to coronavirus concerns. Now, after continuing to consult with Spanish health officials and the increasing uncertainty of festivals being able to be safely held anywhere this year, Primavera is citing force majeure.
The upcoming Primavera Sound Barcelona will now be taking place June 2-6, 2021—all previously purchased tickets will be valid for the new dates, as well as be eligible for refunds. The organizers will begin to reveal lineup updates on June 3.
https://twitter.com/Primavera_Sound/status/1259846112858583042
Bailaremos juntos de nuevo. Muchas gracias por vuestro apoyo. pic.twitter.com/wT0yznWVuB
— primavera_sound (@Primavera_Sound) May 11, 2020
In a message shared on their social channels (read it in full above) today in Spanish, English and Catalan, the fest wrote: "Primavera Sound announces the most difficult decision in its history: finally we will not be able celebrate the 20th anniversary during 2020. In the face of the evolution of the COVID-19 health crisis, we find ourselves obliged to postpone the next edition of Primavera Sound Barcelona, for reasons of force majeure, until next year: from 2nd to 6th June 2021.
We are devastated and are terribly sorry for the inconvenience caused, but the health and well-being of our audience and of all the people involved in the festival has always been and still is our absolute priority. We cannot thank you enough for your patience, love and understanding in this very uncertain scenario. We will never forget this."
WATCH LIST: Online Concerts From Jennifer Lopez To Yo-Yo Ma To Catch During Coronavirus Quarantine
They also note that ticketholders who keep their tickets for the new 2021 dates will receive "special benefits." Tickets will alternatively can be refunded, beginning June 3—everyone who has bought tickets will be emailed with more details soon. The first round of lineup updates will also be revealed on June 3, as the fest works with artists to confirm availability for the new dates.
"On that same day [June 3] we will announce the first artists for Primavera Sound Barcelona 2021, whose lineup will still celebrate the 20th anniversary of the festival embracing the #bestfestivalforever philosophy thanks to the great commitment and effort of the artists themselves, who have also been greatly affected by the current situation and who will do everything possible not to miss this event. It doesn't matter when it is: this will be our anniversary party and we want to celebrate it with everyone who was going to come this year," the announcement on their website added.
To Watch: Phosphorescent, Built To Spill, Sierra Hull & More On This Week's Pickathon's A Concert A Day Benefiting MusiCares
"Until then, please take good care of each other and follow the advice of the authorities at all times. The festival team continues to work intensively in order to be able to celebrate something more than just Primavera Sound's 20th anniversary: seeing each other again, and dancing together again."
Bad Bunny, Tyler, The Creator, Lana Del Rey, Maggie Rogers, Iggy Pop, Massive Attack, the Strokes, Mavis Staples, Koffee, BROCKHAMPTON, Bikini Kill, Beck, Disclosure, Caribou, Kacey Musgraves and many more were previously announced for the eclectically stacked Primavera Sound Barcelona 2020 lineup.
Primavera Pro, their music professionals meeting will still be held this year, although completely online. More details will be announced soon, but it will be taking place on July 21-24, "with the aim of analyzing, reflecting and debating about the innumerable challenges facing the sector in this new paradigm."
NOS Primavera Sound, the offshoot festival in Porto, Portugal, was rescheduled for September 2020 at the same time the flagship fest was, but no further updates on the Portugal fest have been revealed at this time. The inaugural Primavera Sound Los Angeles is also, at the time of this writing, slated for September 2020.
Last week, on May 7, Primavera announced the special Iron Maiden "Legacy of the Beast" show they were throwing in Barcelona would be postponed until June 19, 2021. On May 8, Sónar, another major Barcelona summer music festival, revealed their 2020 event will now be taking place in 2021 as well.
ARTBAT On New CamelPhat Collab, DJing In The Clouds & Loving L.A.
Photo: Tim Mosenfelder/WireImage via Getty Images
Room Service Fest: Chromeo, Zeds Dead & More chromeo-zeds-dead-channel-tres-ambar-lucid-more-announced-massive-room-service-fest
Chromeo, Zeds Dead, Channel Tres, Ambar Lucid & More Announced For Massive Room Service Fest
The virtual music event will have "simultaneous multi-channel stages" to mimic an in-person festival setup
Room Service 2020 is here to give the world the massive virtual music event it's been waiting for. The fest will feature Yungblud, Alec Benjamin, Channel Tres, Chromeo, Shallou, A Boogie wit da Hoodie, Zeds Dead, Channel Tres (DJ set) and many more.
The fest, organized by Trap Nation & Chill Nation, will raise money for Feeding America & Sweet Relief's COVID-19 relief and will stream on YouTube April 24–26. The fest will mimic an actual music fest's multiple stages setup by featuring "simultaneous multi-channel stages."
Watch the festival livestream below.
Virtual doors open at 3 p.m. ET/ 12 p.m. PT. Other acts include Ambar Lucid, SNAILS, GRiZ, Gallant, Chelsea Cutler and Trevor Daniel. To RSVP for the event, go here.
Tomorrowland 2020 Canceled Due To Coronavirus
Crowd shot at WOMAD Festival 2017
Photo: C Brandon/Redferns
WOMAD 2020 Canceled Due To Coronavirus Pandemic peter-gabriels-womad-festival-2020-canceled-due-coronavirus-pandemic
Peter Gabriel's WOMAD Festival 2020 Canceled Due To Coronavirus Pandemic
In a statement, Gabriel said many of the artists originally confirmed for this year's festival "have already offered, or agreed," to return for 2021
Apr 8, 2020 - 9:35 am
WOMAD (World Of Music, Arts And Dance) festival, the international music and arts festival from Genesis founding member Peter Gabriel and others, has canceled its 2020 edition in the U.K. due to the growing coronavirus pandemic. Originally scheduled to take place July 23-26 at Charlton Park in Wiltshire, England, the festival, which featured headliners The Flaming Lips, Angélique Kidjo, Kate Tempest and Fatoumata Diawara, among many others, is confirmed to return next year (July 22-25), according to the updated dates on the event's official website.
https://twitter.com/WOMADfestival/status/1247843177505132545
WOMAD Festival 2020 update. https://t.co/UCISGS4G5x pic.twitter.com/FpZ1X2klGT
— WOMAD UK (@WOMADfestival) April 8, 2020
Festival organizers announced the event's cancellation via statements from Gabriel and the WOMAD team, both shared on the festival's official website and social media accounts today (April 8). In his statement, Gabriel said many of the artists originally confirmed for this year's festival "have already offered, or agreed," to return for 2021.
"Like many others, we have been hoping, waiting and watching the Coronavirus situation," Gabriel wrote. "Finally, we have been told that we will not be allowed to hold WOMAD this year at Charlton Park.
"Safety for all of our festivalgoers, artists and our own staff surpasses everything.
All of us involved with WOMAD have already been really touched by the help and generous offers of many of those we depend on to make the festival come to life. Many of the artists have already offered, or agreed, to play for us next year and we will now put our energies into making a great WOMAD 2021."
"We hope to see you all at Charlton Park next year for a big celebration, when we've put this meanie back in the bottle," he continued, alluding to the festival's return in 2021. "Your love and support for the dream that is WOMAD, has always meant a lot to us, but especially now."
"Following a meeting with the Licensing authority, the combined emergency services and taking fully into account the government advice on halting the spread of the virus, it is clear, that in order to meet our goal of protecting the health, safety and wellbeing of the whole community there is no way we can go ahead with WOMAD 2020," a statement from the wider WOMAD team read. "We are devastated but confident that this is the right and responsible decision and that we have to play our part in helping the country stay safe and to recover."
For ticket holders for its canceled 2020 U.K. edition, WOMAD is offering a transfer of tickets for the 2021 edition or full refunds. For those who paid for their tickets in installments, the festival is allowing a temporary pause on payments to be picked up again next year for WOMAD 2021 or refunds for the face value of the tickets. More information about ticket transfers and refunds is available on the festival website.
The festival, which originally announced its initial lineup this past February, posted an update about the event's U.K. edition last month (March 19). "At WOMAD we are examining the advice of the government, other authorities and of course the healthcare professionals before making a final decision on what actions we should be taking to lead by example and help to keep everyone in the WOMAD community safe and well," the statement read.
In February, WOMAD postponed what was to be its first-ever edition in Mexico, originally scheduled for March 27–29, "due to events outside of our control," according to a post shared on the festival's website. While no new dates have been announced, WOMAD Mexico will return "later in the year," the post reads.
WOMAD has already completed three international festivals in 2020, including installments in Chile in February and in Australia and New Zealand in March.
WOMAD is the latest festival to be canceled or postponed this year due to the coronavirus pandemic. Since March, Governors Ball, Glastonbury, Isle Of Wight, Download, All Points East, Lovebox and Parklife, Bonnaroo, New Orleans Jazz Fest, BottleRock Napa Valley, the Rock And Roll Hall of Fame induction ceremony, Coachella and Stagecoach, Ultra Music Festival, SXSW, Lollapalooza Argentina, Something In The Water, Treefort Music Fest, Afro Nation Puerto Rico, Brussels' Listen! Festival, Record Store Day and several other major events and festivals around the world were called off or rescheduled due to the COVID-19 pandemic.
MusiCares COVID-19 Fund: MCR's Frank Iero, Rita Wilson & Naughty By Nature, Ellie & Drew Holcomb & More Support With Livestreams & Beyond


text:
Q: Print correctly colummns I would like to print 3 columns, but as the lenght of variable name is not the same for all, it causes disorder at printing time.
a = data_m.columns
miss_val = data_m.isnull().sum()
per_lost_val = []
j = 0
k = 0
for i in miss_val:
    if i == 0:
        miss_val = miss_val.drop(a[j])
    else:
        per_lost_val.append(round(miss_val[a[j]]/data_m.shape[0],2)*100)
    j += 1

print("Variable                      Num Lost Data                  %\n\n")
j = 0
for i in miss_val:
    print(" ",miss_val.index[j],"                          ",miss_val[j],
          "                  ",per_lost_val[j])
    j += 1

#miss_val[0:]

Resault:
Variable                      Num Lost Data                  %

  1                                8880                    23.0
  2                                8880                    23.0
  3                                8880                    23.0
  var                                20422                    52.0
  var4                                 20422                    52.0
  var5                                 20422                    52.0

Is there any way to obtain straight columns? Thanks

redpajama_set_name: RedPajamaStackExchange


Hello Tribe, how have you guys been? My apologies for the hiatus, I am cooking something, don't worry, you will soon know about it. In 2013 I think, I published a recipe on Bella Naija, which at the time I thought was Ofe Owerri. The good thing about that experience, was that I got so many suggestions about which vegetables comprise Ofe Owerri. From Oha, to Ukazi, to Ugwu. For some it is a combination of two vegetables, for others it is a combination of 3 vegetables. The general consensus though is that Okazi is one of the vegetables, the rest you can add Oha or Uziza or Ugu. Thanks to all of you who provided answers. Much appreciated.
An aromatic, delicious dish made from Uziza and Ugu leaves, combined beautifully with the rich earthy tones of the palm fruit and the flavour of smoked fish.
Extract the juice out of the palm fruit. You do this by boiling the palm fruits till the skin is tender almost peeling off, transfer to a food processor, pulse, to rid to turn the skin into mush, pour hot water over the shredded skin and extract the juice.
Or you can use the canned extract, about a cooking spoon or two. Or, good oil Palm oil.
Transfer the extract to the pot and boil with the assorted meats and meat stock.
Add some ground crayfish, fresh pepper, smoked fish, stock fish, 1 - 2 wraps of Ogiri, depending on the volume of stock you are working with, and let it boil.
Once the Ogiri dissolves, you should be able to taste and smell it. Adjust for seasoning, and let it boil till the beef stock and palm fruit extract have properly combined.
Once the cocoyam lumps have dissolved, your soup should take on a mustard-ish shade of yellow.
It should not be thick too, because the vegetables you are about to add will thicken it some more. With Igbo soups, you are best going watery, than too thick, trust me.
With the consistency of your cocoyam thickened stock perfect, add the vegetables and stir.
Give it another 3 - 5 minutes max, and serve. See the video on Instagram @dooneyskitchen.
I was able to save a little portion for myself which I served with Semo. You will almost bite your fingers, I promise you.
looks yummy..where do you buy African fresh food? i noticed your Ugu leaves, palm fruit and Uziza leaves are all fresh.
Hi Dunni.. pics are awesome as always. I never cooked with ogiri before always left it out when making owerri soup. Wondering if u don't have ogiri is iru.a suitable substitute?
Hi Yemisi, is d coco yam cooked before blending n adding to d soup or is it raw?
Dunni hello. I stay in the US and I cannot find Palm-fruits here. Can I use the tinPalm Extract? Like the type used to make Banga or Ofe-akwu soup. Thank you.
you know what i like about you,you nail soup from each tribe like you are from there.you so nailed it girl…and i should know i was raised there.
Dooney thanx a bunch for this..lots of love.
Hello Dunni, You are doing an amazing job, can't wait to start experimenting as I loveeee to cook too. For the cocoyam, can it be blended as I don't have a food processor? would it be smooth? Once again, keep up the good work!
Awwwww, I tried this last saturday for the Mr-to-be and I only had it once, but the numbers of I love you, that soup is amazing, where did you learn how to cook it from? cos I am Yoruba, has been countless. Once again, thank you Dunni.
Dooney please can you tell me how u prepare that palm oil nuts in can before use or do u use it direct?
Hello Dunni, I tried out your ofe uziza recipe using oha leaves instead of ugu and it was something else. At the risk of sounding vain, I nailed it. Thank you so so much, I love you already.


text:
Home Channels Chicco Twala Speaks On His Son 'Murdering' Senzo Meyiwa
Chicco Twala Speaks On His Son 'Murdering' Senzo Meyiwa
Chicco Twala has affirmed once again that his son Longwe did not kill Senzo Meyiwa. He may be an addict, but he's not violent.
It's been a difficult few days for Chicco and Longwe Twala. Last week, the headlines were dominated by a viral video in which Chicco could be seen/heard blasting his son loudly after handing him over for arrest.
Twala junior was busted for stealing a phone from a friend and his own father took matters into his own hands and handed him into the police.
Read Also – Legendary Musician Chico Twala Instructs Police To Shoot His Son
The video was pretty humiliating, and you could hear from Chicco's desperate anguish that he was running out of patience with his son.
One of the most interesting excerpts from the video came when Chicco admitted that he wishes that his son Longwe was the one who killed Senzo, that way he could rot behind bars.
Considering that Chicco and Longwe are two key names in the ongoing Senzo Meyiwa case, this particular mention raised a lot of eyebrows.
Many believe, thanks to a conspiracy theory, that Longwe was the one who shot Senzo and these comments by Chicco set off alarm bells in people's minds.
"He does not carry a gun"
In a bid to declare his son's innocence, Chicco spoke to the media this week and revealed many things. He shared the heartbreaking story of his son's 15-year battle with addiction; he accused his son of stealing over R300,000 worth of goods, and he even admitted that he had spent over R1 million in rehab fees. When the time came to discuss Senzo, however, Chicco was firm that Longwe didn't do it.
Chicco spoke to Sowetan and revealed:
"I believe Longwe's story about what happened on the day Senzo was killed. He might be a junkie, but he is not violent. He does not carry a gun. If Longwe had murdered Senzo, I would have handed him over to the police."
Whether people believe this side of the story or not, however, is an entirely different issue.
Read Also – Senzo Meyiwa's widow Mandisa Meyiwa exposes Senzo – Besides Kelly Khumalo, he also slept with my best friend..
Source : ZAlebs
Previous articleA first look at Sophie Lichaba in Lockdown
Next articleSkeem Saam actress Myrah Molokomme – Love and respect those living with HIV
Pics : Nomzamo Mbatha Debuts Sexy Short Hairstyle
The Meyiwas Are Fighting From The Grave!

redpajama_set_name: RedPajamaCommonCrawl


I started my distillery with $25,000, a solid mission statement and a dream, I set the foundation for you to do the same in this single bundle. What are you waiting for? Includes 1 hour live marketing plan development for a niche market in the alcohol industry.
Check out the free eBook!
One stop Distillery Class: Fermentation, Distillation, Business and Regulation all in one bundle with the Moonshine Master Class. Want to build the foundation for skills and knowledge to be successful in the alcohol industry? This is the first step. We wanted something of equal value to those educational courses out there that cost thousands of dollars but also wanted to make it affordable to small business folks. I started my distillery with $25,000, a solid mission statement and a dream, I set the foundation for you in all of these courses. What are you waiting for? Includes 1 hour live marketing plan development for a niche market in the alcohol industry.


text:
Q: How can I update an ACF field in a repeater on post save? Using Advanced Custom Fields, I have a repeater field (domain_assets), within which I have two text fields (registered_domain & ssl_expiration), and a sub repeater field (service).  I'm trying to dynamically set the 'ssl_expiration' text field any time the post is saved using a combination of the hook 'acf/save_post' along with the 'update_row()' function, but it doesn't seem to be working for me.

This is what I have...
add_action('acf/save_post', 'set_domain_ssl_expiration');
function set_domain_ssl_expiration($post_id){
    if (have_rows('domain_assets')) :
        while( have_rows('domain_assets') ) : the_row();
            $domain = get_sub_field('registered_domain');
            if (!empty($domain)) :
                  update_row('ssl_expiration', 3, get_ssl_info($domain, 'validTo_time_t'), $post_id);
            endif;
          endwhile;
    endif;
}

I'm getting the new value of the ssl_expiration field from a function named get_ssl_info() which I'm not including here.  It uses cURL to read the SSL certificate information and return data based on a given parameter.
When I print the values of the variables '$post_id' and '$domain', along with the output of the function "get_ssl_info($domain, 'validTo_time_t')" and send them to the error_log within the hook's callback function, I get the correct values returned for each.  Even when I have multiple domains saved in a post, the correct values for each of the variables are sent to the error_log for each corresponding domain.
For good measure, I decided to add a statement to print the output of 'get_rows()', immediately after the while statement and confirmed that, sure enough, each of the 'domain_assets' repeater rows are printed, including the empty ssl_expiration field.  Given the fact that everything else works as it should, I feel like it is something to do with the 'update_row()' function, but I don't see what the problem is.
I'm really not sure what to try at this point.  Regardless of whether I save a new custom post or update an existing one, the 'ssl_expiration' text field still remains empty.  What I am missing?


Forming the first part of a two-part paper, the experimental approach to acquire resonant vibration data is presented here. Part II deals with the estimation of damping. During the design process of turbomachinery components, mechanical integrity has to be guaranteed with respect to high cycle fatigue of blades subject to forced response or flutter. This requires the determination of stress levels within the blade, which in turn depend on the forcing function and damping. The vast majority of experimental research in this field has been performed on axial configurations for both compressors and turbines. This experimental study aims to gain insight into forced response vibration at resonance for a radial compressor. For this purpose, a research impeller was instrumented with dynamic strain gauges and operated under resonant conditions. Modal properties were analyzed using finite element method and verified using an optical method termed electronic-speckle-pattern-correlation-interferometry. During the experiment, unsteady forces acting on the blades were generated by grid installations upstream of the impeller, which created a distorted inlet flow pattern. The associated flow properties were measured using an aerodynamic probe. The resultant pressure fluctuations on the blade surface and the corresponding frequency content were assessed using unsteady computational fluid dynamics. The response of the blades was measured for three resonant crossings, which could be distinguished by the excitation order and the natural frequency of the blades. Measurements were undertaken for a number of inlet pressure settings starting at near vacuum and then increasing. The overall results showed that the installed distortion screens generated harmonics in addition to the fundamental frequency. The resonant response of the first and the second blade mode showed that the underlying dynamics support a single-degree-of-freedom model.
El-Aini, Y., deLaneuville, R., Stoner, A., and Capece, V., 1997, Proceedings of the 33rd AIAA/ASME/SAE/ASEE Joint Propulsion Conference , Seattle, WA, Paper No. AIAA 97–3365.
Kielb, R. E., 1998, ERCOFTAC Turbomachinery Seminar and Workshop , Aussois, France.
Haupt, U., 1984, "Untersuchung des Schaufelschwingungsverhaltens Hochbelasteter Radialverdichterlaufräder" (Fortschrittsberichte der VDI Zeitschriften ), Vol. 7 , Verein Deutscher Ingenieure VDI-Verlag GmbH Düsseldorf, Hannover.
Jin, D., 1990, "Untersuchung von Schaufelschwingungen und ihrer Erregungsursachen an Radialverdichtern," Ph.D. thesis, Hannover.
Manwaring, S. R., and Fleeter, S., 1990, "Inlet Distortion Generated Periodic Aerodynamic Rotor Response," ASME J. Turbomach. [CrossRef], 112 , pp. 298–307.
Manwaring, S. R., and Fleeter, S., 1991, "Forcing Function Effects on Rotor Periodic Aerodynamic Response," ASME J. Turbomach. [CrossRef], 113 , pp. 312–319.
Manwaring, S. R., Rabe, D. C., Lorence, C. B., and Wadia, A. R., 1997, "Inlet Distortion Generated Forced Response of a Low-Aspect-Ratio Transonic Fan," ASME J. Turbomach. [CrossRef], 119 , pp. 665–676.
Manwaring, S. R., and Wisler, D. C., 1993, "Unsteady Aerodynamics and Gust Response in Compressors and Turbines," ASME J. Turbomach. [CrossRef], 115 , pp. 724–740.
Schleer, M., Mokulys, T., and Abhari, R. S., 2003, International Conference on Compressors and Their Systems , IMechE, London.
Schleer, M., 2006, "Flow Structure and Stability of a Turbocharger Centrifugal Compressor", VDI-Verlag, Düsseldorf.
Roach, P. E., 1987, "The Generation of Nearly Isotropic Turbulence by Means of Grids," Int. J. Heat Fluid Flow [CrossRef], 8 , pp. 82–92.
Koo, J. K., and James, D. F., 1973, "Fluid Flow Around and Through a Screen," J. Fluid Mech., 60 , pp. 513–538.
Pfau, A., Schlienger, J., Kalfas, A. I., and Abhari, R. S., 2003, ASME Paper No. GT2003-38128.
Kupferschmied, P., 1998, "Zur Methodik zeitaufgelöster Messungen mit Strömungssonden in Verdichtern und Turbinen," Ph.D. thesis, ETH Zürich, Zürich.
Craig, R. R., and Kurdila, A. J., 2006, "Fundamentals of Structural Dynamics", 2nd ed., Wiley, Hoboken, NJ.
Kammerer, A., and Abhari, R. S., 2008, ASME Paper No. GT2008-50467.
Whitehead, D. S., 1998, "The Maximum Factor by Which Forced Vibration of Blades Can Increase Due to Mistuning," ASME J. Eng. Gas Turbines Power [CrossRef], 120 , pp. 115–119.
Impeller main blade modal shapes for Modes 1 and 2. (a) Mode 1; (b) Mode 2.
Velocity distortion by Koo and James (13) and velocity ratio dependency on mass flow. (a) Velocity ratios for λ=0.5: (b) predicted velocity ratio as function of the mass flow rate.
Measured normalized axial velocity distribution (Vax/Vax,mean); a distortion screen is not installed. Support strut arrangement is shown.
Computed amplitude and phase angle of the unsteady pressure on blade surface using unsteady CFD. Measured inlet boundary conditions were applied for the five-lobe case.
Kammerer A, Abhari RS. Experimental Study on Impeller Blade Vibration During Resonance—Part I: Blade Vibration Due to Inlet Flow Distortion. ASME. J. Eng. Gas Turbines Power. 2008;131(2):022508-022508-11. doi:10.1115/1.2968869.


text:
\section{APPROACH}

\def\mat{G}{\mat{G}}
\def\G^{3D\rightarrow3D}{\mat{G}^{3D\rightarrow3D}}
\def\G^{2D\rightarrow3D}{\mat{G}^{2D\rightarrow3D}}

\def\lambda{\lambda}

\def\mathcal{P}{\mathcal{P}}

\defN_{points}{N_{points}}
\defN_{pixels}{N_{pixels}}
\defN{N}

\defz^{(m)}{z^{(m)}}

\label{S_approach}

This section presents our label diffusion method for object instance segmentation in lidar{} point clouds. We formulate the task as a semi-supervised learning problem on a graph, and leverage 2D segmentation from an RGB image along with 3D geometry from a point cloud to obtain a complete 3D segmentation. Figure \ref{fig:pipeline} shows the segmentation pipeline.

\subsection{Problem Formulation}

Object instance segmentation in 3D point clouds can be formulated as follows: Given a point cloud $\{{\vct{x}}_i\in\R^3\}_{i=1}^{N_{points}}$, where $N_{points}$ is the number of 3D points, we want to assign to every point ${\vct{x}}_i$ an object instance label $y_i\in \{0\}\cup\field{N}$. Each instance is also associated with a class label $c\in\C$, where $\C=\{0,\cdots,C\}$ is the label set. Let $y=0$, $c=0$ indicate the background instance and class.

Our approach takes in as inputs a lidar{} point cloud $\{{\vct{x}}_i\in\R^3\}_{i=1}^{N_{points}}$ and an aligned RGB image. This is a common sensor configuration for autonomous vehicles and mobile robots. Note that we consider only lidar{} points which lie within the field of view of the camera. The pixels have 2D coordinates defined as $\{\vct{p}_i\in\field{N}^2\}_{i=1}^{N_{pixels}}$, where $N_{pixels}$ is the total number of pixels in the image.  Algorithms for 2D object instance segmentation on RGB images have been well-developed (e.g., Mask R-CNN~\cite{He2017}) and pretrained models on large-scale data sets (e.g., MS COCO~\cite{Lin2014}) are readily accessible for a wide variety of object classes. We therefore leverage these resources for the task of labeling lidar{} points.

We approach the task of 3D segmentation from the perspective of semi-supervised learning, to avoid training a segmentation model on annotated point clouds. Semi-supervised learning assumes that a set of data points is available, of which a subset of points is labeled. For graph-based semi-supervised learning, we label the remaining points by defining connections between data points and then diffusing labels along these connections~\cite{zhu2005semi}. To apply this framework to lidar{} point cloud segmentation, we construct a graph by drawing connections from 2D pixels to 3D lidar{} points, as well as among the 3D points. The 2D pixels are labeled according to results from 2D object segmentation of the RGB image, and the graph is then used to diffuse labels onto the 3D points, which are all initially unlabeled. The success of this approach depends on appropriate choices for the graph structure, and label diffusion process.

\begin{figure}
	\centering
	\includegraphics[width=\columnwidth]{pipeline.jpeg}
	\vskip -5pt
	\caption{The full segmentation pipeline, from the input point cloud and image to the final lidar{} point cloud segmentation.}\label{fig:pipeline}
	\vskip -10pt
\end{figure}

\subsection{Graph Construction}
The graph $\mat{G}$ used in our method consists of two types of nodes (2D image pixels, and 3D lidar{} points), as well as two types of connections between nodes (from a 2D pixel to a 3D point, and between two 3D points).

\paragraph{Initial Graph Node Labeling}  Each 2D pixel and each 3D point is a node within $\mat{G}$. Initially, all 3D points are unlabeled. The 2D pixels are labeled according to an image segmentation algorithm, which assigns every image pixel an instance label $y$ (where $y=0$ corresponds to the background), and associates each instance with a class label $c$. The output will therefore be several distinct instance masks, each containing many pixels, as seen in Figure \ref{fig:pipeline}~(\emph{iii}). This instance-class association is deterministic for each image, simplifying the task of assigning instance labels to the lidar{} points within the camera's field of view.

\paragraph{2D-to-3D Connections} Since we assume the camera and lidar{} sensors are aligned, each lidar{} point can be projected from 3D into 2D image pixel coordinates, as shown in Figure \ref{fig:pipeline}~(\emph{iv}). At this stage, a naive way to label the lidar{} point cloud would be to label each point according to the 2D instance mask into which it is projected. This method will however result in significant labeling errors, especially around the 2D instance boundaries, due to calibration errors between the sensors as well as the fact that the 2D segmentation masks are unaware of 3D depth. Background lidar{} points will therefore often project into a foreground object mask, or vice versa.  Our segmentation pipeline should therefore combine 2D and 3D information, and leverage both information sources for producing a final 3D segmentation.

In order to combine 2D and 3D information in our graph for semi-supervised label diffusion, we construct a subgraph $\G^{2D\rightarrow3D}$ connecting 2D pixels to 3D lidar{} points, represented by a $(N_{points} \times N_{pixels})$ matrix.
\begin{align}
\G^{2D\rightarrow3D}_{ij} =
\begin{cases}
\lambda & \text{if } \vct{p}_j \in \mathcal{P}({\vct{x}}_i)\\
0, & \text{otherwise.}
\end{cases}\label{graph_image2lidar}
\end{align}
$\mathcal{P}({\vct{x}}_i)$ is the set of image pixels which are near the projected 2D location of lidar{} point ${\vct{x}}_i$. In our implementation, $\mathcal{P}({\vct{x}}_i)$ is the set of all pixels in a 5 pixel by 5 pixel box centered around the projected 2D coordinates of ${\vct{x}}_i$. The parameter $\lambda$ controls the amount of information that can flow from a pixel to a connected lidar{} point. In our experiments, we use a small constant value of $\lambda=0.001$, to mitigate sensor calibration errors by minimizing the influence of any one pixel. While more sophisticated schemes like setting different box sizes and $\lambda$ values for each ${\vct{x}}_i$ may be applied, empirically we find our design choice to perform well across multiple domains.

\paragraph{3D-to-3D Connections}
In order to encode connections between 3D points, we construct a nearest neighbor graph from the points to reflect the underlying 3D geometry. This subgraph is denoted as $\G^{3D\rightarrow3D}$, represented by a $(N_{points} \times N_{points})$ matrix.

Given a lidar{} point cloud $\{{\vct{x}}_i\in\R^3\}_{i=1}^{N_{points}}$, we construct an exponential-weighted nearest neighbors graph over the points. For each point ${\vct{x}}_i$, we compute $KNN({\vct{x}}_i)$, the set of $K$ nearest neighbors to ${\vct{x}}_i$ within the point cloud, according to Euclidean distance. The graph of 3D point connections is then defined as
\begin{align}
\G^{3D\rightarrow3D}_{ij} =
\begin{cases}
1, & \text{if } i=j\text{, else}\\
\exp \left(-\frac{\| {\vct{x}}_i - {\vct{x}}_j \|^2_2}{\sigma}\right), & \text{if } {\vct{x}}_j \in KNN({\vct{x}}_i)\\
0, & \text{otherwise.}
\end{cases}\label{graph_lidar2lidar}
\end{align}
Each nonzero element $\G^{3D\rightarrow3D}_{ij}$ captures the similarity between points ${\vct{x}}_i$ and ${\vct{x}}_j$. With a small $K$, this subgraph is sparse, enabling fast computation during the diffusion step later on---we set $K=10$ and $\sigma=1$ in our experiments. We apply a KD-tree to speed up the construction of $\G^{3D\rightarrow3D}$.

\paragraph{Full Label Diffusion Graph}

The full graph for label diffusion, combining the 2D-to-3D connections as well as the 3D-to-3D connections, is then defined as
\begin{equation}\label{eq:graph}
	\mat{G} = \begin{bmatrix}
		\G^{3D\rightarrow3D} & \G^{2D\rightarrow3D} \\
		\mat{0} & \mat{I}
	\end{bmatrix},
\end{equation}
where $\mat{I}$ is the $(N_{pixels}\timesN_{pixels})$ identity matrix. Let $N=N_{points}+N_{pixels}$; then $\mat{G}$ is $(N \times N)$. This graph is illustrated in Figure \ref{fig:pipeline}~(\emph{v}).
After constructing $\mat{G}$ according to Eq. (\ref{eq:graph}), we normalize each row of the matrix to sum to 1, following \cite{Zhu2002}.
\begin{align}
\mat{G}_{ij} \leftarrow \cfrac{\mat{G}_{ij}}{\sum_{j'}\mat{G}_{ij'}.} \label{e_normalize}
\end{align}

\vskip -15pt
\begin{algorithm}[b]
	\caption{LDLS: Label Diffusion \Lidar{} Segmentation}	\label{algo}
	\textbf{Required:} A 2D instance segmentation algorithm, and a 3D-to-2D projection matrix.\\
	\textbf{Input:} A 3D point cloud $\{{\vct{x}}_i\}_{i=1}^{N_{points}}$ and an aligned image.\\
	\textbf{Graph Creation:} \\
	1: Perform 2D segmentation to generate instance masks.\\
	2. Project 3D points into 2D and connect them with pixels.\\
	3. Connect each 3D point with its $K$ nearest neighbor points.\\
	4. Construct the graph matrix $\mat{G}$ (cf. Eq.~(\ref{graph_image2lidar})-(\ref{e_normalize})).\\
	\textbf{Label Diffusion:} \\
	5. Define a label vector ${\vct{z}}^{(m)}$ for each instance (cf. Eq.~(\ref{e_label})). Set initial labels for 3D points to zero, and set labels for 2D pixels based on 2D segmentation masks.\\
	6. Perform label diffusion (cf. Eq.~(\ref{e_LD})) until convergence, or the maximum number of iterations is achieved.\\
	7. Determine instance labels $\{y_i\}_{i=1}^{N_{points}}$ (cf. Eq.~(\ref{e_output})).\\
	8. Remove outliers (cf. Eq~(\ref{outliers})) and return final point labels.
\end{algorithm}

\subsection{Label Diffusion}
The graph matrix $\mat{G}$ guides the label diffusion process for lidar{} point labeling. The nonzero elements of $\mat{G}$ indicate connections along which information on object instance labels should be diffused. The intuition behind the diffusion process is for the 2D pixels to act as source nodes that continuously push label information out through the 3D points, which is then diffused throughout the point cloud according to the connections between points. This process cleans up segmentation boundaries using 3D geometry information, resulting in a final 3D segmentation incorporating both 2D and 3D information.

To perform label diffusion, let us assume in total $M+1$ object instances $\{0,1,\cdots,M\}$, including the background instance, are detected by the 2D segmentation method (the background instance can be defined by the absence of any object mask). Let us define ${\vct{z}}^{(m)}\in\R^N$ as an $N$-dimensional label vector for instance $m$. ${\vct{z}}^{(m)}$ contains one entry for each 3D point and 2D pixel. The entries corresponding to 3D points are initialized to zero, and the entries corresponding to the 2D pixels are defined according to the 2D segmentation masks:
\begin{align}
{\vct{z}}^{(m)}_{i}=
\begin{cases}
0, & \text{if } i < N_{points}\text{, else}\\
\mu(m, i-N_{points}), & \text{otherwise,}
\end{cases}
\label{e_label}
\end{align}
where the mask function $\mu(m,j)$ returns 1 if pixel $\vct{p}_j$ is in the segmentation mask of object instance $m$, and 0 otherwise.

We then iteratively perform the following computation,
\begin{align}
{\vct{z}}^{(m)} \leftarrow \mat{G} \times {\vct{z}}^{(m)} \label{e_LD}
\end{align}
to diffuse labels throughout the graph nodes, for all $M+1$ instances. Note that if point ${\vct{x}}_i$ is unlabeled, but connected to at least one pixel $\vct{p}_j$ labeled with instance $m$ and $\G^{2D\rightarrow3D}_{ij}>0$, then after such a computation we obtain $z^{(m)}_i>0$, indicating an increased likelihood that ${\vct{x}}_i$ will be labeled with instance $m$ as a result of label diffusion from $\vct{p}_j$.

Note that the construction of $G$ with $\begin{bmatrix}
	\mat{0} & \mat{I}
\end{bmatrix}$ as the bottom submatrix ensures that the pixel labels in ${\vct{z}}^{(m)}$ remain unchanged by this matrix multiplication. Since the labels of all initially labeled nodes within the graph remain fixed, and since $\mat{G}$ is row-normalized, the label diffusion is proven to converge according to Zhu~\cite{zhu2005semi}.

We iteratively apply label diffusion according to Eq.~(\ref{e_LD}) until convergence of all ${\vct{z}}^{(m)}$, or until a maximum number of iterations (200, in our experiments). Finally, we then convert the likelihood values to lidar{} point labels according to
\begin{equation}
y_i = \text{argmax}_{m\in\{0,1,\cdots,M\}} z^{(m)}_i. \label{e_output}
\end{equation}
That is, we assign each point the most likely label.

Label diffusion can sometimes result in disjointed sections of object segmentations; most often this occurs if projection or mask boundary errors result in a large number of contiguous background lidar{} points being projected to inside a 2D segmentation mask. To clean up these errors, we introduce an outlier removal step based on finding connected components within $\mat{G}$. Let $\mat{G}^{(m)}$ be the subgraph of $\G^{3D\rightarrow3D}$ defined by considering only lidar{} points labeled as object $m$, i.e. ${\vct{x}}_i$ is a node of $\mat{G}^{(m)}$ if and only if $y_i=m$. Then, let $\mathcal{C}(\mat{G}^{m})$ be the largest connected component in $\mat{G}^{(m)}$, treating it as an undirected graph. We update the lidar{} point labels as
\begin{align}
y_{i} \leftarrow
\begin{cases}
y_i, & \text{if } {\vct{x}}_i \in \mathcal{C}(\mat{G}^{m})\\
0, & \text{otherwise.}
\end{cases}
\forall y_i \in \{y|y=m\}
\label{outliers}
\end{align}
The final output of this pipeline is a lidar{} point cloud where each point is labeled as either a background point, or as part of an object instance (with a class label). Algorithm~\ref{algo} summarizes our overall algorithm.

\section{RESULTS AND EVALUATION}
\label{S_exp}

\subsection{Quantitative Evaluation on the KITTI Data Set}
We present experiments on the KITTI data set~\cite{Geiger2012} in order to quantitatively study the accuracy of LDLS{}. Our evaluation considers the \emph{Pedestrian} and \emph{Car} object classes, as these are \emph{a)} the most common object classes in the KITTI data set and \emph{b)} appear in both the KITTI and MS COCO data sets. This allows us to generate results using Mask-RCNN~\cite{He2017} pretrained on MS COCO, and then evaluate on KITTI. In most of our experiments, we merge the \emph{Pedestrian} and \emph{Person\_sitting} KITTI classes. The KITTI object detection leaderboard also includes cyclists, however since the Mask-RCNN model we use is trained to detect people and bicycles separately, we do not consider this class. We perform no training or fine-tuning of Mask-RCNN on KITTI data, allowing us to study the applicability of our method to a new domain unseen in the image training data.

\subsubsection{Performance Metrics}

\def\mathcal{C}{\mathcal{C}}
\def\mathcal{P}{\mathcal{P}}
\def\mathcal{G}{\mathcal{G}}
\def\pred_c{\mathcal{P}_c}
\def\gt_c{\mathcal{G}_c}
\def\mathcal{M}{\mathcal{M}}

We evaluate using performance metrics for both semantic (per-class) segmentation and instance segmentation~\cite{wu2018squeezeseg}. Given a set of lidar{} points, semantic segmentation is defined as assigning a class label $c \in \C$ to each point, where $\C$ is the set of all classes. In our experiments, $\C = \{Car, Pedestrian\}$. Given point class labels, the segmentation is evaluated by computing precision, recall, and IoU over all $n$ points for each class $c$, as
\begin{equation}\label{eq:sem_precision}
	P_{c} = \frac{|\pred_c \cap \gt_c|}{|\pred_c|},
	R_{c} = \frac{|\pred_c \cap \gt_c|}{|\gt_c|},
	IoU_{c} = \frac{\vert \pred_c \cap \gt_c\vert}{\vert \pred_c \cup \gt_c \vert},
\end{equation}
where $\pred_c$ is the set of lidar{} points predicted to have class $c$ in the segmentation results, $\gt_c$ is the set of points with class $c$ in the ground truth, and $|\cdot|$ denotes cardinality of a set.

An instance segmentation additionally assigns each point an instance label, distinguishing individual cars and pedestrians from one another. To evaluate an instance segmentation, predicted instance labels $i\in\{1,\dots,M_P\}$ must be matched with corresponding ground truth instances $j\in\{1,\dots,M_G\}$. We do this by calculating the IoU between each prediction-ground truth instance pair with the same class label, and then calculating a bipartite graph matching $\mathcal{M}(i)=j$ which maximizes the sum of IoUs between matched instance pairs.

The number of true positives $TP$ is then calculated by counting the number of prediction-truth matchings with IoU over some predefined threshold. The false positive and false negative counts $FP$ and $FN$ are determined by the number of unmatched prediction instances and truth instances, respectively, and instance precision and recall are then computed as
\begin{equation}
	P = \frac{TP}{TP+FP}, \text{ }R = \frac{TP}{TP+FN}.
\end{equation}
It is also possible to calculate instance precision and recall by counting over individual points, rather than instances. However for lidar{} data, this metric is unevenly weighted towards objects that are closer to the sensor because they possess a higher density of points. Our results report instance-level precision and recall in order to avoid this bias.

\subsubsection{Comparison to Other Lidar{} Segmentation Methods}
\def200{200}

\begin{table*}
\caption{Comparison of semantic segmentation accuracy between SqueezeSeg~\cite{wu2018squeezeseg}, SqueezeSegV2~\cite{wu2018squeezesegv2}, PointSeg~\cite{wang2018pointseg}, and LDLS{}.}\label{table:comparison}
\begin{center}
\vskip-10pt
\begin{tabular}{c c |c c c | c c c}
& &  \multicolumn{3}{c}{\textbf{Noisy Ground Truth (2791 Frames)}} & \multicolumn{3}{c}{\textbf{Manually Labeled Ground Truth (200 Frames)}} \\
Class & Method & Precision & Recall & IoU & Precision & Recall & IoU\\
\hline
\multirow{4}{*}{Car} & SqueezeSeg & 66.7 & 95.4 & 64.6 & 51.0 & \textbf{97.2} & 50.3\\
 & SqueezeSegV2 & 81.7 & 87.5 & 73.2 & 63.7 & 90.2 & 59.6\\
 & PointSeg & 77.2 & \textbf{96.2} & \textbf{74.9} &  58.6 & 89.8 & 54.9\\
 & \emph{LDLS{}} & \textbf{87.4} & 75.0 & 67.7 & \textbf{84.1} & 88.4 & \textbf{75.7} \\
 \hline
& SqueezeSeg & 52.9 & 28.6 & 22.8 & 49.7 & 29.7 & 22.8 \\
Pedestrian & SqueezeSegV2 & \textbf{57.4} & 35.0 & 27.8 & 71.1 & 36.2 & 31.5 \\
 \textit{(without Person\_sitting)}& PointSeg & 48.6 & 29.4 & 22.4 & 70.6 & 20.4 & 18.8\\
 & \emph{LDLS{}} & 51.3 & \textbf{81.9} & \textbf{46.0} & \textbf{75.6} & \textbf{87.3} & \textbf{68.1} \\
\hline
\end{tabular}
\end{center}
\vskip-10pt
\end{table*}

We benchmark LDLS{} through a comparison against SqueezeSeg~\cite{wu2018squeezeseg}, SqueezeSegV2~\cite{wu2018squeezesegv2}, and PointSeg~\cite{wang2018pointseg}, state-of-the-art convolutional neural network methods for object segmentation in lidar{} point clouds.
These methods take as input a lidar{} point cloud transformed through panoramic projection into a $64\times512\times5$ tensor, where the 5 channels are $x$-, $y$-, and $z$-coordinates, depth, and lidar{} intensity. Since KITTI provides 3D bounding box object annotations, rather than point labels, Wu \MakeLowercase{\textit{et al.}}~\cite{wu2018squeezeseg} generated segmentation annotations by labeling points that fall within the annotated 3D boxes, producing an 8057-frame training set and a 2791-frame validation set.

However, this bounding box-based annotation process results in labeling errors, for example from extra points that fall within the boxes. In order to maximize the quality of our evaluation, we therefore manually annotated 200{} KITTI point clouds (randomly selected from within the validation set used by SqueezeSeg) with class and instance ground truth segmentations. In our annotation process, point labels are initialized according to the KITTI bounding boxes, and then manually cleaned up by annotators. The end result is a set of pristinely labeled ground truth point clouds. Note that KITTI objects whose bounding boxes contain no lidar{} points are dropped. In order to quantify the error of the bounding box-generated point labels, we calculated the semantic segmentation IoU of the KITTI box-derived labels with our manually annotated labels, and found an overall IoU of 81.1 for cars and 93.4 for pedestrians, indicating a significant amount of error in bounding box-generated labels.

We apply LDLS{} to the 2791-frame SqueezeSeg validation data set, as well as our 200{}-frame manually labeled data set. These two evaluations each present a different takeaway. The 2791-frame evaluation is useful due to its large scale, and due to its usage by previous works. However, due to the bias caused by annotation errors, this evaluation cannot definitively establish real-world segmentation performance. Rather, its purpose is to broadly establish competitiveness of our method alongside existing works. The smaller-scale evaluation on manual annotations complements the first evaluation by removing annotation error, and therefore offering the clearest possible indicator of expected real-world performance.

Table \ref{table:comparison} presents results from these two evaluations. SqueezeSeg, SqueezeSegV2, and PointSeg results are produced after training on the 8057-point cloud training set. For these methods, results on the noisy ground truth are taken from their respective papers~\cite{wu2018squeezeseg,wu2018squeezesegv2,wang2018pointseg}. As the SqueezeSeg validation data set does not include instance labels, Table \ref{table:comparison} presents results using semantic segmentation metrics only. For consistency with the other methods, we treat \emph{Pedestrian} and \emph{Person\_sitting} as two separate classes in this experiment only, even though the Mask-RCNN model used in LDLS{} does not distinguish between the two. This only slightly impacts our results, due to the small number of \emph{Person\_sitting} instances in KITTI. Results in all other following experiments are presented with these two classes merged.

When measured on the SqueezeSeg validation data, LDLS{} achieves competitive semantic segmentation performance compared to SqueezeSeg, SqueezeSegV2, and PointSeg, although without any training on labeled 3D data. Additionally, LDLS{} outperforms the other methods in overall pedestrian segmentation IoU. On the manually labeled data, the difference is far more pronounced. Our method achieves a $27.0$\% increase in IoU for car segmentation and a $116.2$\% increase for pedestrian segmentation as compared to the next-best method.
We hypothesize that one reason for the difference in performance between LDLS{} and SqueezeSeg/PointSeg is that the latter methods were trained on data that includes annotation errors. When the test set includes similar annotation errors and is therefore closer to the training domain (i.e. the SqueezeSeg validation set), the performance difference between LDLS{} and the other methods is smaller. However, this gap grows wider for evaluation on error-free annotations.

It is noted that this comparison is not symmetrical---SqueezeSeg and PointSeg make use of labeled 3D training data, while LDLS{} uses RGB images as well as a pretrained 2D segmentation model (implicitly also using 2D image training data). However, it is important to view this difference in the context of robotics applications. Lidar{}-equipped robots commonly also have a camera sensor, or can be inexpensively outfitted with one. On the other hand, creating a labeled training set of thousands of lidar{} point clouds is difficult and time-consuming. Therefore, if installing a camera on a robot and then applying an off-the-shelf image segmentation model can enable similar or greater 3D segmentation performance as a model trained on labeled point clouds, adding the camera information is a reasonable choice in a robotics context.

\subsubsection{Instance Segmentation Evaluation}

We also present an instance segmentation evaluation by applying LDLS{} to our manually annotated KITTI ground truth data. Results calculated across all object instances in the ground truth are shown in Table \ref{table:instance_seg}.
\begin{table}
\caption{Instance segmentation performance on manual annotations.}\label{table:instance_seg}
\begin{center}
\vskip-10pt
\begin{tabular}{c c|c c c c c}
IoU Threshold & Class & Precision & Recall & TP & FP & FN \\
 \hline
\multirow{2}{*}{0.50} & Car & 66.8 & 79.3 & 544 & 270 & 142  \\
 & Pedestrian & 51.4 & 68.4 & 128 & 121 & 59  \\
\hline
\multirow{2}{*}{0.70} & Car & 57.7 & 68.5 & 470 & 344 & 216 \\
 & Pedestrian & 48.6 & 64.7 & 121 & 128 & 66 \\
\hline
\end{tabular}
\end{center}
\vskip-10pt
\end{table}
To better understand the performance of LDLS{}, we additionally study the effect of object range on accuracy. Label diffusion assumes that neighboring points are more likely to share a class label; this assumption weakens at further distances from the sensor, where lidar{} data becomes sparser. Therefore, we hypothesize that LDLS{} should be more reliable for objects that are closer to the sensor and visible with a higher density of points.
\begin{figure}
  \centering
  \includegraphics[width=\columnwidth]{range_vs_pr.pdf}
  \vskip-10pt
  \caption{Effect of range on semantic and instance segmentation precision and recall. Instance segmentation metrics use $IoU=.70$.}\label{fig:range_vs_pr}
  \vskip-10pt
\end{figure}
\begin{figure}[t]
	\centering
  \includegraphics[width=\columnwidth]{range_scatter.pdf}
  \vskip-10pt
  \caption{Scatter plot showing object range versus segmentation IoU. Each point is a pedestrian or car instance. Zero IoU points indicate false negatives.}\label{fig:range_vs_iou_scatter}
  \vskip-10pt
\end{figure}
We test this hypothesis by performing evaluations at different ranges. For each evaluation, we exclude all lidar{} points above a given maximum range cutoff. Results are plotted in Figure \ref{fig:range_vs_pr}. As range from the sensor increases, instance segmentation performance decreases significantly. Semantic segmentation degradation is not as significant; likely because these metrics count numbers of points and therefore are biased towards nearer, more densely populated lidar{} points.

Figure \ref{fig:range_vs_iou_scatter} plots each object instance within our test set on a scatter plot, as a function of distance to the object's centroid against instance segmentation IoU. As objects become more distant, a wider range of IoU results appear.

These experiments indicate that LDLS{} generally segments object instances more reliably at closer distances, with performance falling off as range increases. This suggests that an all-purpose robotic perception system may be best served by using a vision-based bounding box object detector at far ranges, with LDLS{} applied at close ranges to allow a robot to precisely sense and interact with its immediate surroundings.

\subsubsection{Ablation Study}

To demonstrate the benefits of the different components of the LDLS{}  pipeline, we perform an ablation study by removing different components and comparing results. The ablation settings we experimented with are:

\begin{enumerate}
  \item \emph{Direct projection labeling} Lidar{} points are naively labeled, without graph diffusion, based on whether they project to within a 2D segmentation mask in the image.
  \item \emph{Diffusion without outlier removal} The full pipeline is executed, except for the final outlier removal step.
\end{enumerate}

Table \ref{table:ablation} contains semantic and instance (using both the 0.50 and 0.70 IoU thresholds) segmentation results from running these settings on the manually annotated data. We see that both the diffusion and outlier removal steps improve overall performance, with the former contributing a major performance gain. This finding confirms the value of label diffusion in fusing 2D and 3D information. Note that the full pipeline results differ slightly from the results presented in Table \ref{table:comparison}, since the ablation results are calculated after merging the \emph{Person\_sitting} and \emph{Pedestrian} classes.

\begin{table*}
\begin{center}
\caption{Ablation study results.}\label{table:ablation}
\vskip -8pt
\tabcolsep 3.3pt
\begin{tabular}{c c|c c c|c c | c c}
& & \multicolumn{3}{c}{Semantic Segmentation} & \multicolumn{2}{c}{Instance Seg. IoU=0.50} & \multicolumn{2}{c}{Instance Seg. IoU=0.70}\\
Ablation Setting & Class & Precision & Recall & IoU & Precision & Recall & Precision & Recall \\
\hline
\multirow{2}{*}{Direct projection labeling without diffusion} & Car & 69.2 & 83.2 & 60.7 & 44.1 & 59.8 & 16.4 & 22.2\\
& Pedestrian + Person Sitting & 60.1 & 72.2 & 48.8 & 30.0 & 51.9 & 5.3 & 9.1\\
\hline
\multirow{2}{*}{Diffusion without outlier removal} & Car & 78.2 & 90.8 & 72.5 & 66.3 & 78.7 & 51.6 & 61.2\\
& Pedestrian & 72.9 & 89.1 & 66.9 & 50.6 & 67.4 & 47.4 & 63.1\\
 \hline
\multirow{2}{*}{Original, with all components} & Car & 84.1 & 88.4 & 75.7 & 66.8 & 79.3 & 57.7 & 68.5\\
& Pedestrian & 77.7 & 86.4 & 69.2 & 51.4 & 68.4 & 48.6 & 64.7\\
\hline
\end{tabular}
\end{center}
\vskip-10pt
\end{table*}

\subsection{Qualitative Evaluation}
\begin{figure*}
	\centering
   \includegraphics[width=\textwidth]{qualitative.jpeg}
   \vskip-10pt
   \caption{Qualitative results from running LDLS{} on the KITTI Drive 64 and Drive 91 sequences, as well as on data collected on the Cornell campus using a mobile robot. Highlighted COCO object classes segmented in the lidar{} data are 'person' (shown in red), 'car' (blue), 'truck' (green), 'bicycle' (purple), 'chair' (orange), 'bench' (pink), and 'potted plant' (yellow). Mask-RCNN segmentations are shown in the corresponding images.}\label{fig:qual_eval}
   \vskip-10pt
\end{figure*}
Our quantitative study establishes the accuracy of LDLS{} on large-scale annotated ground truth, but is limited to just two object classes, and data from a high-resolution lidar{} sensor. In order to complement the quantitative evaluation, and demonstrate the applicability of LDLS{} to different environments, classes, sensors, and data collection platforms, we present two additional sets of results: \emph{a)} residential and urban sequences from KITTI~\cite{Geiger2013IJRR}, and \emph{b)} a sequence captured on the Cornell University campus using a Clearpath\texttrademark{} Jackal mobile ground robot with a Velodyne VLP-16 lidar{} sensor and RGB camera.

For this evaluation, we present segmentation results on a wider variety of MS COCO classes, including people, cars, trucks, bicycles, chairs, benches, and potted plants. Segmentation of all of these object classes in lidar{} data is made possible since LDLS{} adopts all classes that are detected by the image segmentation model used; in this case the Mask-RCNN model pretrained on the MS COCO data set. An overview of results is shown in Figure \ref{fig:qual_eval}. In the KITTI data, new object classes are generally segmented with qualitatively comparable accuracy to cars and pedestrians, although narrower objects such as bicycles present a challenge. In comparison, the campus data collection on the Jackal robot exhibits more segmentation errors, and performance breaks down more significantly for objects at farther distances. We hypothesize the following reasons for these differences: Firstly, the VLP-16 sensor outputs only 16 laser scan lines, as opposed to the 64-scan lidar{} used in KITTI, making the lidar{} point clouds sparser and more difficult to segment, especially at further ranges. We also believe that errors from sensor calibration~\cite{Geiger2012a} and time synchronization were higher on the Jackal, compared to the KITTI data set.  Still, we find LDLS{} to demonstrate adequate segmentation performance for a small, relatively inexpensive robot.

In terms of computation, the graph construction and sparse matrix multiplication iterations are highly parallelizable and can be GPU-accelerated~\cite{Bell2008}. On the KITTI evaluation data, our current Python implementation averages approximately .38 seconds per frame on an Nvidia GTX 1080 Ti, excluding the computation of Mask-RCNN results.

\section{CONCLUSION}

In this paper, we present LDLS{}, a method for instance segmentation of 3D point clouds which leverages a pretrained 2D image segmentation model, followed by label diffusion on a graph connecting 2D pixels and 3D points, to remove any need for labeled 3D training data. By removing this requirement, we make LDLS{} suitable for application in various environments and on different robotic platforms. Quantitative evaluations on the KITTI data set demonstrate superior accuracy at car and pedestrian segmentation compared to previous methods, and qualitative evaluations demonstrate segmentation of a wider variety of object classes. Our results are additionally presented without fine-tuning of the image segmentation model, demonstrating generalizability to new domains.

\section{INTRODUCTION}
\label{S_intro}

\IEEEPARstart{R}{obots} in a variety of applications require the ability to recognize objects of interest in their environment and distinguish them from the background, using 3D sensors. Examples range from autonomous cars detecting nearby pedestrians, to an industrial robot identifying an object to be assembled.
Modern lidar{} sensors and stereo cameras allow robots to perceive their 3D surroundings in detail as a point cloud. In particular, lidar{} sensors provide 3D spatial measurements with extreme precision.
For a robot to effectively navigate and/or interact with its surroundings,
a method is needed to reliably perform detection and point-by-point segmentation of  objects in 3D point clouds. Figure \ref{fig:segmentation_example} demonstrates this task.

\begin{figure}
	\includegraphics[width=\columnwidth]{instance_seg.jpeg}
	\vskip -5pt
	\caption{Our approach, Label Diffusion \Lidar{} Segmentation~(LDLS), performs instance segmentation on 3D lidar{} point clouds by leveraging information from an aligned camera. This allows LDLS{} to recognize a wide variety of object classes (including people, bicycles, a car, and a dog, in this example image), while requiring no training on labeled 3D lidar{} data.}
	\label{fig:segmentation_example}
	\vskip -10pt
\end{figure}

Recently, object detection and segmentation in 2D images have undergone impressive improvements in accuracy and reliability through the rise of approaches based on deep convolutional neural networks~\cite{He2017,Liu2016,Ren2015}. 2D images are a natural fit for deep learning: their inherent pixel grid structure allows convolutional neural networks to be applied effectively and efficiently~\cite{Krizhevsky2012}, and large data sets can be labeled easily by non-experts, enabling deep neural networks to thrive.

In contrast, 3D point clouds are unstructured by nature and laborious to label. Although some successful attempts have been made to convert point clouds into inputs for deep networks~\cite{Qi2017,wu2018squeezeseg,wu2018squeezesegv2,wang2018pointseg,Zhou2017,Ku2017,Qi2018}, the lack of large labeled data sets serves as an inherent limitation. Annotating 3D point clouds is a time-consuming and difficult process; a single lidar{} point cloud can contain tens of thousands of points, and labeling of many such point clouds would be required. Furthermore, these challenges scale with the number of object classes, and with the variety in environments. As evidence for the asymmetry between the difficulty of 2D and 3D labeling, one can look at the relative sizes of the MS COCO~\cite{Lin2014} and KITTI~\cite{Geiger2012} data sets - the image-only MS COCO data set contains over 200,000 labeled images and 1.5 million labeled object instances, whereas the image-and-lidar{} KITTI object detection data set contains 7,481 image-point cloud pairs for training and 7,518 for testing, with 80,256 object instances.

In this paper we propose a novel approach to 3D object segmentation, which bypasses the challenges inherent in the use of 3D point clouds with deep neural networks. Our method leverages the success of convolutional neural networks for 2D image segmentation and frames 3D point cloud segmentation as a semi-supervised learning problem on graphs~\cite{Zhu2002,zhu2005semi}.
In order to leverage the advantages of both data modalities, we observe a scene with a 3D lidar{} sensor \emph{and} an aligned 2D camera. We apply an off-the-shelf object segmentation algorithm (Mask-RCNN~\cite{He2017}) to the 2D image in order to detect object classes and instances at the pixel-by-pixel level.
Subsequently, we construct a graph by connecting 2D pixels to 3D lidar{} points according to their 2D projected locations, as well as connecting lidar{} points that neighbor one another in 3D space. We use label diffusion~\cite{Zhu2002} to propagate 2D segmentation labels through this graph, thereby labeling the 3D lidar{} points.
We refer to our algorithm as \emph{Label Diffusion \Lidar{} Segmentation{} (LDLS{}}).
The end result is a fully labeled 3D point cloud, obtained by leveraging the strengths of both data modalities. The camera provides rich semantic information about object classes and facilitates the application of deep neural networks, and the lidar{} sensor provides precise 3D spatial measurements. Additionally, by identifying objects in 3D at the point level, rather than outputting rectangular 3D bounding boxes around detected objects~\cite{Zhou2017,Yang2018,Ku2017,Qi2018,Du2018}, LDLS{} allows much more precise localization of object instances which do not neatly fit into rectangular boxes, such as people, animals, etc.

Although labeled images are required to train the 2D object segmentation model, this is a much lower barrier than requiring 3D annotated point clouds. Furthermore, open-source pretrained models are available for a variety of object classes; thus collection of training data may not even be necessary in some cases. By removing the need for labeled 3D training data, LDLS{} facilitates generalization to new environments, object classes, and robot sensor configurations.

We conduct experiments on the KITTI data set~\cite{Geiger2012,Geiger2013IJRR} to quantitatively evaluate and analyze the accuracy of LDLS{}. Our experimental results include evaluations on a subset of the KITTI object detection data set which we have manually annotated with point-level labels, in order to evaluate point-wise segmentation. We additionally present qualitative evaluations on KITTI data, as well as on data collected with a mobile robot equipped with a camera and lower-resolution 3D lidar{} sensor. Our results demonstrate that LDLS{} can be applied successfully in different domains on different sensors, and is capable of detecting a variety of object classes due to the flexibility of the pretrained image object detector. Our manually labeled KITTI ground truth data set, and an open-source implementation of LDLS{}, are shared publicly at \url{https://github.com/brian-h-wang/LDLS}.

\section*{ACKNOWLEDGMENT}
The authors would like to thank Sarah Allen, Christopher Graef, Emily Sun, and Shuo Han for their help with collecting and preparing the data used in the presented experiments.

\section{RELATED WORK}
\label{S_related}

\subsection{Deep Learning on Point Clouds}

Deep neural networks have been proposed for various perception tasks on point clouds in the past. PointNet~\cite{Qi2017} defines a network architecture that operates directly on unstructured point clouds and extracts features that are invariant to point re-ordering, capturing both local and global point cloud information. PointNet and its successor PointNet++~\cite{Qi2017a} have been shown to be successful at point cloud classification and semantic segmentation, and have also been extended to object detection~\cite{Qi2018} and instance segmentation~\cite{wang2018sgpn}.

Other methods extend convolutional neural networks to point clouds. Since 3D points lack the grid structure of images, one approach is to arrange the points into a 3D voxel grid and perform 3D convolution~\cite{Zhou2017}; however this can be computationally inefficient, especially for sparse lidar{} point clouds~\cite{Ren2018}. Alternatively, points can be projected into 2D, using panoramic projection~\cite{wu2018squeezeseg, wang2018pointseg} or a bird's-eye view~\cite{Yang2018}. These projections allow 2D convolution, but information is lost in the reduction to 2D, rendering these approaches unsuitable for some environments, especially complex or cluttered scenes. Recently, \cite{wang2018deep} and \cite{Li2018} propose direct convolution over point clouds by adjusting the kernel weights locally according to irregular point positions.

Several methods for object detection in autonomous driving scenes use lidar{} sensor data alongside images from an aligned camera~\cite{Ku2017,Qi2018,Du2018}, using the KITTI data set for training and evaluation~\cite{Geiger2012}.
While the KITTI data set is an excellent benchmark, its annotations are 3D bounding boxes, and object classes are limited to driving-relevant objects such as pedestrians, cars, and cyclists. There is significant potential benefit to a variety of robotics applications in building methods that recognize a broader variety of objects, and output point-level segmentations. Along these lines, a key limitation---and opportunity---in deep learning on point clouds is the expansion of labeled data. Recent works~\cite{Lee2018,lertniphonphan20182d} attempt to ease the process of annotating ground truth point clouds.

\subsection{Graphical Models and 2D-3D Fusion}

As an alternative to deep neural networks, graphical models have been successfully applied to point clouds for various tasks. Previous works by Maddern \& Newman~\cite{Maddern2016} and Schoenberg \MakeLowercase{\textit{et al.}}~\cite{Schoenberg2010} use graphical models to fuse lidar{} scans and stereo camera depth maps to produce accurate dense depth maps suitable for use on autonomous vehicles. Wang \MakeLowercase{\textit{et al.}}~\cite{Wang2013}~propose a semantic segmentation method for image-aligned 3D point clouds by retrieving referenced labeled images of similar appearances and then propagating their labels to the 3D points using a graphical model.

Various other approaches for fusion of 2D and 3D information have also been considered. Wang \& Neumann~\cite{Wang2018DepthCNN} add depth-aware operations to standard CNNs to improve segmentation performance for RGBD images. Xie \MakeLowercase{\textit{et al.}}{}~\cite{Xie2016} developed a method to rapidly annotate 2D street scenes by first drawing labeled bounding primitives in 3D, and then transferring labels on to 2D images. Zhang \MakeLowercase{\textit{et al.}}{}~\cite{Zhang2018} train a neural network for 2D semantic segmentation, then project onto dense 3D data from a long-range laser scanner. This work uses the additional assumption of coplanar dense points sharing labels to clean projected labels and achieve semantic background segmentation of classes such as buildings and roads. These various concepts of 2D-3D fusion demonstrate that point clouds and images can be used to complement one another in the perception process.

\subsection{Learning with Graphs}

Our proposed approach is based on semi-supervised learning with graphs. Graph-based methods are well-established in machine learning, especially for nearest-neighbor graphs built upon the manifold assumption~\cite{belkin2004regularization, zhu2005semi}. In this paper, we construct the graph according to 3D lidar{} point locations, as well as their projected 2D image pixel coordinates, and adapt the label diffusion algorithm by Zhu~\cite{zhu2005semi}.

redpajama_set_name: RedPajamaArXiv


It's Nanowrimo time again! For those of you who don't know, National Novel Writing Month (NaNoWriMo) is a time when writers from all over the world commit to writing 50,000 words during November.
IIn many ways, these books are disturbing reads, and for that reason, I would not recommend them for most people. However, I find them worth commenting about because they tackle with death, artificial intelligence, God, and human brokenness; Shusterman has found a way to create a fascinating framework from which to wrestle with these subjects.
It's been about three years since I started writing Mirror of Sparrows, now moving forward into the fourth year. So it's a time of reflection and evaluation. Why am I doing this?
On why rough drafts should be kept secret.
For writers' sakes, it's important to distinguish between what words, especially rough drafts, are meant for the public and what words might be best kept private. Private writing should be guarded with care. Why? You wouldn't want a stranger or unkind person reading your journal (or anyone, for that matter), right? For the same reason, … Continue reading On why rough drafts should be kept secret.
This past week, I felt myself tear up a few times - I guess I was anxious or whatever - but, I don't feel at all bad now. Turning forty has been pretty super special. On marriage: Max and I have been married almost 15 years. We've certainly gone through some rough patches, but we … Continue reading On turning forty!


text:
ABOUT EMS
Whistleblowing channel
U.S. plans to lift entry restrictions for vaccinated international travelers
by EMS Employee Mobility Solutions | Sep 21, 2021 | Immigration
The White House announced that it will remove certain restrictions related to the entry of international travelers who are vaccinated against Covid-19, beginning in November. This removal of restrictions includes travelers from the United Kingdom and the European Union.
In order to enter the United States, travelers must be vaccinated and show a negative Covid-19 test obtained no more than 72 hours prior to travel, according to Jeff Zients, who leads the White House's coronavirus outreach effort. All required documentation must be presented before boarding in the city of origin. Exceptions to the vaccination requirement include minors who are not of age to be vaccinated.
This announcement ends a series of travel restrictions that had originated under the previous administration, in the midst of crucial moments of the pandemic, and which have been in place for 18 months. With the change of administration, President Biden ratified these restrictions in January, shortly after his inauguration. Only U.S. citizens, permanent residents and some specific exemptions, usually related to humanitarian travel or essential workers, are allowed to enter. However, the Biden administration is tightening entry for those mentioned as it is requiring negative proof before travel and another proof after their return.
Part of the plan to lift restrictions will include in the coming weeks, by CDC, a contact tracing order, seeking to have more information on travelers, including email and phone numbers, in order to maintain contact and alert them of possible exposure to the virus. There are still differences between the White House and CDC regarding the definition of "fully vaccinated" considering that there are certain vaccines that are not being used in the United States, as is the case of AstraZeneca, but are widely used in Europe.
Different media mention that the long-awaited lifting of travel restrictions to the United States will begin on November 1; others, a little less specific, refer to the beginning of the same month as the starting point. The great majority, however, talk about the economic benefits for airlines, hotels and other related guilds, together with a boost to the economy, and a decision to reciprocate with the will of European countries that have shown great progress in the management of Covid, due to their vaccination and prevention campaigns. All this together with the possibility that many of the travelers can be reunited with their loved ones after a long time.
Source: https://apnews.com/article/biden-easing-foreign-travel-restrictions-requiring-vaccines-5d78d14dab51389b02fd70228a5b55b9
*The information provided is based on the White House press conference in regards to the administration's plans that will become effective once the White House makes it official on November first
Legal Advice & Privacy of EMS
For immediate assistance you can
Europe, Middle East and Asia
Americas & LATAM
info@ems-ir.com
This website uses cookies. See Cookies Policy >


text:
using NUnit.Framework;
using System.Net.Http;
using System.Text;
// ReSharper disable InconsistentNaming

namespace TinifyAPI.Tests
{
    [TestFixture]
    public class Result_With_MetaAndData
    {
        Result subject;

        [SetUp]
        public void SetUp()
        {
            var response = new HttpResponseMessage()
            {
                Content = new StringContent("image data")
            };

            response.Headers.Add("Image-Width", "100");
            response.Headers.Add("Image-Height", "60");
            response.Content.Headers.Clear();
            response.Content.Headers.Add("Content-Length", "450");
            response.Content.Headers.Add("Content-Type", "image/png");
            subject = new Result(response.Headers, response.Content.Headers, Encoding.ASCII.GetBytes("image data"));
        }

        [Test]
        public void Width_Should_ReturnImageWidth()
        {
            Assert.AreEqual(100, subject.Width);
        }

        [Test]
        public void Height_Should_ReturnImageHeight()
        {
            Assert.AreEqual(60, subject.Height);
        }

        [Test]
        public void Size_Should_ReturnContentLength()
        {
            Assert.AreEqual(450, subject.Size);
        }

        [Test]
        public void ContentType_Should_ReturnMimeType()
        {
            Assert.AreEqual("image/png", subject.ContentType);
        }

        [Test]
        public void ToBuffer_Should_ReturnImageData()
        {
            Assert.AreEqual(Encoding.ASCII.GetBytes("image data"), subject.ToBuffer());
        }

        [Test]
        public void Extension_Should_ReturnExtension()
        {
            Assert.AreEqual("png", subject.Extension);
        }
    }

    [TestFixture]
    public class Result_Without_MetaAndData
    {
        Result subject;

        [SetUp]
        public void SetUp()
        {
            var response = new HttpResponseMessage()
            {
                Content = new StringContent("")
            };

            response.Content.Headers.Clear();
            response.Content.Headers.ContentLength = null;
            subject = new Result(response.Headers, response.Content.Headers, null);
        }

        [Test]
        public void Width_Should_ReturnNull()
        {
            Assert.AreEqual(null, subject.Width);
        }

        [Test]
        public void Height_Should_ReturnNull()
        {
            Assert.AreEqual(null, subject.Height);
        }

        [Test]
        public void Location_Should_ReturnImageNull()
        {
            Assert.AreEqual(null, subject.Location);
        }

        [Test]
        public void Size_Should_ReturnNull()
        {
            Assert.AreEqual(null, subject.Size);
        }

        [Test]
        public void ContentType_Should_ReturnNull()
        {
            Assert.AreEqual(null, subject.ContentType);
        }

        [Test]
        public void ToBuffer_Should_ReturnNull()
        {
            Assert.AreEqual(null, subject.ToBuffer());
        }

        [Test]
        public void Extension_Should_ReturnNull()
        {
            Assert.AreEqual(null, subject.Extension);
        }

    }
}

redpajama_set_name: RedPajamaGithub


text:
Home » Latest News » DLNR News Release-New Life Comes to Pohoiki After Eruption, Nov. 15, 2019
DLNR News Release-New Life Comes to Pohoiki After Eruption, Nov. 15, 2019
14 Months After Lava Stopped, Seven Anchialine Pools Appear
(Pohoiki, Hawai'i Island) – An enormous and ever-growing black sand beach is not the only new feature at Pohoiki, the site of a former boat ramp, rendered obsolete after being surrounded by lava. Biologists from the DLNR Division of Aquatic Resources (DAR) have noted at least seven anchialine pools dotting the Pohoiki landscape.
Troy Sakihara explained, "Anchialine pools are brackish water pools that are land-locked,but are connected to the ocean and groundwater through the underground. They fluctuate with tides and while they may seem like unassuming, little puddles of water they are home to an array of endemic species found only in Hawai'i."
The most common aquatic creature found in Hawai'i's anchialine pools are ʻōpaeʻula, the tiny Hawaiian red shrimp. They're popular in desktop aquariums and Sakihara describes them as very charismatic – not the least of which they're ability to evolve and thrive in a variety of habitats like volcanic rock and sand.
Biologists say they're not terribly surprised that ʻōpaeʻula and other native shrimp are beginning to show up at Pohoiki and likely in other anchialine pools up and down the Puna coast that were inundated by lava flows. The where and how of their reappearance is still a bit of a mystery, but experts do know that they quickly re-inhabit bomb impact craters at places like Kaho'olawe. Sakihara said, "It is still a question that we're trying to answer as far as how they recruit so fast into these pools."
Historically anchialine pools have been critical sources of fresh water, particularly in arid regions. Hawai'i has the highest concentrate of these ponds in the world, with a conservative estimate of 600 out of a worldwide total of a thousand.
DAR Administrator Brian Neilson commented, "These pools are really valuable resources – ecologically, biologically, and culturally. Our team is currently working on a rules package to provide better management strategies for anchialine pools. One of the things people can do right now is to stay out of these sensitive areas. Sunscreens and other body oils can degrade water quality and potentially kill creatures like the ʻōpaeʻula."
On a recent visit to Pohoiki, Neilson and Sakihara, watched a woman with a snorkel, float in one of the new anchialine pools for more than an hour. Neilson concluded, "We want to educate folks and ask them not to disturb these pools and minimize their interactions with them. Please don't swim or snorkel in them, as you may be killing some of the most endangered aquatic creatures in the state. Respect them and enjoy them, with your eyes, only."
(All video/images courtesy: DLNR)
HD video – Pohoiki anchialine pools:
https://vimeo.com/373208207 (shot sheet attached)
Photographs – Pohoiki anchialine pools:
https://www.dropbox.com/sh/ooripy43nqbdu7b/AADAYKl_6u1-tYumGqdPUu55a?dl=0


text:
Q: Is it possible to set separate Taskwarrior files? I have been using Taskwarrior primarily to track books I read and I want to read (for some years now, actually), so projects are based on book genres and customised fields are also related to books in general.
The Taskwarrior documentation simply states the program creates the .taskrc file with the tasks and configurations inside the .task folder. I was wondering: is it possible to set a new task file in another location outside home and specify Taskwarrior to read it in my command line call, so I don't have to mix my two lists?

A: You can do that by setting the TASKDATA environment variable when running the task command.
Adding a task to a test environment:
➜  ~ TASKDATA=~/test task add test1
TASKDATA override: /home/tom/test
Created task 1.

Adding a task to your normal environment:
➜  ~ TASKDATA=~/.task task add test1
TASKDATA override: /home/tom/.task
Created task 354.

However I don't think you should use taskwarrior like this. Taskwarrior supports filtering your tasks using contexts. This makes it possible to filter your tasks based on tags and projects of the tasks, which sounds like what you want to do.
You could add the following to your .taskrc to create the context fiction:
context.fiction+=+fiction or pro:fiction.

Now if you execute task context fiction, only the tasks that have the fiction tag or are assigned to the project fiction are displayed when you run task.


Pictures shown here are taken from various sources such as Facebook friends, Books, Google and newspapers; thanks.
A equals X plus Y plus Z.
Z is keep your mouth shut.
The secret of your success is hidden in your daily habits.
And value others' that deserve it.
The way to rise is to obey and please.
The miracle, or the power, that elevates the few is to be found in their industry, application, and perseverance under the promptings of a brave, determined sprit.


Transforming the Artists' Studio into a space of collective listening, Noah Angell guides us through an auditory cinema of desire, distance and bodily rhythm. Featuring ethnographic field recordings from Papua New Guinea, Bulgaria, France, Mississippi and more, Angell's new lecture-performance looks at love songs transmitted via bird and insect messengers, prison songs where the yearnings of the incarcerated fail to reach their loved ones and maternal resonances of bass immersion as exemplified in recordings of gongs.
Noah Angell was born in the United States in 1980 and lives and works in London. Recent exhibitions and events include: From home movies to Homs at Birkbeck Cinema, London (2015); Crying in the ethnographic field recording and home recordings: first iteration at The Green Parrot, Barcelona (2015); Home Recordings: first iteration, noshowspace, London (2015); Anomalies & nonrepresentative instances in the ethnographic field recording, Duke University, North Carolina(2015); The Politics of the Inaudible, Open School East, London(2014); Tertulia, Arnolfini, Bristol (2014); Right to Silence, Rietveld Academie, Amsterdam(2014); and the solo exhibitions Noah Angell FILMS: 2006 – 2012, KARST, Plymouth (2013) and Noah Angell: Film Works, Oksasenkatu 11, Helsinki (2011).


Consistent dental check-ups help catch problems when they are small and easier to treat. Left unattended, small treatable problems become worse and may require more extensive, expensive procedures to repair. Regular examinations are important to your health.
Sleep apnea is a condition that affects how you breathe when sleeping. If you think you may have sleep apnea, we can help identify and diagnose the severity of the sleep apnea and discuss the best treatment options for your unique situation.


text:
This 50-inch Hisense 4K Smart Roku TV is discounted to $250 at Best Buy
By Alex Smith
A selection of Hisense smart TVs are now on sale at Best Buy, including this 50-inch 4K UHD Smart Roku TV (R7 Series) that's down to just $249.99 while supplies last.
Another great pick is Hisense' 50-inch 4K UHD Smart Android TV that's now on sale for $329.99. This deal saves you $50 off its usual price. Then again, if you're looking to get the biggest and best of Hisense's TVs on sale, this 65-inch 4K UHD Smart Android TV on sale for $699.99 is the model you'll want to look into.
This 50-inch 4K Smart TV has Roku functionality built-in so you can access services like Netflix and Disney+ along with The Roku Channel and more. You'll even be able to use the Roku mobile app on your phone as a remote.
Hisense's 50-inch 4K UHD Roku smart TV features native 4K resolution and Dolby Vision HDR for a cinema-like viewing experience in the comfort of your own home. It has built-in Wi-Fi and, with its integrated Roku functionality, you can access streaming services and apps like Netflix, Disney+, Hulu, and more without needing a separate streaming media player. This TV can do it all on its own. It even works with both Google Assistant and Amazon Alexa for voice control, though you'll need a compatible device such as the Amazon Echo Dot (opens in new tab).
With the free Roku mobile app, you can even watch movies and shows from The Roku Channel on the go or use it as a second remote. It even allows you to plug in headphones to your phone so you can listen to your TV privately.
This 50-inch smart TV has a 120 Motion Rate, three HDMI inputs, and two 10W main channel speakers. That's not bad, though your movie and tv-watching experience would probably benefit from having a nice soundbar too. This guide to the best soundbars in 2020 has some really great picks if you don't have one at home already.
Hisense's TV ships for free at Best Buy, though you could receive your order even faster by selecting free in-store pickup where available.
Alex is a graduate from the University of North Florida with a background in sales and merchandising. When he's not hunting down the next great deals to post on Thrifter, he can be found making music and working on his eBay business.
Galaxy S23 Ultra hands-on shows off the insane 200MP camera
The best Samsung Galaxy S22 deals and prices of January 2023
LTE smartwatches aren't for everyone, but some think they're worth it
Best Verizon phones 2023
Amazon's Super Bowl TV sale is live — Fire TV deals, discounted QLEDs, and more