Hello, everyone, I'm Dr. Andhra La Khartua, post-graduate resident in the Department of Radio Diagnosis, Dr. RML Hospital, New Delhi. The topic of my presentation today is role of MRI in evaluation of pediatric spinal dysraphysm. Introduction, congenital anomalies of spine and spinal cord are collectively termed a spinal dysraphysm. It includes a spectrum of congenital fusion anomalies or one or more dorsal midline structures including skin, subcutaneous tissue, vertebrae, meninges and neural tissue. As a result, there is either absinthe or incomplete fusion of midline spinal enemens. These occur during two to six weeks of gestation. The estimated incidence is about one to three per thousand live birds, however its prevalence has been in decline in the world over the last few decades due to better nutrition for women, folic acid supplementation, improved antenatal care, high-resolution ultrasound for prenatal screening and biochemical markers. Coming to the classification, spinal dysraphysm can be open or closed type based on the presence or absence or absence of overlying skin. In open type, the overlying skin is absent and the nervous tissue and our meninges is exposed to the environment. It is again classified based on the position of the placard. Placard can be beyond the skin surface as in myelomeningosil or hemi myelomeningosil or flushed with the skin surface as in myelosil or hemi myelosil. Closed spinal dysraphysm can be spina bifida cystica where there is a subcutaneous mass or it can be spina bifida occulta where there is no subcutaneous mass. Spina bifida cystica can be fat containing as in lipo myelosil or lipo myelomeningosil or fluid containing as in meningosil or myelosistosil. Spina bifida occulta can be simple as in intradural lipoma, phylo lipoma, tight phylum terminal, persistent terminal ventricle or dermal sinus or it can be a complex dystrophic state which include dorsal enteric fistula, neuroenteric cyst, dastematomyalia, cordal agenesis and segmental spinal dysgenesis. The detection and prompt neurosurgical correction of occult spinal dystrophysm can prevent complications like unirritrack deterioration, infection of dermal sinus and permanent neurological damage. The surgical outcome is better if intervention is carried out before three years of age. Imaging is therefore required to determine the presence or absence of occult spinal dystrophysm so that surgical treatment can be instituted in a timely manner. MRI, due to its multi-planar capabilities, wild field of view, lack of ionizing radiation and superior soft tissue contrast has replaced all other imaging modalities and is necessarily the only investigation required for diagnosis and pre-surgical planning of spinal dystrophysm and its associated syndromes. Ames and objectives of this study was to study the imaging characteristic of spinal dystrophysm on various MRI sequences and to study the spectrum of spinal dystrophysm. The study was conducted in a department in RML Hospital. It is a cross-sectional observational study conducted over a period of 17 months consisting of outpatients and inpatients from the department of neurosurgery and pediatrics with a sample size of 36 cases. Inclusion criteria were children from one day to 18 years with clinical diagnosis of spinal dystrophysm or having cutaneous stigmata such as tuft of hair, hyperpigmentation, dimple on the back, and fatty swelling in the lumbocytril area. Exclusion criteria were post-operative patients and patients who had contraindications to MR like claustrophobic patients or patients with a stroke allergy to intravenous contrast agents. Coming to observation and results, we studied 36 patients. Of the patients ranged from 4 days to 18 years. Most of the patients were below 5 years of age and there was a female predominance in our study with 52.8% of the patients being female. Children with suspected spinal dystrophysm can present with various clinical features such as swelling on the back, skin dimple, hemangioma, focal hypotricosis, skin discharge, lower limb weakness, and bladder bowel disturbances. In our study, swelling in the back was the most common clinical presentation present in 77.8% of the cases. Focal hypotricosis was the most common cutaneous stigmata present in 22.2% of the cases. Myelomeningosil followed by diastematomalia was the commonest dystrophysm in our study. Myelomeningosil accounted for 50% of the cases and diastematomalia accounted for 19.4% of the cases. The other anomalies that we encountered were myelosil, meningosil, lipo-myelomeningosil, lipo-myelosil, myelocystosil, dermal sinus, intradural lipo-ma, hemimylomeningosil, and lipoma of the phylum terminal. Out of 36 patients in our study, 20 were of open spinal dystrophysm. Out of these, 18 were myelomeningosil. One was hemimylomeningosil and the other was myelosil. Among these 20 patients, 15, that is 93.8% were associated with chiary malformation type 2. Our three cases of myelomeningosil were associated with diastematomalia type 2. One was associated with persistent terminal ventricle. Two cases were complicated by ventricleitis. Out of 16 patients of closed spinal dystrophysm, 8 had subcutaneous mass and 8 were without subcutaneous mass, that is, spina bifida occulta. Among the 8 cases with subcutaneous mass, we encountered lipo-myelosil, meningosil, lipo-myelomeningosil, and myelocystosil. Among the 8 cases of spina bifida occulta, we encountered dermal sinus, diastematomalia, intradural lipo-ma, fibro lipo-ma of the phylum terminal, and caudal regression syndrome. One case of dorsal dermal sinus was complicated by epidermal cyst. Coming to the images, this is the first case. This is a T2 weighted axial image showing myelomeningosil sac with nerve roots originating from the neural plecord within. This is a T2 sagittal image showing myelomeningosil sac, a low-lying cot, and a serine formation at dorsal level. This is a T2 sagittal section of the brain of the same patient showing a small posterior fossa slit-shaped fourth ventricle, descent of wormace in medallion to the upper cervical canal, tectil-beaking, a prominent mass intermedia, suggestive of arno-carry malformation. The second case is of a 15-year-old child presenting with low backache and a midline skin dimple. This is a T2 sagittal, T1-T2 axial images showing a T1-T2 hypo-intense fibrosceptum extending from the dorsal thical sac at L5 level through a defect in the posterior spinal elements to the subcutaneous plane, suggestive of a dorsal dermal sinus. The next case, it shows a T2 sagittal section showing a posterior spinal bifida defect with CSF intensity sac containing nerve roots attached to the posterior wall of the sac. In the T2 axial sections, we can see two hemicords lying within the single dueral sac, suggestive of split cord malformation type 2. Each cord is having a dilator-central canal, and the right hemicord is herniating into the CSF intensity, a CSF-filled sac. These findings are consistent with hemimilomeningosil. The next case, T2-T1 and T2-stirred images showing a milomeningosil sac with a cystic expansion of the central ependymal canal suggestive of persistent terminal ventricle. The stirred images, there is no suppression of a signal on stirred images suggesting a fluid content. T2-axial image showing cystic expansion of the central canal with two hemicords lying within the dilated central canal in a single dueral sac, suggestive of persistent terminal ventricle and split cord malformation type 2. The next case is of a 10-year-old child presenting with low backache and lower limb weakness shows a T1-T2 hyper-intense lesion at dorsal umbil level. This is suppressing on T1 fat-set image, suggestive of an intradural lipoma. The T1 and T2-axial sections confirm the intradural and extremity location of the mass. In the next case, it shows a sagittal T1 and T2-wetted image showing a low-lying cord with extrusion of meninges and expansion of ventroceberagnus space. The T2-axial section shows proliferation of subcutaneous fat at this level and the placard lipoma interface is outside the spinal canal, suggestive of a lipomyelomeningosal. The next case is of a 6-year-old child presenting with recurrent pus discharge from swelling in the lower back. The axial T2-wetted image shows a T2-hyper-intense tract extending from subarachnoid space at l1 level to the skin surface with formation of a small subcutaneous collection. More cranial sections show a T2-hypo-intense fibrous septum separating the corda equina nerve roots suggestive of dastematomylea type 2. The last case, it shows a T2- and T1-wetted axial image showing two hemicorps lying within two separate dural sacs separated by a midline oscius purge suggestive of dastematomylea type 1. Now to conclude, imaging of spinal dystrophism is complex as various different conditions are involved in it, having variable imaging appearances and organized approach and MRI with its multiple capabilities and a better soft tissue contrast helps in making an accurate diagnosis. Also, since it doesn't involve any ionizing radiation, MRI is considered safe and advanced modality for assessment of spinal cord in all ages and defining complex spinal dystrophism. Thank you.


Hi everyone, Joe for Jasper's Case Breaks.com, coming at you with 2019-2020 Panini Crown Royal Basketball two box, random team break number one, one spot gets you two teams. Yeah, we're chasing all the big names here. Yeah, I think there's Kobe Autos in here as well, so some pretty good stuff. Big thanks to everyone here for getting on the action and let's double you up, Sir Mix-A-Lot style. And all the teams are in, let's roll it, randomized three and a six, nine times for each list. One, two, three, four. And ninth and final time, after nine, we got Jay down to Christopher. Wait, they have a Dirk Nowitzki logo on the court? I actually didn't notice that. I've only been half watching, wait, let's, I was watching the Kings, but they're up to nothing now. Three and a six, nine times for the teams. Oh, there it is. Yeah, with that classic jump shot that he has, one, two, three, four, five. Once more, right, yeah, ninth and final time. After nine times, Sixers down to the Lakers. Is on the other side too, or just that one side? That's on both sides. Jay with the Sixers, Josh with the Warriors, Michael with the Magic, Patrick with the Bucks, Jay with the Mabs, Ryan with the Blazers, and Hawks, Patrick Sullivan with the Spurs, Anthony with the Cavs, Christopher with the Rock, is Teon with the Thunder, Michael with the Wizards, Max with the Heat and the Bulls, Chris with the Pistons and the Pacers, Joshua with the Celtics, Patrick with the Jazz, Anthony with the Gris, Max with the Nets, Patrick with Clippers, with the Clippers, Teon with the Kings, Max with the Knicks, Bryce with the Nuggets, David Ross with the Hornets, Christopher with the Timberwolves and the Suns, Bryce with the Pelicans, David with the Raptors, and Chris, you have my Lakers. So let's get all this on one screen, let's sort by column B. And while you're thinking about trades, let's pop this case open. There it is, 2019 Crown Royale, and let's see which two boxes we're gonna do. Now that Dirk Nowitzki kind of shadow that's printed on the court is pretty, that's a pretty cool design. Wonder if other basketball ringers are gonna start doing that. All right, so let's see, how are we gonna do this? We're gonna do, we're gonna stand these up, and then we're gonna do left, right on the randomizer, and then we'll pick two boxes as well. So one, two, three for the left side, four, five, six for the right side. It's five, one, two, three, four, five, six. Now we'll split that in half. One, two, three, four, five, six. It's four, one, two, three, four, five, six. It's like splitting cells, and then we'll go like that. One, two, three, four, five, six. So we'll do the right side right here. There you go. It's as random as it can get. All right, it looks like no trade, so let's close the trade window. TWC trade window closed, let's print and rip. There's the final print out right here. Hot off the presses. Good luck with C. Jim McCallum, Anthony Davis, Kevin Durant, and 22 out of 75, the lords of the court. Paul George. That's for the Clippers. Patrick with the Clip Show. Got a die cut relic right here. Air to the thrones. That'll be for the ATL. That's gonna be for Ryan and the Hawks. Careful with the die cuts a little bit right there. All right, and here is not John Morant. It's Brandon Clark. Oh, Brandon Clark's not too bad either. There you go, die cut autograph, heading out to Anthony and the Grizzlies. Hachimura and Markinin. And the second and final box. Another two boxes in the store right now. If you wanna go check that out, I think a handful of spots have been taken already. All right, one spot gets you two teams. That's a 15 spot break, already down to nine. Base cards off the bottom here. Westbrook, we got Jaren Jackson Jr., triple J, and we got Aaron Gordon right here as well, 11 out of 25 on that one. I like the cracked ice look behind the inside of the crown there. I think that's pretty cool. All right, behind Lukas Samanich is Admiral Schofield, piece of his jersey, he heirs to the throne. All right, so that will be for the Wizards, Michael Robinson. And the autograph behind Lukas Samanich is gonna be for the Bulls. It's Lori Markinin, 31 out of 49 Chicago. Max with the Bulls, there you go. And there you have it, ladies and gents. Two box, random team one in the book, so we just popped open a fresh case. So let's keep knocking these out. I'm Joe, I'll see you next time for the next one, bye-bye.


Are you a worker who's under pressure from your boss? Getting texts, phone calls, asking you to fix just this little thing? Do it on your unpaid working time. Well today we in the Greens have won a right for you. The right to disconnect. You can say no to the boss, no to the email and deal with that issue when you get back in your working time. Australian workers need a right to switch off to be able to clock off when your day is done and not do hours of unpaid working time for your boss. So the right to disconnect, a big win for millions of Australian workers today. Knock off when you're done at work. Authorised by Jamie Cole, Australian Greens Canberra.


Can you imagine the noise with a home winner and Lindgren's made a beauty, but watch out for Smarslik. Here he comes, he's coming on strong, Bartos Smarslik in yellow! A reminder that after four heats he'd only scored five points and were scrapping for a place in the semi-finals and now he's on the verge of scoring 20 grand pre-points and he would open the gap to five points over Laguta although Laguta's charging hard and the Frederick Lindgren here now. Indeed he is, what a fantastic star for Freddie Lindgren. Utter Laguta unfortunately didn't quite get there but that outside run in the first corner has worked a treat for Bartos Smarslik by Krikey, he's gone wide there. Laguta! Brilliant move by Laguta, charging round the outside of Freddie Lindgren that's going to keep the title chase really tight going into Togliati. Yes, absolutely, they'll keep it to within three points if Laguta holds on for second spot here. Utter Laguta's going to gather 18 GP points but Bartos Smarslik is at it again! It's his fourth Grand Prix win in five rounds! A remarkable run of results, 98 grand pre-points from the last five rounds of the SGP. Well that's an irresistible form and when you talk about form he has flipped it on his head tonight. He was struggling for points, you pointed it out earlier now, it's five points from four outings, correct him to the semi-finals, won the semi-final in fine style and picks up a win again.


I wanted to talk about a little bit about the Ito calculus today but then on looking over it I realized that it is a little formal and it is not very clear to me that really fits into physical applications of stochastic processes but I will try to get back to it. I am trying to write it out, I am trying to say it in as simple a form as possible and I have not quite succeeded. So since I do not want to get into a whole lot of formalism in this class we will take a rain check on it, I will come back to it a little later because I would like to see what is the simplest way of saying it explicitly saying it and so on. I mentioned a few things yesterday about the fact that it makes a difference when you have multiplicative noise as opposed to additive noise and it is a question of how you interpret, how you handle this quantity dw which is the increment in a Wiener process. You certainly cannot write dw as dw over dt times dt because it is not differentiable so that is where the root of the problem is and I am still playing with the idea of playing with how to present this in a simple enough form. So we will take a rain check on it. Meanwhile there is one topic which is of practical importance in the study of noise and stochastic processes occurs all the time and it is a simple enough thing once you make a sufficient number of assumptions and it is got as I said a lot of practical applications and this has to do with the following question. Given a random process in time and we are going to assume for this purpose sufficiently smooth random process in time one could ask what is the rate at which or one could ask how often does this process cross some prescribed threshold. So you could say there is some level in this process and you would like to know the statistics of the level crossings of this process. So that is a very very general statement and we will try to make it specific. So level crossing statistics. So let us look again at a process x of t and I am going to assume that this is a continuous process that is number one and secondly it is not as irregular as Brownian motion which to which this formalism is not applicable for reasons which will become clear. But if you plot this a typical realization of this process the function of time we will assume it is an ongoing process. We do not have to assume that it is a stationary process that is very important because in practice what can happen is the following. You might for instance record the rainfall continuously as a function of time the precipitation as a function of time and this is going to be irregular it is going to fluctuate etc. And you would like to know when the precipitation exceeds per unit per hour or something like that exceeds a certain threshold value. We would like to see the statistics of this thing happen. Now this could change with the seasons very slowly so it is not a stationary process definitely. So whatever we are going to write down will be applicable even to non-stationary processes with some provisors but if it is stationary then things will become simpler as you will see. So it is some ongoing random process the function of time X of t and it goes up and down in this fashion is some kind of irregular process of this kind. And then you ask I would like to know the statistics of when it crosses some prescribed threshold it could even be the origin it does not matter. So some threshold like this we put in the value a and this is prescribed threshold and I would like to know about the statistics of these points where it crosses this crosses over on the other side okay. For that purpose I realized that the immediate thing to do is to define another random process so let us call this process u of t which is equal to 0 if X is below a and equal to 1 if X is above a so rate of X of t minus a and I plot this then schematically what happens if I plot u on the same graph is that this point here in this interval u is unity it is up there and then it remains 0 till over this range well it is not a bad so let us do it this way so over this range it is again positive so it remains goes like that and then there is a piece here and so on. So this is what u of t does and this is unity here so the problem has become much simpler we do not care about the variation of X itself we only want to know is it above the threshold or not in other words when is u 0 when is it 1 that is it okay. Now what we want what we are getting at is the statistics of these instance of time so it is convenient to plot not u but u dot of t can imagine formally differentiating this process of course these are all singular quantities but you can differentiate a step function to get a delta function right then u dot of t equal to a delta function of X of t minus a but it is got an X dot of t also because you have to differentiate this quantity okay. Now what does u dot actually look like it is going to fire whenever X of t hits a namely at these points at all these points but suppose it hits a at one particular value at some time t then this delta function if you convert it to a delta function in time is going to have a divided by it is going to be t minus whatever it is at that instant t minus ti so a typical 0 would look like this thing would look like delta of t minus ti but it would be divided by the modulus of X dot at this point at this ti because that is what this delta function does when you convert it to a delta function in t but there is an X dot sitting on top okay so X dot divided by mod X dot is plus one if X dot is positive and minus one if X dot is negative. So what we have is a delta function here of unit strength out here and one at this point of unit strength in the opposite direction and similarly there is an up crossing here so it goes up and there is a down crossing here so it goes down etc. So this process U dot is just a sequence of pulse it is a pulse sequence in which you have plus one if it goes up and minus one if it goes down okay. So the matter is now very straightforward what we got to do is to find for instance the number of crossings in a given interval of time you would like to know the number of threshold crossings in some time interval say t1 to t2 let us call it n a t1 t2 this number and what is this equal to it is just the count of all these delta functions you just have to integrate over t this quantity and that is it this U dot and that counts it automatically making sure that you have the modulus of course. So this is equal to integral t1 to t2 dt and then you need mod X dot of t delta of X of t minus a that counts one for each of these guys because I put a modulus there and that is it now this is a random variable because these points t sub i are at random okay because X itself is varying randomly with time okay. So now we can proceed to look at the statistics of this number n what is the average number etc etc so we could ask over all realizations of this X of t different realizations in the given time interval t1 to t2 what is the average number of crossings level crossings okay. So that will immediately be expectation n this quantity will be equal to what it is a first there is an integral over this t1 to t2 dt and then these are random variables these guys are random variables so now you can see that it depends not only on X but also on the random on the random process X dot we have not assumed stationarity or anything like that. So these probabilities will be time dependent okay and what you need here is the joint distribution or density function not only of X but also X dot together we have looked at earlier we have looked at cases for diffusing particle of the joint distribution of the position and velocity so you need a thing like that in this case in this general situation so you need some p of X X dot and t because this guy could be time dependent this probability density and you have to integrate over all possible minus infinity to infinity dx integral minus infinity to infinity dx dot but you also have modulus X dot so that is the formal expression for the expected or average number of crossings of this threshold a if you set a equal to 0 sorry times this we need this guy also delta of sorry times delta function of X minus a that is sitting here so this is equal to integral t1 t2 dt minus infinity to infinity dx dot that remains X dot and then this density function at the value a of X dot and t because there is a delta function here I can get rid of this integration over X if you put a equal to 0 you get the number of 0 crossings the average number of 0 crossings so the matter is not quite trivial because you need this joint density and then in that density you have to set a particular value whatever threshold value it is and then you have to do this integral here what would the variance of this number be like okay that gets harder and harder so the variance formally would require the mean square so you would require n squared of a t1 t2 this would be equal to at this formal level it would be equal to integral t1 to t2 dt integral t1 to t2 dt prime integral minus infinity to infinity the X1 dot say the X2 dot minus infinity to infinity mod X1 dot mod X2 dot these guys will be there and then a p of now it is a joint density so it is a X1 dot t a X2 dot t prime this two-time joint density is also required probability of density is also required and formally you have to do this and then of course in general you require the moment generating function of this which would become fairly complicated but that is the formal expression as it stands can we tell what is going to happen can be very often you would like to know what are the up crossings and what are the down crossings like so you would like to look at the distribution of these points where it is crossing upwards like this and then the distribution of the down crossings right so if you call that n minus for instance so if I call n plus up crossings number of up crossings of a t1 t2 what would this be equal to it would be equal to integral t1 to t2 let us let us find the average number that is what we are interested in in general this is equal to what should I do here is the number of crossings actual crossings what should I do if I want just the up crossings the integral over X is trivial that is gone it is just you replace it by a pardon me yeah I must integrate dx dot from 0 to infinity because it is going up that means X is increasing so the integral runs dt integral 0 to infinity dx dot and then there is no need for the modulus it is X dot p of a X dot t that is the up crossings and what about down crossings n minus of a whatever yes that is right so a t1 t2 again integral dt t1 to t2 and what should I do for down crossings I want to count the number of times it goes downwards from above a crosses to below a well clearly X dot is negative because X is decreasing right so what do I integrate over minus infinity to 0 what I should put is mod X1 dot mod X dot clearly right you can so that is the same as minus it is quite right dx dot x dot p of a X dot now this quantity here this guy here this is the expected or average number of crossings in this time interval here it is equal to the mean rate of crossings multiplied by the time interval integrated over the time interval and the rate may be dependent on time that is the reason why you have a t here explicitly the process is not stationary the rate itself might change with time right so this integral equal to mean rate of level crossings at time t so it may change from time to time and we could call it equal to some r of a and of course this obvious definition for the mean rate of up crossings mean rate of down crossings and so on so if you give me the joint density in X and X dot then whether it is stationary or not I can formally write down assuming of course the process is differentiable and so on I can write down a formula for the average number of crossings which is very straightforward here now if the process should turn out to be stationary if X is stationary then X dot is of course stationary differentiation makes it does not change anything then this joint densities and so on would be the steady state densities then if you know that joint density one can actually compute what this rate is so let us do it in the simplest case that we have available Gaussian process okay for which we actually know what the density looks like but we need it for both X and V so we need a process in which X is stationary and X dot is also stationary the normal diffusion of a free particle we know that X dot is stationary if you use the Langevin model but X is not stationary on the other hand can you think of an example again involving one dimensional motion where both X and V are stationary we need to look for a process where there is no long range diffusion because then of course the variance of X becomes infinite and then it diverges with time and it is not stationary so what is the problem which is a standard problem which has got pardon me yeah the Onstein-Ohlenbeck now there is a little problem with the Onstein-Ohlenbeck thing as we applied to the velocity that is an exercise for you we are going to do that we have the joint we have the conditional probability density conditional probability density we have for the velocity okay we do not have it with the acceleration included we have not put that in at all for the velocity process we have not done that yet so it is a little tricky we are not talking here about conditional densities at all what we have our probability densities joint probability densities in a variable and its time derivative the Onstein-Ohlenbeck for the velocity actually gave you P of V T given a V naught this is not what we are interested in at all what we are interested in is a probability density that gives V V dot and possibly as a function of T now let us go back and since you mentioned this example let us look at the particle which obeys the free Langevin equation and it looks like this V dot equal to minus gamma V plus this square root of gamma over m eighth of T we can in principle compute this density here V and V dot but remember what is going to happen this V dot is going to involve white noise here which is not differentiable it is not smooth so there are singularities here in this problem so we cannot talk about things where you have a white noise a bare white noise in this kind somehow it is got to be this white noise has to be ameliorated inside it is got to be made mild it is got to be made harmless and you must have a stationary distribution for both a variable and its time derivative and even this is not enough when we want to find for instance the square and so on we need the joint velocity distribution and V1 at T1 V2 at time T2 and so on that is not so trivial so what is the other example again a non-steen rule in the process but not connected with the velocity what was the other problem we did where you had a steady state in both a stationary distribution in both position and velocity yeah we put an external potential what sort of potential the harmonic oscillator potential the harmonically bound particle we found this object had a stationary distribution right in fact we found the stationary distribution so we found in this case for harmonically bound particle we are not talking about the conditional density at all we are just talking about the probability density being more so we have P of X V and T or X dot and T in this case but this was stationary this then distribution was stationary because the system is an equilibrium both the position and the velocity have Gaussian distributions right so we know that this is not there at all it is stationary in this problem and what is this equal to what is the joint distribution of the position and the velocity for a harmonically bound particle each of them is a Gaussian and you know this from equilibrium statistical mechanics it is just the Maxwell Boltzmann distribution for each of them e to the minus energy over kt normalized right so what is it for what what is this guy here for the velocity yeah it is m over 2 pi k Boltzmann t to the half e to the minus m v squared over 2 k Boltzmann t and it is multiplied by the distribution in the position that is it right so this is m omega naught squared over 2 pi k Boltzmann t e to the minus m omega naught squared over 2 x squared that is all we need that is all we need here and you have to plug that in instead of X dot I called it be here you have to plug it in and that is the end of the matter right so let us see what this rate looks like for such a process let us write down in general what the rate looks like in this Gaussian case so we have p of x x dot equal to 1 over 2 pi and then sigma x square root of sigma x squared and then there is a variance in x dot that is sigma x dot this fashion e to the minus x squared over 2 sigma x squared minus x dot squared over 2 sigma x dot squared that is what the p of x x dot is and now let us ask what is the level crossing threshold in x is between some some number a specify some number a then what we need is the following r of a at any time t but it is exactly the same at all times so it is stationary so the rate at which the mean rate at which this oscillator crosses some point a on the x axis both upwards and downwards this is 1 over 2 pi sigma x dot and then what do we get e to the minus so we have to do this we have to do this integral so e to the minus a squared over 2 sigma x squared because all I have to do is to set x equal to a in there and then an integral minus infinity to infinity dx dot mod x dot okay e to the minus x dot squared over 2 sigma x dot squared I have to do this integral but that is not difficult because there is an x dot sitting here so what does that give us this is equal to first of all let us write this as twice the integral from 0 to infinity and get rid of the mod so this 2 goes away with you and you are stuck with this so let us put let us put x dot squared over 2 sigma x dot squared equal to some u so it says x dot dx dot the 2 cancels over sigma x dot squared equal to du so let us move the sigma x squared up there sigma x dot squared du so now that is going to give me 0 to infinity du e to the minus u and that is one but there is a sigma x dot squared multiplying it so there is a sigma x dot so this is the general formula when you have a Gaussian process and both x and x dot are stationary Gaussian processes of course we could have computed the up crossing down crossing etc in this case it would be half if you put a equal to 0 then it would be completely symmetric about that point in particular notice that r of 0 the 0 crossings equal to sigma x dot over pi sigma x and that is it this factor becomes unity now let us see whether this is physically reasonable or not in the case that we know in this problem in the oscillator problem sigma x equal to square root of kbt over m omega naught squared and sigma the velocity sigma x dot equal to square root of kbt over m right so what does this ratio become omega naught by pi is there a factor of 2 missing somewhere but we are really careful here that is fine that is fine that is fine okay what is the time period of this oscillator the unperturbed oscillator 2 pi over omega naught right so t over 2 every half period on the average it crosses the axis x equal to 0 of course that is exactly what it does okay so this big rigman hole here it is actually in this trivial case it is given as the right answer so it checks this answer out but you now have an explicit formula for when it crosses any value a how come this oscillator does not have any fixed amplitude it is going it is there is a probability of finding it arbitrarily far from the origin but the variance is finite the variance of this oscillator in the steady state is finite stationary state but there is a probability of finding it anywhere why is that it is in contact with a heat bath at temperature T so its energy is not fixed and as you know the energy determines the amplitude right the energy can be arbitrarily large of course it becomes less and less probable that it is moved far away in one direction or in the other direction it is going to stay near the origin most of the time it is Gaussian after all peaked about the origin but the fact is there is a non-zero probability of it being arbitrarily far from the origin and this is the rate at which that threshold is crossed it gets much smaller as a become significant you can see for a given temperature of course the temperature is increased and sigma x squared is also increased and then a can become larger as exactly as you would expect okay so even the zero crossings are taken care of in this problem now the difficulty of course is that you need this variance to be finite need this variance to be finite you could now ask a slightly more complicated question what about the maxima and minima of this random variable we have said it has got a nice realizations the sample parts are nice and smooth and so on what about maxima and minima so let us see what happens there and it is related to this problem so distribution or crossing of so we will try to should really say the distribution of extrema now we have in mind a sample part which looks like this and I want the statistics of these points so I do the same thing as before I say look from a minimum to a maximum the slope is positive the slope is 0 at extrema so I now construct u of t to be equal to theta function of x dot of t so I am trying to find out the statistics of all these segments here so in this segment this guy is positive then again in this segment the guy is positive and so on and 0 in the segments where theta dot is where x dot is negative so between a maximum and a minimum this this process is 0 and between a minimum and a maximum it remains 1 plus 1 and as before if I compute so this is u if I compute if I calculate u dot the up crossings would correspond to unit delta function with plus 1 weight and the down crossings would correspond to minus 1 weight so the maxima would correspond to minus 1 weight and the minima would correspond to plus 1 weight so u dot equal to x double dot of t delta function of x dot of t so now I could ask okay what about the mean then the mean number of these extrema in some time interval okay so the number of maxima mean number of extrema in t1 to t2 equal to n of t2 this is equal to an integral from t1 to t2 dt and then I have to compute this quantity here so the number would say take modulus here x double dot of t delta of x dot of t formally what I am interested in is over all realizations I want to know the mean number so I already wrote mean number this is the mean number is equal to expectation of this equal to but I also have to integrate here so let us do this integral what should I integrate over what should I integrate over so there is going to be definitely an x double dot and then a delta of x dot that is going to sit there so there is definitely an integral over these guys so integral minus infinity to infinity dx dx dot dx double dot all are there because the process itself is x of t and I have to integrate over its density times the joint density of x x dot x double dot perhaps at time t if it is not stationary but in any case I need the joint density of not only the variable but its derivative and its second derivative so this makes sense only if the function is twice differentiable in some sense some precise sense okay generally you would call the mean square differentiable that is the way the stochastic process would have differentiability put into it but you need sufficient smoothness to do this and of course as usual you can get rid of the x dot integral using the delta function so this thing here becomes equal to integral t1 to t2 dt integral dx integral dx double dot times mod x double dot and this is overall values infinity to infinity but then a joint density which is x 0 x double dot and maybe t so this quantity now this full integral gives you the the rate at which the extreme occur and as before if you assign a sign to x double dot we would be able to tell the maxima from the minima all you have to do is to make ask when is this positive or negative and then you can separate the positive from the maxima from the minima okay what if I say look I am not interested in these maxima and minima I am only interested in maxima and minima which are above some threshold so I am interested in this this and any minimum above this what should I do then put in a so don't consider this put in a theta function put in another theta function which says x is bigger than a and go through the same process as before so that is not a that is a small extension of these formulas so you can always change to any arbitrary threshold and say I am not interested in fluctuation in extreme of small values I am interested in it beyond a certain threshold now what can we say about this in a Gaussian process suppose I tell you that you have a Gaussian process in which x x dot and x double dot all of them are Gaussians you know and it is a stationary process all these are stationary random variables then what does this p look like in that case we wrote it down for the case of two Gaussians what we need to do is to do a generalization of that to 3 but there is a little wrinkle that appears here which you have to be careful about I haven't discussed multivariate Gaussians in great detail or in any detail in this class but what happens then is the following this fellow here let me write the general formula down so p of x x dot x double dot in the case when they are all stationary when they are all Gaussian and stationary this thing looks like the following you need to define a covariance matrix the moment you have multivariate Gaussian you need to define a covariance matrix and it looks like this it is 1 over there is this 2 pi square root for each of these factors so there is a 3 halves and then there is a determinant of this covariance matrix let us call it gamma 1 to the power half e to the power minus 1 half the usual standard half it sits there and then I need a notation I need a little notation now so let me I should not call it x let me call it let me call it xi some vector this stands for x x dot x double dot okay we will put this thing in a column vector and then it is e to the half xi transpose gamma inverse xi out there this guy where this covariance matrix gamma looks like this it is got sigma x squared sigma x dot squared sigma x double dot squared in the diagonal elements and then there is a 0 but there is a sigma x dot squared here minus sigma x dot squared here that is what this matrix looks like and you need to find its inverse and plug it in here crucial thing is this this guy sits here in general any multivariate Gaussian you know that so you plug this in into this expression do this integral and you know you now have in the stationary case this to integration is trivial it is t 1 minus t 2 times a rate okay and you can compute the rate of crossings now the real interest comes when you have a noise of some kind about which you do not know much perhaps you can make a Gaussian assumption but you do not know very much more about this we would like to interpret what this whole thing is like what what are these things really trying to tell you and so on for this we need the concept of the power spectrum of the noise I have not talked about this at all yet but this is now the time to introduce it because we are now going to talk about noise processes of various kinds not necessarily Markovian not necessarily described by master equations but we look at various kinds of noise for a while now. So let me define first a power spectrum or power spectral density we will do this in the simplest case first a one-dimensional process first and let us look at a process which is stationary so we have a law if you know if the process is I you know that considerable amount of information is carried by this autocorrelation function here you can write down various properties of it and things like that we kind of expect that as t becomes very large this will decay to 0 from some finite mean square value etc. Now this power spectral density is defined as s it is very simple si of omega as just a Fourier transform of this okay it is a function of t it is a nice smooth function of t in general so it is Fourier transform is it and I will tell you what the use of this definition is what it is going to do or what it actually is measuring so minus infinity to infinity dt we need to choose a Fourier transform convention so I have chosen one now in physical terms what it does is once you measure this and xi is some kind of noise or random process it measures the strength of this of these fluctuations when you Fourier transform this it tells you what is the intensity in some frequency window between omega and omega plus t omega that is what this guy does here and by the way all the others are matters of convention the plus sign here the 1 over 2 pi here etc etc engineers normally define this as twice the Fourier transform without this 2 pi factor and so on but these are we will stick to one convention we will stick to this thing here now what is the import of this whole business it will turn out and we will see this explicitly that when you have some noise driving another variable which also becomes noisy as a consequence then the power spectra of the input and output variables are related to each other okay in fact the response of the system is measured by what is called a transfer function between these two which is dependent on the power spectra of the input and the output variables and there is a theorem called the Wiener-Kinchen theorem which I am going to talk about and which will exploit which will quantify this relationship between the input and output so this is basically what this does now in the cases we have looked at the simplest cases we looked at we can write down what this guy is and then we will come back and look at its significance in greater detail first this Gaussian white noise that we had we had a noise eta which essentially said the eta of t eta of t prime is delta of t minus t prime stationary process so this is just a delta function so s eta of omega is equal to that was a 0 mean Gaussian process by the way I am assuming that the mean is 0 here otherwise a correlation is delta x side of 0 delta side here the different deviation from the mean the correlation of the deviation from the mean so when this is just a delta function this just gives you 1 so is 1 or 2 pi equal to a constant so that is another way of defining white noise it says that when you do a Fourier transform there is equal intensity at all frequencies of course it is unphysical because certainly some energy is involved in producing this noise it is clear that you cannot have arbitrarily high frequencies the same intensity okay so that is a mathematical idealization by the way what was s v of omega in the case when you had a Langevin particle so remember that this process was defined by v dot is minus gamma v plus square root of gamma over m 8 over t what is this equal to what we need to do here is to put in the value for the correlation function right so this is equal to 1 over 2 pi integral minus infinity to infinity dt e to the i omega t and then what is the correlation function of this velocity process the stationary velocity process it is e to the minus gamma t that is the whole idea the velocity correlation time was gamma inverse and died down with one correlation time it was a Markov process exponentially correlated right and then the strength was 1 oh so it was 1 over 2 pi k B t over m that is the mean square value of this guy times integrals minus infinity to infinity dt e to the i omega t e to the minus gamma modulus t modulus t died down on both sides so of course that is a trivial integral to do first thing to do is to remove this thing and make it twice twice 0 to infinity e to the minus gamma t and what is that going to be sorry before before we do that let us leave it like this minus infinity to infinity with a 2 pi e to the i omega t but I break that up into cosine and sine and the sine vanishes because the rest of the integrand is in even function mod t here so I get rid of this 0 to infinity and then there is a cost omega t only the real part survives and what is this guy what is this integral I have all got in mind that is it that is it is it gamma over gamma square plus omega squared or omega over omega gamma squared plus omega squared I am sure this is done by I do not know things have changed so I am sure you have done this e to the minus ax cos bx or sine bx I am sure you have done this integral right these are elementary integrals what you have to do is to write e to the minus ax plus ibx and that is trivial to do and then you take real and imaginary parts you get each of these integrals right so what is this answer for the cosine a over a squared plus b squared or b over a squared plus b squared how do you decide even simpler way of how do you decide put b equal to 0 if you put b equal to 0 this just becomes e to the minus ax for the cosine and it becomes 0 for sine so the sine must have b on top the sine integral right okay so this is gamma over gamma squared plus omega squared so it is gamma over pi 1 over gamma squared plus omega squared crucial part is this what does it look like it is a Lorentzian shape so now you see what is happening the effect of this the effect of the fact the fact that there is inertia in this problem tells you you cannot shake this particle arbitrarily high frequencies with equal amplitude so what does the power spectrum do as a function of omega when omega becomes large it dies down like 1 over omega squared whereas the noise that drives it has equal power everywhere at all frequencies but the response because there is inertia in the problem and damping in the problem this response does not follow the stimulus it is sluggish and this dies down as omega squared for large values we will see more about this and the more interesting cases are where this dies down the the power spectrum dies down like a power of omega which lies between 0.8 and 1.2 or something it is called 1 over f noise we will say a little bit about that okay so let me stop here today but we will take up the idea of the power spectrum and what it does in greater detail


Welcome back to the channel. If this is your first time here, this channel is dedicated to WordPress and Wukama stuff, so that you can make yourself business solutions that are worthwhile. In today's video, I'm going to help you understand what categories or taxonomies are, how to create one, how to remove some of these fields that are actually showing up here and how to actually add your own fields inside this particular space. So, what are these taxonomies? Taxonomies are basically a tool that you use in WordPress to help you classify your different posts because WordPress just works with different post types. For example, we have a post type, we have a pages post type, we have products post type, which is basically a custom post type. But you might want to get those different post types or different posts and then group them in different ways. For example, so the taxonomy that we are looking at is actually one that's coming from the Wukamas custom products. But if you go to posts, you'll be able to see that we actually have a category that is here. So we have that categories, which is basically what we call in WordPress as a taxonomy. So you will see that it has these same fields showing up, tag, the parent category and then also the description. Yet, when we go to the tags, you will see that we have only the name, the slug and the description. So one of the big difference that there are is that categories are hierarchical in nature. So meaning they can have a parent, they can have children, while tags themselves do not have children. So you cannot have a parent for a tag. So if you're interested in seeing this different ideas all put together, then let's jump into the video. So you could have products, let's say in a shop, and those particular products are grouped under t-shirts. So that would be a nice place to have a taxonomy for t-shirts so that you can have Adidas t-shirts or you have different brands all together that are grouped under that t-shirts category. So since WordPress offers us this platform, we can be able to create new taxonomies with our different post types, or we can be able to even add different taxonomies to the existing post types like posts and pages that we already have. So let's look at how Wukamas uses its products and how it uses the different categories and tags and attributes coming from the taxonomies. So you'll see that Wukamas uses categories, for example in my shop I have t-shirts, I have deco, I have things like drinks, I have things like music, soups and those are ways I can group the different products that I have inside my custom post type. So the first thing that we are going to do, we are going to create our own custom post type and I'm just going to run to the dev notes of WordPress so I'll go to WordPress. So I'll go look at register post type functionality that is in WordPress and you'll see that we have different things we have provide like labels, descriptions is it hierarchical in nature so that you can have different items as children or as parents post types and I'm just going to scroll all the way down, I'm just going to get this sample post type which is of a book that I need to get here I'll come back to my server I'm going WP content plugins and then I'm going to create our completely new plugin which I'm going to call taxonomies exhibit and then I'll drag and drop this into my editor and now I'm ready to start adding my own file so I'll say taxonomy taxonomies exhibit and I'll make it a .php file start it off with a .php then I'll use my start plugin shortcut or snippet that will help me fix all these things that I need to so plug in them I'll say taxonomies exhibit and then I'll change the author URI link to my github github.com slash phytiteitaki press slash taxonomies exhibit and then of course I'll add my name which is techie press and I'll say showing what taxonomies can do showing what taxonomies can do for you in what press I'll give this a version of 0.1 I'll license this under jpl2 or later so that people can fork it and use it then I'll just use the same text domain here and paste it here once this is done I'll save this I'll come back to my admin in here go to the plugins I'll activate the taxonomies exhibit plugin and then I'll just deactivate these others so I'll go back to my code and then I'm going to paste what we copied already from the other side over what press I'll save this and then let's go back here and reload if you want to know these particular arguments or the pieces that we are putting in here to have this post type then you can watch the video that is in the card that has just appeared on the screen or check the description to actually see it you'll now see that we now have this books post type that has come in and if I go to click on the books post type you'll just see it has only books and it has add new that will allow us to add new books but let's say I want to have genres in my books so what I'm going to do is I'm going to go back to our documentation inside wordpress and then what I'm going to do is register taxonomy and it is right here so in here you'll see that you have different parameters like what you will call the taxonomy the object type and then you provide the arguments that will be used inside that particular taxonomy so it would be good for you to just go and read this and see what's going on or if you want to learn how to add your own taxonomies you can also check the video that is in the card that has just showed up or in the description below to see a video that I made explaining all the different labels and the arguments on how to create your own taxonomy but we're going to see a sample of the code running inside our own plugin so let me just use what we have here I'll expand this and you'll see that this is also going to be creating genres for our book post type so I'm going to copy this code here I'll come back here and then I'm going to say add taxonomy for genres of course this is going to be a comment and then I'll paste this code we're going to save this so this code that we've imported has two taxonomies that it registers one is for writer and the other is for genre so right now what I want to do I'll save this let's go back and see what will happen if I reload this you're going to see that we now have a genre and we also have writers so let's say we have books that are fictional we can be able to add them in the fictional genre here so we have fictional the slag will automatically populate itself and we say books for fictional writing so I'll add this as a new genre and you'll see that it's actually in here so what I'm going to do is I'll say action fiction and I'll say this one is going to have a parent genre of fictional and I'll say fiction with action genre I'll add that and you'll see that this is it's put at a level below the fictional right here so if we go back to our books and we're adding a new book you're going to see that our WordPress actually provides us with this fictional genre that we can choose or we can add this to the action fiction option now I know this looks a little bit weird this is the old way of writing WordPress this is what we call the classic editor and the reason is because while I was writing my custom post type I did not allow the arguments in here to factor in for what we know as the REST API showing so I'm going to just duplicate this and I'm going to add a new option which is show in REST and then instead and I'll just clean this out on the same level and I'm going to choose here and say this should be true so if I go back to my actual page here and reload it you'll see that this actually comes with the new editor look right here you'll actually see that we don't have our books we don't have our genres and writers here we just have a few limited options so what I'm going to do is also just go and show in REST my particular taxonomies so I'll come back here in the arguments I'll add show in REST to make it true and then I'm also going to show this as well in REST so save this come reload and now you'll see that we have the option for genre here and we can choose these two and then you can also be able to add a writer let's say we're going to say this is a John Grisham writing so John Grisham when I press enter you'll see that actually this is a tag that has come in so I can also add a new genre and say maybe this is romance and you'll see that we can be able to check off any of these particular items so I'm just going to go back to our code here and I'm going to remove this taxonomy that is not hierarchical and that's why you see that in here it came as a tag but if I was to change this hierarchical to true and save it come back here and reload I'll leave this page you'll actually now see that the writers are being shown as this category that we had here it's no longer just a tag now you remember when I was explaining to you earlier this is the difference if it's hierarchical then it will allow you to have a parent and a child kind of relationship but if it is actually false like we have here as in hierarchical nature and you reload this you're actually going to realize that this is going to just be a tag so when we reload this you'll see that our writers have here as tags so I can add new tags and say John as I type here you'll see that we have the John Grisham showing up and you can have that all there so let's just focus on having a genre here and then we're going to see how we can actually affect this inside our WordPress so I'm going to come back to our code I'm going to get this writer block that we have here remove it save this come back to make sure we've not broken anything reload it you'll now see that we only have a genre showing up here I'm going to step back a little bit and you'll see that now we only have genre here so let me click on the genre and you'll see these particular fields that are available now one of the challenges that we have is that these particular fields cannot be taken away by a simple hook so the only way we can do this is by using something like JavaScript to hide these particular fields and not have them or we can even use CSS to just hide them but there's no particular way of removing them inside WordPress using a simple hook I really hope in the future this is going to change this is one of those things that I want to submit a ticket for it will be a little bit complex to do in order of implementation and it might not be one of those priority areas for the core team development right now but let's see how we can remove this using JavaScript so I'm going to remove this description box that we have here in our genres so that we don't have it at all so I'll come back to our code here I'll go down here and I'm going to say remove the description field in the genre taxonomy so let's see how to handle this with JavaScript so the first thing that I'm going to do is add an action here and the action that I'm looking at is I want to use what we call the admin underscore footer now inside this admin underscore footer we want for a function I'm going to call this function take it press underscore remove genre fields and then I'll copy this right here I'll come here and say function with this name I'll add our brackets I'll add our curly brackets as well and then press enter here because I'll space this just to make it easier for me to read and inside this function we're going to be JavaScript so the first thing I'll do is escape our PHP and then open it as well so that I can be able to write script in here which is HTML and say this will be a type of and I'll say that's equal to of course in here I'll say it's going to be a text slash JavaScript now I need to end this as well and then close off that script so that we have good HTML now inside this script what I'm going to use is jQuery which comes bundled inside WordPress and I'll say inside our jQuery let's go to the document and make sure that this document has loaded so we'll use the document dot ready function in here and then here I'll say let's have a function and this function is going to run all our different things that we want to do but we are going to pass in the dollar sign so that we can reference it as jQuery inside our code so I'll say using this dollar sign let us get the particular ID of this field so I'll come back inside here I'm going to inspect this element and we'll see that it has an ID of tag description but I don't want to only get this item I want to get this whole div right here so I am going to just get this tag-description and get it's parent so inside our code what does that look like we're going to say we're getting the ID of tag-description make sure you spell it very well and then we're going to say we need to get the parent item and then we're going to use the remove to remove that so I'll save this we're going to come back in here I'll give this a reload and you will see that that takes away that particular item now you can do the same thing to remove the slug so I'll just inspect it and see what ID it has so we have tag slug we also have if we want to take away this whole concept of parent genres we can come back here and say we want to get the ID of parent so let me just take out the tag slug because the beauty about removing this tag slug is we don't have to be so worried because WordPress itself always gives us the slug that we can use here it automatically generates it now you can see that the genre fields here have all gone and if I go back to the posts here and then go to the categories you will see that we're having the same issue down here but I don't want that to be the case we want it to only apply to the genres here and we come here and use the global we're going to tap into the global and say we want to get the current screen this is actually a WordPress functionality I'm going to just say let's vah dump this so that we can see the current screen and save this let's go back to our front page let's reload this I'm going to inspect this item so this admin wrap all I'm going to do is just say position fixed I'll remove that and you'll be able to see that we're looking at the parent file in here we're looking at the post type here which we can get and then we can get all these different items like the ID of edit genre so what I'm going to do here is come back and say so we're going to say if our current screen is actually equal to edit genre so I'll put this in the string and I'll say if it's equal to the current screen and here we're going to say edit dash genre if it is equal to that then we're going to grant this particular code so I'm going to get everything that's in here and I'm going to shift it up one level so I'll save this let's come back here I'll give this a hard reload on a reload you'll see that this is still showing and that's because in my code I said let the edit genre equal to the current screen but we just wanted to actually map the ID from the current screen and we say let this equal to the edit genre so I'm going to come back here and reload this and you'll now see that this has disappeared here but if I go to the post categories you'll see that still show up if I go to the products go to the categories you'll actually see that this actually show up so I'll go back to my genre inside the books here and we still see that we have the slug showing up here we have the description showing up here now we can use the manage columns in here to remove this particular items if we do not need them if we do not need to show them if they're going to confuse our particular users we can actually remove them so how do we do that so we'll come back to our code and this time we're going to use a filter function and I'm going to say here remove column for description and what we're going to do in this case we're going to tap the manage we're going to use the manage edit and then here we say dash give the name of the particular post type or the particular taxonomy that we are working with and then we're going to say underscore columns now after doing that we're going to write a function here so we'll open a new function here which I'll call take it press underscore remove genre columns I'll copy this and then I'll start up the function here we'll add our curly brackets to write our function so every time we use a filter it basically gives us something to work with and this particular filter gives us the columns so I'm going to write this variable columns and I'm going to say we need to return our columns as of first importance so I'll add a semicolon here and then what we're going to do here is use an if statement of course in here we're going to say if we actually have a column so if the columns and we're going to say if in our columns we actually have a description column we're going to say if that is true then we're just going to get this description column copy it here and we're going to say unset and that's a function of php we're going to say unset columns right here then you return the columns so let's go back to our genres I'll reload this and you will now see that we don't have any description showing up here so we could do the same thing even for the slug if we don't want it so I just need to duplicate this and say slug I know you're wondering how I am getting this but by default most of these things are the same or you can actually go inside the WordPress core files and you'll be able to see the names that these have or you can actually just come and inspect these items and you'll see most of them have the IDs already shown in there so I'll reload this and you'll see that our slug actually goes away so we have something that's neat and clean right here and that's all we wanted so what does it take for us to have our own fields in this particular space it's quite simple there is actually a particular hook that we can use that comes after this form that can allow us to save different items or different fields under this space so that's what I'm going to work on next if you're interested in it then let's continue with the video so we're going to use a new action hook and the hook that we are looking for is what we call the add form fields now what happens is that this is going to require the taxonomy that you want to add this particular field and in our case the taxonomy we have here is called genre so I just need to come back here and add genre and add an underscore so after doing that I'll add a comma and then we'll start writing our function which I'll say take a press underscore add so this will be the name of the function that I'm going to create here so function take a press add genre fields I'll add our curly brackets and inside here we are now going to write some particular html so I'll have to escape our php open the php here as well and then here we're going to have a div the div will have a class of form dash fields I'll press enter this whole structure from what we had before so if I come back here to the front end and I inspect this element you will see that it has a form dash field class right here so I'm going to be adding a form dash field I need to correct this and it's going to be right under that parent genre but just above the button so I'm going to come back here I'll change this to form so that we have a uniform class and then here we shall have a label the label is going to be for our genre characterization and that's basically going to explain it's going to be a short field that explains what our particular genre has as the biggest characterization of it all so I'm going to copy this right here and we're going to have an input that's going to be a type of text so it will have a name of genre characterization I'll give it the same ID also here and then I'll decide to have a paragraph that is going to explain what we are talking about so every genre has a particular characterization of it for example so EG if we have fiction we can say it is lies so I'll save this let's come back to our front end I'll reload here and you'll see we have this box explaining this the only thing we don't have is we forgot to add our particular label in here so I'll change this to characterization save this I'll come back to this place characterization and we can add our particular items here so we'll have characterization in this particular space now I'm going to come back to the genre that we have here and then what I'm going to do is I'm going to add a new field I'm going to add a new columns field so I'll add a column and then I'm going to say this is going to be for characterization I'll just copy this this is a lower case just to be like all the others up and then I'll say that's going to equal to and I'll just copy this right here paste it here and we shall say we want to have characterization so let me come back here I'll reload and you'll now see that we have this new field here that shows the characterization in here so we'll be able to add the different characterizations once we add them to this particular spot so I'm going to come back to my code here and now we need to be able to save that particular line of lines if we want to have it in here all we've done is just added the field now we need to be able to save the form field that we have added to our code and the way we do that is we have an action and the action that we are looking for starts off with created underscore and we need to add the particular taxonomy that we are using so we have genre here and then we're going to add a new function in here and I'll say this is take a press created genre fields and I'll copy this here and add a new function with this I'll add the curly brackets this particular action hook actually gives us the term ID so I'm going to get this and say we're going to update the term meta and all we need to do is we need to pass in the term ID in here which we have done so we need to add in the meta key the meta value and the previous value is usually optional so I'm just going to focus on the meta key that we want to have and that meta key that we're going to have is this genre characterization which I'll copy here and I'm going to replace here as a string and then we want to be able to pass in the new meta value and at this spot we're going to use dollar sign post and this comes from PHP so whenever we have a form that we are posting and we submit it PHP allows us to use this post to capture some of those fields that are already in the form so I'm just going to make sure I'm capturing the right item and that is going to be from this ID of genre characterization so I'll pass that in the post here we don't need this value the previous value that is optional and since this information is actually going in our database we need to sanitize it so I'm going to use a default word press function which is called sanitize underscore text field and it's going to take in a string of this particular information so I'll cut this and then I'm going to pass it in here so that we can sanitize whatever we are adding here and then word press will clean it out to make sure that our database is not corrupted by the information that we have here so I'm going to save that and then I'll come back here to our front page and download what we have here and what I'm going to do here is I'm going to add fantasy as our new genre it will have a characterization of dreams so we'll say dream world that will be the characterization I'll click add genre and you're going to see that our fantasy is added here but we do not have the characterization actually showing down here so that's something we need to fix so we're going to add our code as well to be able to show what happens in here so I'll come back to our code I'm just going to come back here under columns and I'm going to add add info to the new columns that's what we're going to be looking for and then here I'm going to just say add new fields to genre so under here is where we're going to add the new info to our columns so here we're going to use an action and here we're going to use a wordpress hook which is manage underscore and we're going to add our genre which is the name of our taxonomy and then after doing that we're going to say custom underscore columns now that will allow us to use our old function to run our code and our function will be take a press and I'm just going to copy this so that it's easy for me to follow through and paste it here and say manage genre custom columns and then I'll come here and add the new function and I'll add our brackets now in here we'll be able to have three different kinds of arguments one will have a string which is usually empty and then we shall have the columns and then we shall also be able to access the term underscore id that is for the term that we are passing through that particular column now that means we need to pass a priority here which I'll choose 10 and I'll also say we're going to pass three arguments that we have given inside this particular function this three is very important if you forget it you'll actually find that you're having errors in your code or your site will break so make sure you have the priority and the number of arguments you're passing to this function now once we get here I'm just going to use an if statement or I can use a switch so let me use a switch for some difference and what we're going to pass here in the switch is we're going to pass in the columns and we shall say whenever we are in the column that we have actually called characterization here we're going to pass it here all we want to do is we want to echo the term id I'm going first of all at the term id which needs to be a variable that is proper so I'll add the dollar sign here and then I'm going to say dash characterization that's what I want to pass and then for the default we shouldn't pass any default so we just want to have that case and then break it so what we have here is correct we add our action which is manage general custom column not columns add our three arguments we have a switch statement that passes in the case I'll echo the term id characterization then break I'll save this and when I reload you'll see that we actually have the different term id showing up here and we have dash characterization so what we want to do here in our term id we're going to use a wordpress function that says get term meta and this requires us to actually pass the term id that we already have here we're going to pass in the key and we're going to make sure that it is single so we're passing through here then our key is going to be a string of genre characterization I'll just clean everything else out here we're going to be getting this term meta that we saved here inside this particular id so I'll save this we'll come back here reload everything and you'll see that we have our dream world that we saved here and we have our fantasy so if I click edit here you will see that we don't have our characterization books anymore in order to show that field right here you can see the description we had removed before is still showing that's because on this particular page we did not remove it so we shall get this screen id and we'll also remove it from here but we're now going to first add our field that we need to have here so what I'm going to do is come back here in this particular case we use the add from fields now we are going to duplicate this code and we're going to say add add the field to the edit screen and what we shall do here is we're going to change this part that says add in this particular cases I'm going to change them to edit so that we have genre edit from fields and then we shall have this from field with this particular text so let me save this let's go back here our reload and you're actually going to see that we have our characterization here we have all this information coming in right here now of course this particular structure changes so we need to copy what we have here I'm going to inspect the element so that we can be able to see what's happening here and then we shall add it properly so we have a table in the form we are having all these different pieces of information in the different table heads so we need to fix this HTML first so that everything can work the way we expect it to so the one thing that I'm going to do is edit this as HTML I'll copy what we have here and then I'm going to come back here and then I'll be able to edit it accordingly so I'll paste this I'll tap this to go in a little bit so we have the form field we are not going to require this and then the next thing that we shall do is add a label in the table head so I'm going to just grab this cut it and I'm going to paste it here as the label we are now going to go for the input field that we have here with the ID and of course the type and the name I'll just cut this and replace the name ID right here we'll have the value which is going to always be dynamic so I'll remove that I'll leave the area required true we don't need that I'll leave this at size 40 just like it is with the other parts and then of course I'll get what we have here as our string I'll remove everything that we have here and then I'll paste our description right here so I'm going to save this let's come back reload this and you'll see that it properly fits in here like a nice shoe so we have this working very well but the only problem now that we have this we don't have our text of dream world showing up here coming from the database so we need to fix that now when we come back to this particular action we'll take a priority of 10 we need to get two arguments from it so the two arguments we get are the term and then we're also going to get the taxonomy now with this term we can be able to get the ID we can be able to get the different things that we need now in order to get this same information that we are having in our input here we need to get term meta and that's going to require the term ID it's also going to require to see if it's single so I'm going to comment this out and what I want to do first and foremost here is just VADAM and what I'm going to VADAM is our term so that we can see how we get the term ID so I'll paste this here save it, I'll come back here I'll reload this and you're going to see that we have the term ID showing up here we have the name slug and all the different things here so I'm just going to get the term ID so I'm going to just comment this out we're going to look for the term and then we're going to map on the term ID and we're going to make sure that what we have here as the key is going to be the general characterization which I'll pass as a string here and we're going to say this needs to be true so comment this out we don't need it anymore I'm going to save this as a value and I'll say our value is going to equal to this and then what I will do in this particular case inside our input we're going to bring back the value attribute we'll say that is actually going to equal to our value that we have here so I'll copy this I'm going to wrap it inside PHP that's all PHP then I'll say echo and then I'll have our value here but to make this nice and WordPress friendly I'm going to escape the attributes so that we are sanitizing this very well and then I'll save this and let's go back to our front end I'll reload here and you're now going to see that we have our dream world showing up here but if I change this from dream world to dreams I'll click update you're going to see that it's not updating anymore so what I'll do is I'll come back to our code here and then I'm going to look at this particular section where we said created genre I'll duplicate it and we're going to say edited genre and we shall just use the same function that we have here to do the same work so I'll come back here, reload this I'll change this to dreams I'll click update and you'll see that we have dreams here if I go back to our genre you're going to see that we have this as dreams in this section if I change from romance we'll say this is love I'll click update you see love is stored if I go back to some categories you'll see that our love is under our categorization so this is working the way we want it to apart from this little part of the description that's still showing up so let me go back to our code up here and I'm going to look for a different screen in this particular case so I'm going to just var down the current screen so that we can see where we are at so I'll reload this we have our information but I'm going to inspect the admin back I'll click this fixed I'll close this off and I'll scroll down here and you'll see we are on the same edit genre I'll just right click this to inspect this element you'll see now here we have it as description we need to get the parent and get rid of it so I'll just duplicate this and we're just going to get description in this place comment out the vadam we don't need it and you're going to see that now we don't have that description showing up but again we still have this table row so I need to be able to get this term description wrap as the ID that I'm going to actually just take out so let me right click this to edit and get the class of term description wrap I'll just change it here class and I'm going to remove the parent because we don't need the parent I'll just remove that and then let's see what happens I'll reload this and we don't have it there because we targeted the class of term description wrap and we removed it so everything is working like we wanted it to be we have our perfect genre showing up we have the characterization we can edit it we can do different things all together inside our particular wordpress and we're not using any other plugins so we are doing very well and that's all we wanted to do if you enjoyed this video if you think it actually has content that benefited you don't forget to give it a thumbs up share it with a friend who needs it make sure that you subscribe for other wordpress interesting stuff see you next time


Welcome back to kind of getting TV the only place on YouTube. We're all geek culture collides. I'm Shannon and today on the show We're gonna be taking a look at the Funko pop movies Movie moments ghostbusters 35th anniversary banquet room This is number 730 So as you can see, this is a pretty large box comparing it to a standard size Funko pop It is a little bit bigger like maybe an About an inch bit taller Which makes it a little bit harder to display if you stack your pops on top of each other I know I reviewed the gozer keymaster and gatekeeper pops while back and they were the same height as a regular Funko pop Just longer which made them easier to display, especially when you stack them on top of each other This however being a little bit taller than the others you really have to make some special room for it So anyway, let's go ahead and take a look at the back of the box. All it is is a picture of the banquet room scene of Peter and Egon Trapping slammer as you can see there's green light coming shining on them from behind With the city of New York in the background very cool And I am really enjoying that 35th anniversary ghostbusters logo. That is really cool So anyway, let's go ahead and take it out of the box And take a look at this amazing scene Okay, so first things first it does come with a two-piece Clamp shell that just snaps apart Let's set that off to the side for now And we'll go ahead and turn it around right there just like that zoom in a little bit There we go. All right, and this looks really nice They did have to put it on a platform Keep it all together because you know, it's got the proton streams wrap going from the proton wands around Slimer and then the Trap coming up. I really like how they made like a transparent stand for slimmer That looks like energy from the trap. That looks really cool. You see the slime on Peter And it does look like they used a different sculpt for Peter from the From the individual one his wand is a little bit more raised whereas as I showed you guys in the last video His wand is more relaxed Teach you to slime a guy with a positron collider, huh? And their heads Do rotate a little stiff on Egon? They do rotate rotate Very cool. I like the really shiny Green paint they use for slimer do his arms move. No Very cool See it's got some forks a spoon some broken dishes And some garbage on the floor Very nice It's got this plastic piece here. It just comes off there That's just for some extra support for the Proton streams and then you got the trap here It would have been nice if they made it a little bit longer and included the other two ghost busters showed Ray getting Stepping on the switch to the trap, but maybe they'll add some Slide pieces so that you can put them together if If you display your pops out of the box, I don't but that would be really cool When I got this I did have the chance of getting the Peter outside the firehouse pop as well But I had already spent way too much money in GameStop as it was so I was not able to get it And then last time I went in the GameStop they had a massive Stay puffed Funko pop just massive That I really wanted but I have nowhere to store him To for just to display him. I have a really small house really small room That is covered with my Collections already and I don't think I Don't think I'll be able to get that pop for quite some time But I really love how they added the slime onto Peter Very nice. I love that shade of green. That's always been my favorite color The green the slimmer That that that is my favorite color right there I know there are many different shades of green and I could easily say Be a generic and just say green is my favorite color, but no it Slime green is my favorite color Very cool. I love how they made separate streams the Blue Almost electricity wrapping around the red Nuclear energy type deal for both of them and then the pink and clear Energy coming out of the trap Really nice I think they should have maybe put a little bit more distressed look on slimmer's face though. I Don't know. That's just me though What do you guys think so anyway there you have it guys? Funko pop movies Banquet room from the Ghostbusters 35th anniversary movie moments number 730 Hope you guys enjoyed this video Stay tuned next time when we take a look at the 89 Tim Burton Batman Funko pop Take care my friends if you enjoyed this video make sure you hit the subscribe button right there So you stay up to date on all things geek culture Also, make sure you check out one of these two playlists on the side For videos just like the one you just watched I'm Shannon for come again TV the only place on YouTube.


When I first came across the posting, I just found that the goals of the New Colombo plant align so well with my own personal goals. Having the opportunity to work overseas in disaster prone countries, the reason I picked Nepal was because it is still recovering from the earthquake that happened back in 2015 and because it is still recovering today I really wanted to be a part of that. In Australia I studied a Bachelor of Construction Project Management at the University of Technology Sydney, UTS. During my time in Nepal I undertook two internships concurrently, part-time at the United Nations Office for Project Services or UNOPS. I was helping execute and implement a mobile app and web-based application called FieldSite and FieldSite helps remotely monitor and supervise humanitarian and development projects and part-time at the National Society for Earthquake Technology NSET and at NSET I focus on helping improve safety standards and practices in Nepal. I guess the most valuable experience I gained was learning what it's truly like to work in health and reconstruction in a post-disaster setting. I think an experience like the New Colombo Plan is so beneficial because Australia is geographically quite isolated and by providing the opportunity to go overseas and study or undertake internships or mentorships it connects us to the region that surrounds Australia. I was able to make connections with amazing people like people doing incredible meaningful work here in the same field and outside of construction. So to someone that is considering applying for the New Colombo Plan scholarship I would tell them to not even think twice and apply. It is life-changing because it's only just reinforced that passion and I will continue to work towards that.