 Hello, hello, hello. We are currently doing image feature detection. We have this Python code that we did last time. Let's run it, see what problems we get from memory. It was giving some errors. So this is the original image. We have these two examples. We'll add more images later. And you can choose your image feature detector and the processed image is not showing because we don't actually have it at the moment. And that's why we're getting a 404. And so start populating. Let's start a new GPT4 default pop in the index HTML. It should have a line at the bottom saying confirm reading the code to don't generate anything else. Sometimes it ignores it. Sometimes it actually, it read through the HTML. That's good. We'll do the index last. And normally we do JavaScript next. Again, it should have confirm reading don't generate anything else. It's using Ajax requests. So they are obviously place holders and things that we need to sort out. That's our last application, write and code. Let's pop that in. That's okay. So add any place holders in any of the script. Yes, shell script. We have this two place holders in shell script. Is this just the shell script alone? At least the file can unfold. You would want to ensure the function aligns with the actual directory structure. Okay, the directory structure. This should be it. Should have said do not explain this. No, I really have it. It's okay. It's all good. Relax, relax. Keeps going. Last number. Actually, we don't have the requirements file, do we? Okay, it's became much faster. It was generating slower. It takes the last time. Actually, we do have the requirements file. Why is it different than by side by? Yeah, we have more stuff. We'll sort this later. Existing code, which post-infection process. Yeah, we have those three ways of processing images. Okay, can you do this for us? Fetch detective types. Okay, I already have those two function fetch. Fetch detective types. Yeah, would like to do that is not place holder. That's better than before. Update the detective type. And this function is not actually being used. It should be the same. So default detective type, date, image display, catching any errors. That makes sense. And then function of date. Don't have it, do we? What we'll do is select the image detective type. Okay, this should be better. We haven't tried the previous one. So I'll just use this one. Now there's something about button fetch, which is don't have it, process image. We have this error scaling value from here. Hopefully we'll be deploying this one. Well, once it's working, then for it to work, we need to for it to actually show a processed image. Getting some errors at the moment. On the client's side, we actually, we don't have this form that spot this in. Don't know why we don't have the Ajax call. Do we still need the Ajax call? Okay, update the detective type. So instead of an Ajax call doing that, I'll just go with it. I have no idea how to actually do it myself. So we'll just update. Currently it doesn't work. Whatever we have doesn't work. So just go with this instead. This change assumes your flask server is expecting image and detector as part of the form data. And not adjacent data. Now it's working. The form data object allows you to send files and text fields in the same request, which is suitable for file uploads. GPD is actually really amazing. And I'm highly skeptical of these things. I wouldn't just say it. I wasn't into like cryptocurrency and the like, you know, saying buy crypto over there. But this thing is a whole other level, a bit of a God level. Isn't the G in GPT stands for God? Yeah. Now, we obviously, it's generated that one processed image, marked some stuff on it, so detected some features in that image, which is absolutely awesome. Yeah, hopefully we will be able to, yeah, if we're going, if we're making this progress, we'll be able to deploy this today. Also, if we don't have another power outage already had two in a row, go get a UPS somewhere. Okay, let's get back to this now that it's working. So this thing we need to make sure when you change the image, the page is updated. But let me double check first. We need to get this absolutely correctly. So in process stage, yeah, we have that image generated in processed images. Need to make sure when we select different image or different detector type, another image should be generated in this processed images folder. Ooh, that's really loud thunder. I suspect my power gonna go out again. Okay, let's see how do we fix this? We need to put it. This is where we put all of ROMs in this file. It's also published on the website. Confirm reading, where will we? So that's now working. Make sure the image saves the same name as the original image. That's okay, same extension. That's fine, don't actually need it. Yeah, we want to, how do I? This is by the way, GitHub co-pilot. So control, make sure the image is saved folder. Every time input is changed. Yeah, this sounds more like it. Sorry, the prompts that we haven't used yet. Just put them in the bottom. But this is the more modern one. Hopefully this will fix the current issue. Yeah, but it seemed to be only happening once. Okay, let's restart the app, just to make sure it's working correctly. So this should have generated the same file, but she too much instead of Harris and it did not. And let's see. The Ajax request in your JavaScript code sends the selected image and detector type and now it seemed to be only happening once. Okay, why don't you do it then for me please? In network, when I change, when I load the page, all that is happening, which is fine. When I change the detector type, nothing happens. And let's see, Ajax script. So I can then listen to change, image select, detector select, right. This is different, isn't it? That should be better. In the Ajax call, you're setting the content type application, Jason, which is correct for sending Jason payload. Okay, if this is correct, why do you mention it and you did change it, why? And this one says to not that content type. And this one is sending a content type and so which one, which one is which? This process, a fetch process image, catch, this one's taking from the form. Okay, it's not currently working so much. It take that, which is pretty much similar. Okay, now it's not working. This one was working. In the Ajax call, you're setting the content type application, Jason, which is correct for sending Jason payload. And we will call with those changes another function, add this function, and right, or there's something wrong with the code at the moment. There seems to be a mismatch in how you handle the request data in your process underscore image endpoint. The area you mentioned earlier indicates that the server expects the image data to be in the form data, but it is actually in Jason format. I'm not sure which one I should be using. Okay, can you regenerate the whole thing for us? Let's get back to the point where it was working. Yeah, this gets too complicated with the image path. Okay, point, it's stop working. Getting a four, four, four fetch detect this. Yeah, totally stuffed it up. Okay, we add the lines for a generate oldness code for the updated share script. See if it's there. Sometimes it ignores me and starts generating a code with a lot of placeholders and missing code. This one looks legit. So far, currently we have about 95 lines of code. This one is like 10 lines. I'm missing any, it doesn't look like there's any placeholders. And now can we do the same for the Python code? Yeah, we have about 125. Yes, that's ignoring me. Yes, sometimes just writing a app by kind of works, still generating. Why it's not letting me submit. I need the whole whole thing. Doesn't let me change the prompt. Okay, I will definitely hit the 50 prompts per three hour limit soon. Don't give me placeholders. Cannot swing for a right. This seems like the whole thing. Well, just jinxed it into this for me as well. But all this missing must be putting me into some sort of second tier. So after using it for a while, it becomes super slow in this era. Yeah, it meant to be at least to have the previous JavaScript and Python code. Should we just revit to it? Okay, let's try once more and we'll start a new shit in gt40 fold. Let's do the usual go through a HTML first. With that line at the end saying confirm reading the code and do not generate anything else. Sometimes it decides to ignore it like now. But what does it say? The HTML structure suggests this page is meant for feature extraction from images as indicated by the main heading less than h1 greater than. It includes meta tags for sharing on social media, a style sheet link which uses flasks UIL underscore for to generate UILs for static content, a plotly JS library for rendering charts or graphs. And it dynamically lists image files and detector types that a user can select from drop down menus. There's also a script tag at the bottom that asynchronously loads Google Ads and advertising scripts after a 10 second delay. That's right, so smart. But I ask you not to generate anything. I said confirm reading the code do not generate anything else. Sometimes it actually doesn't and other times it ignores that last line a little bit odd, but at least I know it read it. Any issues with this application? This one. However, there is an assumption that selected underscore image from the form is a file name that will be directly found within the images subfolder. If the file name doesn't exist or is incorrect, the code might not handle these cases gracefully. Okay. Right. So doing the detection is something was deprecated, but did it, right. So it is working. Harris. Fast. She, Tomasi. Okay. It's actually working. And I haven't actually changed anything. Just restarted the thing. Yeah, we don't want to change anything. The best rule of engineering. It's not broken. Don't fix it. And this one doesn't seem to work fast. Harris. She, Tomasi is working for the other image. Why is that copied across? It's a problem. Yeah. One is PNG and one is JPEG. Might be having trouble with PNG. I suspect we could turn it into JPEG. JPEG, the issue will be resolved. Currently, yeah, it's not saving the file. It's doing something. Image meant to be different. It's finding all the features. There's all the peaks, the edges. It's not doing the other ones. These three are working okay. I'm sure it has to do any errors. Lots of errors. Yeah, there's an error to begin with. Rage, if it is, line 5756 in JavaScript. Oh, that's where the error is going from. It is also, let's actually get both. And check if the file image was already up to 17 again. It seemed to work okay with JPEG. Can we turn it into JPEG? Yeah, let's change this a bit. First, get rid of all the fluff around it. Let's just do that. I'm just doing layers, spot this JPEG. Right, this one is actually working bad. I can't rid of the PNG. Maybe I still wanna implement that. This will check if the file was already processed and would not process it again. And the third process image files buff is tick the time. Turn, and now it's not working at all. And not working at all. Change the name, so what? I mean, I'm looking at it. It was working a second ago. And it didn't really work. The other thing is the default. And we name this, this one's zero. The other one should be loaded first. It's working. A few things that I would like to change. I think I'm not loading on the page reload. Very clear. Contrast should see a working okay when input is changed. I'll have a getting errors on first page load. Let's just delete the file script by mistake. It's working, just wondering about the order the arriving should come first. Where if old image is set. Well, first in the directory is fine, but I also don't understand. Just change names. Yeah, what did we? We had a old folder. Yeah, we'll be with the image compression, and old gpegs, static images. I don't know why this one's still coming first. So because I placed it in there first, it's always resorting to, that's why I don't understand why. Anyway, those are the default values. They should be fine. Cannot show if we're gonna be deploying straight away, but it's ready. Yeah, we can have this parameters available as inputs. It's finding the text, the image fastest, finding too many things. It's obviously missing that bit there, which I think will be important. Even this will be old. Just shows you how it works, nothing fancy. Probably continue next time. See you next time, bye.