2020.04-Study_update.5

week 4.27-5.3

-Study-update
-Mon复习String的方法,学习集合
-TueServlet的web.xml配置方法
-Wesjsp中文显示乱码,进行web项目尝试开发
-Thuweb开发基本流程梳理,mysql数据库乱码问题
-Frimybatis复习,spring bean注入。
-Sat复杂类型的注入
-Sunspring

4.28 Tuesday

<servlet>
    <servlet-name>regServlet</servlet-name>
    <servlet-class>org.sang.servlet.RegServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>regServlet</servlet-name>
    <url-pattern>/reg</url-pattern>
</servlet-mapping>

servlet的name与servlet-mapping的name相等。
servlet-mapping的url-pattern是访问时的名。

4.29 Wednesday

jsp最上方添加编码设置
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
注意

创建一个Maven web项目。
知识点:
JSP 
在jsp可以用<%%>包裹着java代码。
jsp引入类,<%@ page import="java.util.Date" %>
jsp定义表达式 <%! int i=12;%>可以在<%! %>中定义变量,该变量是成员变量,为该jsp类里的成员变量。
jsp内容输出表达式 <%= %> 专门用于向网页输出的表达式。
JSP表单
<form>
Servlet的url前面需要加/,不然会报错。

4.30 Thursday

mysql中文乱码

5.2 Saturday

User

/**
 * @author lzr
 * @date 2020 29 19:51
 * @description
 */
public class User {
    private int id;
    private String name;
    private Pet pet;
    public User(int id, String name, Pet pet) {
        this.id = id;
        this.name = name;
        this.pet = pet;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", pet=" + pet +
                '}';
    }

    public Pet getPet() {
        return pet;
    }

    public void setPet(Pet pet) {
        this.pet = pet;
    }

    public int getId() {
        return id;
    }

    public User() {
        System.out.println("无参数构造");
    }

    public User(int id, String name) {
        this.id = id;
        this.name = name;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void init(){
        System.out.println("init");
    }
    public void destroy(){
        System.out.println("destory");
    }
}

ApplicationContext_User

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="User" class="com.maaoooo.User.User" lazy-init="default" init-method="init" destroy-method="destroy">
        <property name="id" value="1"/>
        <property name="name" value="2"/>
<!--        <constructor-arg name="id" value="2"/>-->
<!--        <constructor-arg name="name" value="3"/>-->
    </bean>
</beans>

UserDriver

/**
 * @author lzr
 * @date 2020 29 19:53
 * @description
 */
public class UserDriver {
    public static void main(String[] args) {
        ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext("applicationContext_Injection.xml");
        User user=context.getBean(User.class);
        System.out.println(user);
        context.close();
    }
}

复杂类型的注入

<!--collection复杂类型的注入-->
    <bean name="collection" class="com.maaoooo.collection.MyCollection">
        <!-- Array-->
        <property name="array">
            <array>
                <value>123</value>
                <value>321</value>
                <ref bean="cat"/>
            </array>
        </property>
        <!-- List-->
        <property name="list">
            <list>
                <value>list</value>
                <value>list2</value>
                <ref bean="cat"/>
            </list>
        </property>
        <!-- Set-->
        <property name="set">
            <set>
                <value>1</value>
                <value>2</value>
            </set>
        </property>
        <!-- map-->
        <property name="map">
            <map>
                <entry key="1" value="2"/>
                <entry key="2" value="3"/>
            </map>
        </property>
        <!--properties-->
        <property name="properties">
            <props>
                <prop key="name">小刘</prop>
                <prop key="type">老王</prop>
            </props>
        </property>
    </bean>

用<import导入配置文件,可以便于管理。

<import resource="applicationContext_annotation.xml"/>
    <import resource="applicationContext_Injection.xml"/>
    <import resource="applicationContext_User.xml"/>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好,我可以帮您解决这个问题。首先,为了融合多张dcm图像为一张dcm图像,您可以使用Python的pydicom库来操作DICOM文件。以下是一种可能的解决方案: ```python import pydicom import numpy as np # 读取第一张dcm图像作为基准 base_file = "C:/Users/11508/Desktop/568/RI.568.0-3_1_17.dcm" base_dcm = pydicom.dcmread(base_file) # 读取所有dcm图像 file_list = ["C:/Users/11508/Desktop/568/dcm1.dcm", "C:/Users/11508/Desktop/568/dcm2.dcm", ...] # 将所有dcm图像读取为numpy数组,并将像素值存储到一个列表中 pixel_arrays = [] for file in file_list: dcm = pydicom.dcmread(file) pixel_arrays.append(dcm.pixel_array) # 将像素数组堆叠为三维数组,并计算平均值 merged_array = np.stack(pixel_arrays, axis=2) merged_pixel_array = np.mean(merged_array, axis=2, dtype=np.uint16) # 创建一个新的DICOM对象,将基准dcm的属性复制到新对象中 merged_dcm = pydicom.Dataset() merged_dcm.update(base_dcm) # 更新新对象的像素数组和相关属性 merged_dcm.PixelData = merged_pixel_array.tobytes() merged_dcm.Rows, merged_dcm.Columns = merged_pixel_array.shape merged_dcm.NumberOfFrames = 1 merged_dcm.SOPInstanceUID = pydicom.uid.generate_uid() merged_dcm.SeriesInstanceUID = pydicom.uid.generate_uid() merged_dcm.StudyInstanceUID = pydicom.uid.generate_uid() # 保存新的融合后的dcm图像 merged_file = "C:/Users/11508/Desktop/568/merged.dcm" merged_dcm.save_as(merged_file) ``` 请注意,您需要将`"C:/Users/11508/Desktop/568/dcm1.dcm"`替换为您实际的dcm图像路径,并确保安装了pydicom库。此代码将读取每个dcm图像的像素数组,将它们堆叠为三维数组,并计算所有像素的平均值作为融合后的像素数组。然后,它将创建一个新的DICOM对象,将基准dcm的属性复制到新对象中,并更新像素数组和相关属性。最后,新的融合后的dcm图像将保存在指定路径下。 希望这可以帮助到您!如果您有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值