 Hello and welcome to this new course on human anatomy. My name is Jean-Clauper and I'm here in the Medical Simulation Laboratory at the University of Cape Town. I'm also an attending surgeon at Krotoskyr Hospital, home of the first human heart transplant. Now other than my work as an attending surgeon, I have two very important jobs. Number one in medical education and number two in surgical research. And I want to combine those two to tell you about this course on anatomy. Now let's start off with education. Education is so important to me, it is really one of my passions. I have more than 1,400 lectures right here on YouTube. I have two courses on the Coursera massive open online course platform and my course on biostatistics has now been rated in Class Central's top 50 of all times for two years going. In 2014 I was the Open Education Consortium's Educator of the Year and I tell you these things just to tell you how important education is to me and why I want to do the series on human anatomy. On the research side I support many of our students in their dissertations and theses both on masters and doctoral level and part of that is to do the statistical analysis by statistics and to do that I use computer code. Now I code in Julia and Python and R but I want to bring it all together in a language called the Wolfram language and that is what this course is going to be all about. Now no matter what form of health care you are studying the ability to write some computer code is going to become more and more important and it's really going to mean so much to you in your career. Now before we go any further I want to give you a sneak peek, have a look at this. Now I think you would agree that this is quite phenomenal and at the end of this video you're going to be able to create this. You're going to be able just with a single line of code and it's going to run over more lines but in the end it's a single line of code which produced that beautiful anatomical representation. Now I'm an examiner both internal and external examiner in undergraduate medicine and in postgraduate surgery and one of the stumbling blocks we see in students is just the lack of the knowledge of anatomy. Now for our postgraduate students they've just done an exam, a primary exam and a large part of that exam is anatomy and of course they are training to be surgeons one would expect them to understand and know their anatomy and for the undergraduate students they come into the clinical years having done at least a year of anatomy but somehow that anatomy just doesn't stick. So what I want to provide you is just another tool. Now you've got beautiful lectures wherever you are, you've got beautiful textbooks, you've probably got a beautiful lab and you can really get yourself immersed in anatomy but with this tool I want you to get even closer to anatomy. The added benefit of course is that you're going to learn how to use a computer language and it really is not that difficult, it is easy thing to do and it's easy and beautiful because of the Wolfram language. It is such a powerful language, it has knowledge right built right into the language, it really is unique and it makes that knowledge just makes it so special. So I'm going to show you how to write code and I'm going to show you how to create these, get these ideas of anatomy and that's just another tool I want you to have and the benefit of that as I mentioned just to be able to write some computer code as well. Why is this so important? Let me just give you a, let's start this course and let me show you. So we're at the computer and we're going to just answer this question why the Wolfram language for anatomy. Just as a short reminder, small reminder, this is going to be a course about anatomy and I'm just going to teach you how to use code to visualize anatomy just to make it your own. Another tool for you to learn anatomy. So why the Wolfram language? Well, as you can see here, I'm just going to scroll up and down. Let's have a look, look at this beautiful notebook. This is the coding environment in which you write code. But look at this, at first glance it looks almost like a word document because I can have titles, subtitles, I have a large, this graphic here, it's just something that I dragged and dropped from my hard drive. Nice bullet points here, we can have results here. So this notebook format in which we do our coding is such a rich document. If you study medicine, you might be asked to write a small paper or to create a document of some kind, you can do it all here. You can demonstrate your results, you can bring in anything that you could really in a word document, but it's so much richer. So I just love this notebook environment. Let's move to biostatistics, I mentioned my research unit. And let's have a look at this, a simple line of code here. So we're not going to get into the code here, so don't fret about this. But this is the way most computer languages work. I have a function here, it's called the normal distribution. It's the name of the function that's built into the language. The language knows what to do with it. So I say the normal distribution and we get these square brackets after that. That just says I'm going to pass you some information. So it says to the normal distribution, I'm going to pass you some information. Those are called arguments and we see 120 comma 10. All arguments are separated by commas and the normal distribution takes two arguments. And the first one is the mean and the second one is the standard deviation. So I'm saying here's a normal distribution with a mean of 120 and a standard deviation of 10. But we see all in all, it is the first argument of this bigger function on the outside called random variate, which takes a distribution with its arguments. And its second argument is how many do you want. So that line of code V simply says, give me 100 random values from a normal distribution such that the numbers have a mean of around about 120 and a standard deviation of around about 10. And I'm going to store that inside of my computer's memory. And I do that by giving it a name and I'm calling it group A. That is this name of this object. And this object is a list of 100 values from this distribution. And I can just store that inside my computer's memory group A and it'll live there. And if I call it back up again later group A, as we do down here, the computer knows when the memory to go to find these 100 numbers. There's a second one. This one is slightly different. It has a mean of 130 and it has a standard deviation of 20. And then I can just ask for something like a smooth histogram. I pass as a list these two objects and add some eye candy by saving the filling must be an axis. And look at the beautiful graph I get there. I might be more conservative and just create a normal standard box and whisker chart. And we see group A and group B, I can hover over them. It gives me some information, the minimum, the maximum, medium. We see the quartile values there. I can decide that am I going to compare these with a parametric test? To do that, I want to know these outliers. We see there's a single outlier there in the box plot, not to worry. I can do a QQ plot and it seems for both a sort of follow a normal distribution. So that's fine. I can be very specific and do a Shapiro walk test. And for both of those, we see non-significant P values. Meaning I can use a standard normal students T test. And I do that there and I say, I suggest that there's no difference between the two. And I want a test data table and a test conclusion. And very nicely it says, here's your T test, here's your T statistic, and there's your P value. And it even says, the null hypothesis that the mean difference is zero is rejected at the 5% level based on the T test. So what a wonderful rich environment to do your statistical analysis in. Now I'm going to show you all of these things that are to come before we get to that line of code to create that nice graphic. But before we do that, I'm going to actually take this away because I want to type these in right in front of your eyes so you can see what it's all about. So let me move this away and we see I've recreated it here, but it's blank. So let's start with that first one. And what you see in front of you is Mathematica. That's the coding environment for the Wolfram language. Now you can go online and in later videos we'll get onto that and you can do this free of charge. It actually runs inside of your browser. I would advise strongly though that you look at getting a copy of Mathematica for yourself. Now if you are at a tertiary educational unit at university or college, chances are that you have Mathematica at your university. They might have a site license, which means anyone who's a student or works at the college or university can get a copy of that so many universities have. Unfortunately, mine doesn't. So I had to purchase a copy and that's what you see in front of here. If you break down the cost as to a couple of things that you do on a daily basis over a couple of weeks or months, that's all it's going to cost you. You can really break this down to a couple of cups of coffee over a period of time. And if you save that, you can buy yourself a copy of Mathematica and that's exactly what I did. So even though I'm at a large university with a big research component, unfortunately we don't have a site license down here. And some of us are trying to push the university a bit to get one for us. But it's not expensive to buy. And as I said, when you start out you can do this in a browser free of charge and in later videos I'll show you what to do. But let me just give you a demonstration. This one's all about a demonstration. I certainly don't expect you to follow the code. But let's use one of the more than 5000 inbuilt functions and it's called entity value. So entity, now one thing you must excuse, I am not the world's best typist, it really is difficult for me. Anyway, so bear with me. So you see their entity value. Let's also just increase the size a little bit so that you don't struggle to see this on your screen. Now you could see these little pop-ups come up here if I click on this one. It's actually going to give me a little helper information here to tell me what this entity value function is all about. And I can actually, later on you'll see, paste any of these in with these placeholders. But I also want to show you this little eye. If I click on the eye and just give it a second or two, I'm going to move it from my other screen onto here. This is what pops up. A whole page full of information about this function. And that's how you teach yourself mathematics. You just click on that eye button and everything is there. There's even beautiful examples for you and suggestions of other functions which are quite similar. There's Wikipedia data, entity properties, entity groups, and related guides. Guides that will tell you in what context to use this function. It is everything is there for you in the Wolfram language. It is just absolutely phenomenal. So what I'm going to do here is always, always with Mathematica in the Wolfram language, all the arguments go inside of square brackets. You've got to become familiar with square brackets. Now I might be in a situation where I can't actually remember what I should type here for my arguments. I'm going to hold down control since this is a PC. If you're on a Mac, hold down option. I should say command key. I'm not an Apple person. Anyway, I'm only down control and I'm hitting the equal sign. And this little equal sign box pops up. And I can type in a normal English sentence here. Have a look at this. I'm just going to type pancreas. Because I'm not quite sure of what to put in there but I know I want something about the pancreas. So and I'm just going to hit the tab key. And within a few seconds, this pops up. Mathematica thinks that you are referring to the anatomical structure. If I click on this, it says, well, there's another option. You might just want to consider it as a word. But no, no, I'm okay. I agree with the fact that this should be an anatomical structure. So I'm just going to click on this, accept this interpretation. That's phenomenal. And there are a lot of arguments that I can put in here. The one that I want, and you see if I start my inverted commas and I do the drop down, those are most of the things that I can ask for as far as the pancreas is concerned. What I want here is the function. And I'm going to close my square brackets. I'm going to hold down shift and hit enter. If you're on a Mac, hold down shift and hit return. And it's going to go to the Wolfram servers and it's going to get that answer for me. And there we see pancreas secretes insulin and glucagon into the bloodstream to control blood sugar levels and secretes pancreatic enzymes into the small intestine to break down ingested materials for absorption. Nice succinct short little description of the function of the pancreas. Now other computer languages are not going to do this for you. Let me amaze you even more. There's a little plus sign that you can click on here and that gives you some of the most common things that you can enter. And that is how we got to entering plain text or titles. Although there's keyboard shortcuts for many of these things. I want to take you here to the Wolfram Alpha query. You can download Wolfram Alpha as a very cheap, it's not very expensive app on your cell phone and play with that, but let's use it here. So I'm going to just ask a normal English sentence because I can't remember how to express this in the Wolfram language in computer code. So I'm going to ask for the nutritional, the nutritional content of a banana. And I'm going to enter or return and I'm going to sit back and look at what is happening before our eyes. Now I dare you to find a computer language that can do this for you. So there's the average values, total calories for 118 gram banana, the cholesterol level, sodium, the vitamins inside of there. I get a little image. I get the vitamin B6, vitamin C potassium content. I can see compared to other foods on this distribution as far as fructose is concerned, where a banana falls, where glucose falls, where the vitamin C, I can see the calories there and the fat content, et cetera, et cetera. And I can even click on these and ask for more. And if more information is available on the Wolfram servers, that is going to be served up and lo and behold, there's more information. Of course you can go out and search for all of this on Google but that is in a normal English sentence in a line of code, as a line of code. That is absolutely, absolutely phenomenal and there is so much more. You think of a domain and that information is there. Once you learn how to use this phenomenal language, really a world of computation opens up to you. It is absolutely phenomenal. So let's carry on. Oh, I think in my mind, I had another little example for you. So let's go plus here and I'm just going to do the Wolfram Alpha query and I'm going to ask for the population, the population of the United States. And I'm going to say, well, let's say of America, just so there's no ambiguity since the year 2000. What about that one? I've got to wow you before we get to the anatomy. So it says at the moment, there's a 304 million people in the US. It was 282 million 2000 and we can see this projection into the future there and look at this lovely breakdown we see of the ages and we have males on the left and females on the right as a binary classification of gender just to keep things simple. And I won't tell you where my age group is but Sydney, I'm in that group where there's a lot of people. Anyway, larger cities, I can click on more, it's going to give me more and that's just built into the language and I didn't even have to write a line of code I wrote an English sentence. Later on, I'll show you how you can convert that into actual code. It's not what this is all about. Let's carry on. What else did I have in mind? Let's do some anatomical data. This is going to be a course on anatomy. So let's have a look. I'm going to type in the function anatomy and you can see there I can do some auto-completion so I can use up and down, up and down. It's that first one I want anatomy data. Now I can't remember how to write the code for the biceps muscle. So again, I'm going to hold down controller command equal and I'm just going to type in biceps and hit the tab key and the Wolfram language things I meant the biceps brachy muscle and anatomical structure indeed, that's the one I want. I'm going to accept that. And what do I want? Let's see I want the muscle action, the muscle action. Let's choose that one. Let's have a look. And there we go. We see this flexion at the elbow. See these curly braces. It's a list. Anything inside of curly braces is a list. So there's a couple of curly braces within this outside set of curly braces. So that's a nested list, a list of lists. So in the first one, flexion of the elbow, supination of the forearm, and flexion at the shoulder. That's fantastic. Let's do this again. Anatomy data. Let's do our shortcut control equals, command equals. I'm going to type in biceps again, hit the tab key and I misspelled but that was fine. Did I misspell it? That was too quick. I couldn't see. I'm going to accept it though. And let's put a list of things. Remember we said, lists go inside of curly braces. So let's ask for muscle action. We can ask for that one. I can add more. Let's have muscle antagonist. Muscle antagonist. That's a great one. Let's have the muscle origin. Muscle, let's scroll down to origin. Let's have muscle insertions. That's a great one. We're going to close our curly braces because that's a list of arguments we passed. Close the square brackets. We always have to close the square brackets. Shift and enter, shift and return. Let's see. And we can see what we have before. Flexion at the elbow, supination at the forearm, flexion at the shoulder. And the muscle antagonist was the next one. Look, it's outside of this set of curly braces. The triceps is the muscle antagonist to the biceps. That's fair. Let's look at the origin. It says it's from the crackoid process, the supraglenoid tubercle and the apical part of the crackoid process. And muscle insertions at the radial tuberosity and the anti-brachial fascia. I find this absolutely fantastic. For me as a tool to remind myself, to teach myself the anatomy, this is absolutely fantastic. Now, we were here to do one thing. We were here to create this beautiful image of the medius stynum. So to do that, I'm going to use anatomy plot 3D. So anatomy plot 3D is my function and I want a list of things. We're going to build it up and I'm going to add colors to it. So, which you don't necessarily have to do but it just makes it easy. Now, in the language, the offering language, the color orange is just orange. I don't have to type anything else. I don't have to type RGB values although I can if I wanted to. I can just type orange. I'm going to hit the old controller command and equal and let's do the right atrium. Right atrium, it's going to include the oracle probably and it states there it's the anatomical structure. I'm quite happy with that. It's the first thing I want. I'm going to close my curly braces as my list, close my square brackets, shift, enter, shift, return and it's going to download this plot from the Wolfram servers and there we go. We can see and I can move it around. We can look at it. Superior vena-cava comes in, inferior vena-cava comes in. We can see the right oracle on the side. I can move it around. We can see the valve going to the right ventricle there. Can you remember what that valve is called? Let's carry on. I'm going to go back to where I was and I'm just going to put another comma and I'm going to say in blue this time for me comma, control equals, command equals. Let's add the left atrium. Left atrium, tab key. I'm going to accept that as an anatomical structure. Go to the end, shift, enter, shift, return. It's going to download this representation, this diagram for me. Let's have a look and there we go. We can now see the left atrium. We can see the pulmonary vessels coming in there. We can see the structure. I can move it around. It really is fantastic if I hover over there. I can swivel it upside down. Side to side I can say I can hold it there and I can really manipulate it. Let's bold onto this. I'm going to go for yellow. So let's go for yellow and this time I want the right ventricle. Let's add the right ventricle to that. I'm going to accept that as an anatomical structure. Shift, enter, shift, return. And we see when we do Dania and South Africa, we unfortunately have a lot of penetrating trauma, trauma to the mediastinum to the heart and we see a lot of stab wounds and the majority of them here is to fortunately, never that this is fortunate enough, but fortunately most of them are in the low pressure right ventricle here, which is what is presented on the anterior side. So we see those stab wounds, but we can see the valves there, lovely. Let's keep on playing. This is all, this is not an anatomy lecture. We're going to get into all of those, but let's make the next one red. And you guessed it, let's do the left ventricle. Now we can really start seeing things starting to come together. We can see all of our four chambers there. We can see the left oracle here on this side, but let's not stop there. Let's carry on. Now I needn't put a color. We can emit the color and it'll just do the color that is at default. So let's do that and just say coronary artery. I'll accept that. And we can see the coronary artery is being filled in. Later on, we'll have a look at how to annotate these. I can also make it quite a bit bigger and look at that fantastic, fantastic view and I can really use this as a study guide. I'll add one more, but I think you can see where this is going. So let's add the left inferior pulmonary vein. Let's do that and we'll do that in blue. Blue comma and let's add to that the left. Let's do left inferior pulmonary vein. And there you can see the vein being added there. So I'm just going to add all the others that I had in the original image and there we go, the full structure of all of those things that I added. I can really use this even as a surgeon to remind myself where the structure goes. For instance, if we do an esophagus to me after injury to the esophagus and we might want to do that for esophagectomy and a colonic interposition, et cetera. So many things I can remind myself of but really as a tool to study anatomy that's such a visual thing. It is not perfect, I'll be the first to say that. Not everything is implemented yet. It is a fairly new part of Mathematica which is at version 11.3 at the time that I am recording this. But you can see this, you can see the potential that there is in learning anatomy and also getting to grips with a modern fantastic phenomenal programming language. And I hope to see you in the next set of lectures. I'm gonna try and make as many of these and as rapidly as I can. It's not going to come out too regularly though. I'm really too swamped with work but I really love this and I really think it's an excellent additional tool for you to get involved with, as I mentioned with anatomy and with the coding.